Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MathCad_2000.pdf
Скачиваний:
26
Добавлен:
17.02.2016
Размер:
838.59 Кб
Скачать

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

f1(x ,y) := sin(x) + 1y F(x ,s) := f1(x ,s0)

z := rkfixed(1 ,0 ,24 ,100 ,F)

s := z 1

arg := z 0

12.3. Решение системы ОДУ первого порядка

Последовательность действий при решении системы такая же, как при решении уравнения. Исходная система уравнений должна быть представлена в форме Коши (слева производная, а справа – всё остальное).

d y0(t) 8 y0(t) + 8 y1(t) dt

d y1(t) 30 y0(t) + y1(t) y0(t) y2(t) dt

d y2(t)

 

 

y0(t) y1(t)

8

y2(t)

 

 

 

 

 

3

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

y0(0)

 

 

1

y1(0)

 

0

y2(0)

 

1

 

 

 

 

 

 

 

 

Количество уравнений и количество начальных условий должны быть равны числу неизвестных.

Сформируем символьный вектор, элементами которого будут правые части уравнений, записанные для точки (t,Y), где t – аргумент, Y – вектор решения. Элементы вектора Y соответствуют отдельным неизвестным.

62

 

8 Y0 + 8 Y1

 

 

Y0 + Y1 Y0 Y2

 

30

 

D(t ,Y) :=

 

 

8

 

 

 

Y

Y

Y

 

 

0

1

3

2

 

Определим параметры, необходимые для получения решения:

t0, t1 – начальное и конечное значения независимой переменной;

Y0 – вектор начальных условий;

N – количество шагов (при необходимости) на интервале

[t0,t1].

1

Y0 :=

0

 

t0 := 0

t1 := 10

N := 1000

 

1

 

 

 

 

 

 

 

 

 

Получим решение, вызвав одну из функций: rkfixed,

Bulstoer, Rkadapt:

S := Rkadapt(Y0 ,t0 ,t1 ,N ,D)

Выделим из матрицы решения S независимую переменную и функции y0, y1, y2, учитывая, что аргумент расположен в начальном столбце (номер 0), а функции в последующих столбцах.

t := S 0

y0 := S 1

y1 := S 2

y2 := S 3

По найденным t, y0, y1, y2 можно построить графики. Однако формирование этих векторов для построения графиков не является обязательным. Для примера создадим график по двум функциям решения, не выделяя их предварительно из матрицы

(рис. 7.).

Следует понимать, что при реализации рассмотренного метода решения системы дифференциальных уравнений, нет необходимости записывать систему и начальные условия в документе Mathcad, так как в вычислениях участвуют только параметры, заданные в используемой функции.

63

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