§ 28. Віды вылічэнняў у пакеце SMath Studio

28.2. Колькаснае рашэнне ўраўненняў і сістэм

У пакеце SMath Studio лікавыя рашэнні ўраўненняў і сістэм атрымліваюцца з дапамогай спецыяльных функцый.

solve(U(x);x) — функцыя пакета SMath Studio, якая знаходзіць усе сапраўдныя карані ўраўнення на інтэрвале (–20; 20). Тут U(x) — пазначае ўраўненне, x — імя пераменнай ва ўраўненні.

Калі каранёў некалькі, то функцыя паказвае іх як вертыкальны спіс у дужках. Напрыклад,

Такі спіс называецца вектарам і з'яўляецца аналагам лінейнага масіва ў мовах праграміравання (прыклад 28.4).

Калі ўраўненне сапраўдных каранёў не мае, то формула апраўляецца чырвонай рамкай і пад ёй з'яўляецца надпіс «Действительных корней нет».

roots(S;Z;Zo) — функцыя пакета SMath Studio, якая знаходзіць адно лікавае рашэнне сістэмы ў форме вектара. Тут S — запіс сістэмы ў форме вектара, Z — вектар пераменных сістэмы, Zo — вектар пачатковага набліжэння, які з'яўляецца прыкладнай ацэнкай рашэння сістэмы.У вектары S лік кампанент задаецца лікам ўраўнанняў у сістэме. У вектарах Z і Zo лік кампанент задаецца лікам пераменных

Калі сістэма мае некалькі рашэнняў, то функцыя шукае рашэнне, бліжэйшае да Zo. Калі рашэнні сістэмы моцна адрозніваюцца ад Zo, то функцыя roots() можа рашэнне не знайсці і вывесці паведамленне «Действительных корней нет».

У SMath Studio вектары ствараюцца пры дапамозе шаблону матрыцы. Матрыца — гэта падабенства табліцы без раздзяляльных ліній. Напрыклад,

Шаблон матрыцы, які выклікаецца пстрычкай па кнопцы  Матрица на па­нэлі Матрицы. З'яўляецца дыялогавае акно.

У дыялогавым акне адразу пстрыкаем па кнопцы Вставить, бо задаваць памеры зручней іншым спосабам. На ліст выводзіцца шаблон памерам 3х3, які трэба змяніць.

Націск клавішы Пробел прыводзіць да з'яўлення рамкі з вуглавым маркерам, які і дазваляе змяняць шаблон. Памеры шаблону змяняюцца акуратным перацягваннем маркера паказальнікам мышы (прыклад 28.5). 

Прыклад 28.4. Вырашым ураўненне

  x2 + 5x – 4 = 0  

Уводзім на працоўны ліст пакета сімвалы solve(, з'яўляецца метка-запаўняльнік для аргумента функцыі і другая дужка. Уводзім ураўненне, у якім знак роўнасці ўводзіцца з клавіятуры камбінацыяй Ctrl + = або пстрычкай па кнопцы  Булево «равно» на панэлі Булева.

Далей уводзім ; і другі аргумент x.

Цяпер уводзім аператар колькаснага вылічэння (=), пакет выводзіць 2 кораня, увод завяршаем і атрымліваем.

 Прыклад 28.5. Вырашым сістэму ўраўненняў

Складзем вектар S для зададзенай сістэмы, у якой 2 ураўненні. Уводзім сімвалы S:=, а затым уводзім шаблон матрыцы і мяняем яго памеры, каб атрымаць адзін слупок з двума элементамі.

Пстрычкамі мышы і клавішамі-стрэлкамі Вправо / Влево выбіраем меткі-запаўняльнікі і ўводзім ўраўненні (знак роўнасці — Ctrl + =).

Уводзім вектар пераменных Z і вектар пачатковага набліжэння Zo з двума кампанентамі, так як у сістэме дзве пераменныя. Увядзем кампанентамі вектара Zo дзве адзінкі.


Далей уводзім функцыю roots() з аргументамі.

Затым уводзім аператар колькаснага вылічэння (=). Атрымліваем

Капіруем Zo і roots() і выводзім іх ніжэй. Мяняем кампаненты Zo на 1 і 1.

Капіруем Zo і roots() і выводзім іх ніжэй. Мяняем кампаненты Zo на —1 і —1.

Зноў капіруем. Мяняем кампаненты Zo на —1 і 1 і атрымліваем ужо вядомае рашэнне. У выніку атрымалі два рашэнні сістэмы.

Для сістэм двух лінейных ураўненняў з двума пераменнымі пакет заўсёды знаходзіць адзінае рашэнне, калі яно ёсць, і ў запісу функцыі roots() можна не паказваць аргумент Zo.