суббота, 7 марта 2015 г.

Maxima. Уравнения

Корни алгебраических уравнений и систем в Maxima могут быть найдены с помощью функции
solve([ур-е1, ур-у2, ... ур-еN],[x1,x2,...xN])
где в левой части перечисляются уравнения, а в правой - переменные. Функция solve() также может быть использована и для поиска решений тригонометрических уравнений, но программа возвратит только один корень.


Для системы полиномиальных уравнений может быть использована функция algsys([ур-е1, ур-у2, ... ур-еN],[x1,x2,...xN]), синтаксис которой не отличается от solve(). 
Система линейных уравнений может быть решена с помощью linsolve([ур-е1, ур-у2, ... ур-еN],[x1,x2,...xN]).
Для работы с одиночным полиномом есть ряд самостоятельных функций. Так, realroots(ур-е) находит действительные корни (с заданной точностью, если она указана), allroots(ур-е) возвращает все корни полинома, а nroots(ур-е, a, b) определяет, сколько действительных корней уравнения разместилось на интервале от a до b
Для упрощения системы уравнений может пригодиться функция eliminate([ур-е1,ур-е2,...ур-еN],[x1,x2,...xM]), которая пытается исключить из заданных выражений указанные переменные. Кстати, левая часть уравнения или неравенства может быть получена с помощью функции lhs(ур-е), правая - rhs(ур-е).
Численно найти корень x на заданном интервале [a,b] позволяет функция find_root(ур-е, x, a, b).
Система нелинейных уравнений может быть численно решена методом Ньютона с помощью функции mnewton([ур-е1, ур-е2, ... ур-еN],[x1,x2,...xN],[x01,x02,...x0N]), где x0 - начальное приближение соответствующего корня. Для работы с данной функцией необходимо загрузить пакет "mnewton".




Комментариев нет:

Отправить комментарий