Решение одиночных нелинейных уравнений
РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ И НЕРАВЕНСТВ
Для решения линейных и нелинейных уравнений в аналитическом виде используется функция
solve(eqn,var),
solve({eqn1,eqn2,…},{var1,var2,…}),
где eqn – уравнение, функцию ряда переменных, var – переменная, по которой ищется решение.
Характер решений можно изменить с помощью глобальных переменных:
- SolutionsMayBelost – при значении true даёт решение при возврате функцией solve значение NULL;
- MaxSols – задаёт максимальное число решений;
- EnvAllSolutions – при значении true задаёт выдачу всех решений.
В решениях могут встречаться следующие обозначения:
- _NN – указывает на неотрицательные решения;
- _B – указывает на решение в бинарной форме;
- _Z – указывает на то, что решение содержит целые числа.
RootOf(expt) – означает, что корни нельзя выразить в радикалах.
Функция solve старается дать решение в аналитическом виде. Для получения корней уравнения в численном виде используется функция evalf или convert. В решениях уравнений нередко появляется функция RootOf, означающая, что корни уравнения нельзя выразить в радикалах. Эта функция является эффективным способом представления решения в компактном виде. Если результат решения представлен через функцию RootOf, то получить все корни можно с помощью функции allvalues.
Решение одиночных нелинейных уравнений
Решение одиночных нелинейных уравнений вида f(x)=0 обеспечивается функцией solve(f(x),x)
Например:
> solve(x^3-2*x+1,x);
> solve(x^(3/2)=3,x);
> evalf (solve(x^(3/2)=3,x));
2,080083823
> solve(sqrt(ln(x))=2,x);
> evalf(solve(sqrt(ln(x))=2,x));
54,055815003
Часто бывает удобно представлять уравнение и его решение в виде отдельных объектов, отождествлённой с определённой переменной:
Например:
> e1:={2*x^2+x+3};
e1 := {2*x^2+x+3}
> s:=solve(e1,x);
Это позволит легко проверить решение (даже, если оно не одно), подстновкой subs:
> subs(s[1],e1);
> subs(s[2],e1);
Можно так же решать уравнения функцией solve(f1(x)=f2(x),x)
> solve(sin(x^2)-x/20,x);
> allvalues(%);
20sin(0)
> solve({exp(x)=sin(x)},x);
> allvalues(%);
Дата добавления: 2020-10-01; просмотров: 310;