Всего на сайте:
303 тыс. 117 статей

Главная | Математика

Примечание 3., Все уравнения системы и условия записываются в общем одномерном списке..  Просмотрен 182

Все уравнения системы и условия записываются в общем одномерном списке или множестве. Набор функций, по которым производится интегрирование системы, также записывается в виде списка или множества.

Для начала необходимо выбрать переменную, от которой зависят x и у. Она не должна иметь имя уже объявленного оператора, константы, функции или переменной, иначе это приведет к ошибке. Каким образом отменить определение пользовательской переменной описано выше (см. Синтаксис среды Maple). В нашем случае переменная t.

Решение.

>dsolve({diff(x(t),t)=2*x(t)+3*y(t),diff(y(t),t)=5*x(t)+4*y(t)},{x(t),y(t)});

4. Решить систему ОДУ , при , .

Решение.

>dsolve({diff(x(t),t)=2*x(t)+3*y(t),diff(y(t),t)=5*x(t)+4*y(t),x(0)=15,D(y)(0)=20},{x(t),y(t)});

Примечание 4. Для получения конечного результата с действительными числами используется функция evalf.

Синтаксис:

evalf(<выражение>)

evalf[n](<выражение>) или evalf(<выражение>,n)

В первом примере функция evalf преобразует все выражения к виду с действительными числами с количеством значащих цифр, определяемым в системной переменной Digits. Во втором случае используется количество цифр, определенное пользователем (n).

Изменить системную переменную Digits можно обычным присваиванием ей целочисленного значения. В результате все операции с плавающей точкой будут использовать именно такое количество значащих цифр.

Для рассматриваемого примера:

>evalf(%);

Дифференциальные уравнения можно записывать и с помощью оператора D.

Для перехода между формами записи дифференциальных уравнений используется функция convert с параметром D или diff. Рассмотрим пример программы с использованием различных форм записи.

> restart;

> a1:=diff(y(x),x$2)+13*diff(y(x),x)+10=0;

convert(%, D);

> a2:=(D@@2)(y)(x)+13*D(y)(x)+10;

convert(%, diff);

> dsolve(a2,y(x));

dsolve(a1,y(x));

Сначала производим отмену всех определений. Затем переменной а1 присваиваем значение дифференциального уравнения с использованием diff и преобразуем его к виду с использованием оператора D. После этого для сравнения переменной a2 присваиваем значение дифференциального уравнения записанного с использованием оператора D и преобразуем к виду с diff. Затем решаем поочередно оба уравнения. Результаты совпадают, следовательно, обе формы записи аналогичны.

Выражение с помощью diff можно записать так: diff(y(x),x$n). Здесь используется оператор перечисления $. Это выражение аналогично записи, где переменная x записана через запятую n раз. Аналогия с помощью оператора D выглядит следующим образом: (D@@n)(y)(x). В данном случае применяется оператор вложенности @@, т. е. сначала берется производная, а затем от нее еще производная и так n раз.

 

Предыдущая статья:Примеры решения уравнений встроенными функциями Следующая статья:Примеры численного решения ОДУ
page speed (0.0117 sec, direct)