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

9.1. Решение отдельного уравнения.

Аналитическое решение одного уравнения - оператор solve (решить). Решению можно присвоить какое-либо имя, но не рекомендуется именовать его той же неизвестной переменной. Уравнение задаётся отдельно в К-строке, оператором присвоения, или вводится в команду решения. Дополнительный параметр указывает, относительно какой величины разрешаем уравнение. Программа выводит все корни уравнения. Обратите внимание на разное место и обозначения равенства и оператора присвоения.

> eq1:=x^3-12*x^2+47*x-60=0; solve(eq1, x);

> eq2:=x^2+4=0; X:=solve(eq2, x);

Корни - мнимые.

Вычисление корней в десятичных числах (1 действительный корень, 2 - комплексных):

> y3:=x^3-6*x^2+18*x-27: eq3:=y3=0; solve(eq3, x); evalf(%);

Возможно указание интервала, на котором ищется решение.

> solve({x^2-1, x>0},[x]); solve({x^2-1, x<0},[x]);

На разных интервалах получили разные корни.

> assume(x>0); solve(x^2-1, x);

Warning, solve may be ignoring assumptions on the input variables.

Программа игнорировала условие.

> eq1:=x^3-12*x^2+47*x-60=0; assume(x<0); solve(eq1, [x]);

Warning, solve may be ignoring assumptions on the input variables.

В последнем случае решения при x<0 нет, программа учла условие, но вывела пустой список.

Графическое решение уравнения показывают точки пересечения его графика с осью абсцисс (y = 0). Их численные значения можно определить наведением курсора мыши (см. п. 8). Для двух приведённых выше уравнений:

> plot([x^3-12*x^2+47*x-60, x^2+4, y3], x=0..6, -10..10, style=[line,line,line], color=[black,red,blue]);

График 9.1. Графическое решение тех же уравнений показывает 3 действительных корня для 1-го уравнения, отсутствие действительных корней для 2-го, 1 действительный корень - для 3-го. Мнимые и комплексные корни не соответствуют никаким точкам на действительной плоскости. Область значений аргумента и функции выбрана из соображений наглядности.

Решение в общем виде с произвольными коэффициентами. Обозначение решений: sols (solutions). После общего решения производится подстановка. Её можно выполнить сразу для множества решений (как сделано ниже), а можно для какого-то одного. Для дальнейших действий с каким-либо одним решением его надо обозначить отдельным присвоением.

> y4:=a*x^2+b*x+c: eq4:=f4=0; sols:={solve(eq4, x)}; sols2:=subs([a=1,b=3,c=2],sols);

Численная проверка решения подстановкой в исходное уравнение.

> y5:=subs([a=1,b=3,c=2],y4); subs([x=-1,x=-2],y5);

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

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

График 9.2. Графическое решение eq4 c подставленными значениями коэффициентов. Легенда убрана.

>

9.2. Решение системы линейных уравнений.

Систему уравнений лучше задать отдельно, например, символом множества {..., ..., ...}. Пример: система 3-х линейных уравнений с 3-мя неизвестными (u, v, w). (Уравнения должны быть линейно независимы!)

> eqs1:={u+v+w=1, 3*u+v=3, u-2*v-w=0};

> sols:=solve(eqs1);

Обозначение sols см. 9.1. (Дальнейшее использование символа sols может оказаться некорректным!) При отсутствии решений программа возвращает ввод или вступает в диалог. Проверка решения подстановкой (уравнения обращаются в тождества):

> subs(sols, eqs1);

>