Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Свод.doc
Скачиваний:
119
Добавлен:
08.03.2016
Размер:
2.1 Mб
Скачать

9.3. Решение системы линейного и квадратного уравнений.

Надо помнить, что такая система может не иметь решения в действительных числах. Решение одной командой:

> eqs2:={y=x^2+x-6, y-x+2=0}; sols:=solve(eqs2);

Единственное решение соответствует одной точке пересечения графиков. В примере имеем 2 решения, т. к. 1 из уравнений - квадратное.

Другая запись (решение подстановкой):

> E1:=y-x+2=0; E2:=y=x^2+x-6; Y:=solve(E1,y); E3:=subs(y=Y, E2);

solve(E3,x); subs([x=-2,x=2], Y);

Получили те же 2 пары корней системы.

Графическое решение системы уравнений показывает точки пересечения их графиков.

> y1:=x-2; y2:=x^2+x-6;

> plot([y1,y2],x=-3..3);

График 9.3. Графическое решение рассмотренной выше системы линейного и квадратного уравнений показывает те же точки {x=2, y=0}, {x= -2, y= -4}.

>

9.4. Решение системы квадратных уравнений.

Такая система решается аналогично предыдущей (см. 9.3). Совместная система 2-х уравнений имеет 2 решения.

> eqs3:={y=x^2+x-6, y=-x^2}; sols3:=solve(eqs3);

> plot([x^2+x-6,-x^2,-x^2-8],x=-3..3,style=[line,line,point],color=[black,red,blue]);

График 9.4. Пунктирная кривая не пересекается с другими. Её уравнение не совместно с предыдущими и не даст действительных решений в системе с каким-либо из них.

Комплексные решения:

> eqs4:={y=x^2+x-6, y=-x^2-8}; sols4:=solve(eqs4); evalf(%);

RootOf (корень из) - символическое обозначение, с которым можно работать далее.

В некоторых случаях, также и при решении трансцендентных уравнений (см. ниже) программа по умолчанию выдаёт не все решения. Для вывода всех решений применяется дополнительный параметр AllSolutions (все решения) в команде solve.

>

10. Решение трансцендентных уравнений.

Решение уравнений содержащих простейшие трансцендентные функции. Решение в общем виде может быть выражено также через трансцендентные функции. Используется оператор solve (также fsolve - см. ниже). Решения могут быть в буквенном виде, в т. ч. содержать специальные математические константы. Окончательное вычисление (после подстановки известных величин) - команда evalf.

>

10.1. Решение одного уравнения.

Пример 1. Тригонометрические уравнения.

> sin(x)=a; X:=solve(%, x);

> eq1:=sin(2*x)=1/2; X:=solve(eq1, x); evalf(%);

Графическое решение:

> plot([sin(2*x), 1/2], x=0..4*Pi);

График 10.1. По умолчанию кривые занумерованы в порядке упоминания.

Для тригонометрических функций по умолчанию решение ищется в 1-м периоде. Множество всех решений выводится с помощью дополнительного параметра AllSolutions (см. п. 9)

> eq2:=sin(x)=0; solve(eq2, x, AllSolutions); evalf(%);

(_Z1 - условное программное обозначение произвольного целого числа; переднее нижнее тире обязательно, чтобы программа распознавала это число).

Пример 2. Логарифмическое уравнение.

> E3:=ln(x)=3; solve(E3,x); evalf(%);

Выше показано, что уравнение можно обозначить любым допустимым именем. Когда нас не интересует аналитическое решение, или программа не даёт его, можно сразу затребовать численное решение (команда fsolve):

> fsolve(E3, x);

Пример 3. Более сложные уравнения. Решения могут быть выражены через Специальные (высшие трансцендентные) функции, известные программе. Эти функции могут быть представлены графически, они табулированы и их значения могут быть вычислены.

> E4:=x-exp(-x)=0; solve(E4, x); evalf(%);

Решение выражено через специальную высшую трансцендентную функцию LambertW(x).

Графическое решение трансцендентного уравнения x - exp( -x) = 0

> plot(x-exp(-x), x=-1..3);

График 10.2. Решение соответствует пересечению функции с OX.

>