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

33. Решение тригонометрических уравнений.

Функция solve может использоваться для решения тригонометрических уравнений:

> solve (sin (х) =.2, х);

.2013579208

> solve(sin(х)-1/2,х);

> solve(cos(х)=.5, х);

1.047197551

Однако из приведенных примеров видно, что при этом найдено только одно (главное) решение. Оно ищется в интервале [-π, π]. Периодичность тригонометрических функций и связанная с этим множественность решений оказались проигнорированы. Однако можно попытаться найти все периодические решения, выполнив следующую команду:

> _EnvAllSolutions:=true;

_EnvAllSoIutions := true

Указанная в ней системная переменная отвечает за поиск всех периодических решений, когда ее значение равно true, и дает поиск только главных решений при значении false, принятом по умолчанию. Так что теперь можно получить следующее:

> solve(sin(х)=1/2,х);

Здесь вспомогательные переменные _ВI~ и _ZI~ могут иметь только целочисленные значения (знак ~ означает, что на них наложено ограничение — в нашем случае в виде целочисленности возможных значений).

На рис. 4.31 показан более сложный случай решения нелинейного уравнения видаf1(х)=f2(x), где f1(х)=sin(x) и f2(х)=cos(x)-1. Решение дано в графическом виде и в аналитическом для двух случаев — нахождения главных значений корней и нахождения всех корней. Обратите внимание на команду _EnvAllSolutions:=true задающую поиск всех корней.

Рис. 4.31. Пример решения уравнения, имеющего периодические решения

В подобных решениях встречаются переменные _В1~ и означающие ряд натуральных чисел. Благодаря этому через них можно представить периодически повторяющиеся решения.

Примеры решения уравнений с обратными тригонометрическими функциями показаны ниже:

> eqns := 2*arcsin(x) — arccos(5*x);

eqns := 2 arcsin(x) - arccos(5x)

> solve(eqns, {x});

> eqns := arccos(x) — arctan(x/2);

eqns := arccos(x) - arctan(½x)

> solve(eqns, {x});

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

Для решения систем линейных уравнений созданы мощные матричные методы, которые будут описаны отдельно в Главе 6. Однако функция solve также может успешно решать системы линейных уравнений, причем в символьном (аналитическом) виде. Такое решение в силу простоты записи функции может быть предпочтительным. Для решения система уравнений и перечень неизвестных задаются в виде множеств (см. приведенный ниже пример):

> eq1:=а*х+b*у=е; eq2:=c*x+d*y=f;

eq1 := ах + by = е eq2 := cx + dу = f

> solve({eq1,eq2},{x,y});

В данном случае решение системы из двух линейных уравнений представлено в символьном виде.

Рисунок 4.32 дает еще два примера решения систем из двух линейных уравнений на этот раз в численном виде. В первом примере функция solve возвращает решение в виде значений неизвестных x и у, а во втором отказывается это делать.

Рис. 4.32. Примеры решения системы из двух линейных уравнений с графической иллюстрацией

В чем дело? Оказывается, в том, что во втором случае система просто не имеет решения. Импликативная графика пакета расширения plots дает прекрасную возможность проиллюстрировать решение. Так, нетрудно заметить, что в первом случае геометрическая трактовка решения сводится к нахождению точки пересечения двух прямых, отображающих два уравнения. При этом имеется единственное решение, дающее значения x и у для этой точки.

Во втором случае решения и впрямь нет, ибо уравнения задают параллельно расположенные прямые, которые никогда не пересекаются. Рекомендуем читателю самостоятельно проверить и третий случай — бесконечного множества решений. Он имеет место, если оба уравнения описывают одну и ту же зависимость и их графики сливаются в одну прямую.

Решение систем из трех линейных уравнений также имеет наглядную геометрическую интерпретацию — в виде точки, в которой пересекаются три плоскости, каждая из которых описывается функцией двух переменных. Для наглядности желательно представить и линии пересечения плоскостей. Это позволяет сделать функция импликативной трехмерной графики implicitplot3d, что и показано на рис. 4.33. Для объединения графиков площадей использована функция display.

Рис. 4.33. Пример решения системы из трех линейных уравнений с графической иллюстрацией решения

Некоторые проблемы с решением систем из трех линейных уравнений иллюстрируют примеры, приведенные на рис. 4.34. В первом примере решения вообще нет. График показывает, в чем дело — линии пересечения плоскостей идут параллельно и нигде не пересекаются. Во втором примере все три плоскости пересекаются по одной линии.

Рис. 4.34. Графическая иллюстрация особых случаев решения системы из трех линейных

Следующий пример показывает решение системы из четырех линейных уравнений:

> sys := { 4*x1 + 7*х2 - х3 + 3*х4 = 11,

 -2*х1 + 2*х2 - 6*х3 4+ х4 = 4, x1 - 3*х2 + 4*x3 - х4 = -3, 3*х1 - 5*х2 - 7*х3 + 5*х4 = 8 }:

> solve(sys, {x1, х2, х3, х4});

Эта система имеет решение, но его простая графическая иллюстрация уже невозможна.

Случай решения неполной системы уравнений (уравнений — 3, а неизвестных — 4) иллюстрирует следующий пример:

> sys := { x1 + 2*х2 + 3*х3 + 4*х4 = 51,

 x1 - 3*х2 + 4*х3 + х4 = 32, х1 + 2*х2 - 6*х3 + х4 = -23 }:

> solve(sys, {x1, х2, х3, х4 });

Как видно из приведенных примеров, функция solve неплохо справляется с решением систем линейных уравнений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]