Вход/Регистрация
Maple 9.5/10 в математике, физике и образовании
вернуться

Дьяконов Владимир Павлович

Шрифт:

> 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 неплохо справляется с решением систем линейных уравнений.

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

Функция solve может использоваться для решения систем нелинейных и трансцендентных уравнений. Для этого система уравнений и перечень неизвестных задаются в виде множеств. Ниже приведены примеры решения уравнений (файл solvenl):

> restart;

> solve{{х*у=а,x+y=b},{х,у});

у = RootOf(_Z² - _Zb + а), х = -RootOf(_Z² -_Zb + a)+b)

> allvalues(%);

> s:=solve({x*y=2,x+y=3},{x,y});

s:={y = 1, x = 2}, {y = 2, x = 1}

> assign(s); x; y;

1
2

> unassign('x'); y:= 'y';

y:= y

> [x, y];

[x,y]

В этих примерах хорошо видна техника работы с функциями solve и assign. В конце примеров показано восстановление неопределенного статуса переменных х и у с помощью функции unassign и снятие определения переменных с помощью заключения их в прямые апострофы.

Приведем еще один пример решения системы нелинейных уравнений с проверкой правильности решения с помощью функции eval:

> eqs: = {2*х+4*у=6,у+1/х=1};

> r:=solve(eqs, {х, у});

r:= {y = 2, х = -1}, {у = ½, х = 2}

> eval(eqs,r[1]);

{1 = 1, 6 = 6}

> eval(eqs,r[2]);

{1 = 1, 6 = 6}

Для проверки всех решений можно использовать также функции map и subs:

> map(subs,[r],eqs);

[{1 = 1, 6 = 6}, {1 = 1, 6 = 6}]

Maple имеет и еще ряд возможностей для проверки решений, но представленных обычно вполне достаточно для такой проверки. Ее следует принять за правило при выполнении решений уравнений.

4.8.6. Функция RootOf

В решениях уравнений нередко появляется функция RootOf, означающая, что корни нельзя выразить в радикалах. Эта функция применяется и самостоятельно в виде RootOf(expr) или RootOf(expr, х), где expr — алгебраическое выражение или равенство, х — имя переменной, относительно которой ищется решение. Если переменная х не указана, ищется универсальное решение по переменной _Z. Когда expr задано не в виде равенства, решается уравнение expr=0. Для получения решений вида RootOf в явном виде может использоваться функция allvalues.

Примеры применения функции RootOf (файл RootOf):

> RootOf(х^2+1=0,х);

RootOf (_Z² + 1)

> allvalues(%);

I, -I

> RootOf(а*b^2+а/b,b);

RootOf(_Z³ + 1)

> allvalues(%);

– 1, ½ +½I√3, ½-½I√3

> RootOf(x^3-1,x) mod 7;

RootOf(_Z³ + 6)

> allvalues(%);

– 6(1/3), ½6(1/3)– ½I√3 6(1/3), ½6(1/3) + ½I√3 6(1/3)

> evalf(%);

– 1.817120593, .9085602965-1.573672596 I, .908560296+1.573672596 I

> RootOf(х^2-2*х+1,х) mod 5;

1

Итак, функция RootOf является эффективным способом представления решения в компактном виде. Как уже отмечалось, наряду с самостоятельным применением она часто встречается в составе результатов решения нелинейных уравнений.

4.8.7. Решение уравнений со специальными функциями

К важным достоинствам Maple относится возможность решения уравнений, содержащих специальные функции как в записи исходных выражений, так и в результатах решения. Приведем несколько примеров такого рода (файл solvesf):

> restart:eqn := Psi(3*x-99) - Psi(3*x-100) + 3/х^2=0;

> r:=solve(eqn, {х});

> eqn := max(x,3*x-12)=min(10*x+8, 22-x);

  • Читать дальше
  • 1
  • ...
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: