Скачиваний:
48
Добавлен:
23.01.2015
Размер:
55.3 Кб
Скачать
  1. Решение задачи коши для дифференциального уравнения первого порядка

    1. Задание производной независимым значением

function yp = yp(t, y)

yp = 2 * t;

end

[t,Y] = ode45('yp', [0 3], 0);

plot(t, t.^2, 'g+', t, Y, 'r')

    1. Задание производной предыдущим значением

function yp = yp(t, y)

yp = 2 * sqrt(y);

end

[t,Y] = ode45('yp', [0 3], 0);

plot(t, t.^2, 'g+', t, Y, 'r')

Такой результат получается потому что y(0) = 0, следовательно следующее значения y будет вычисляться как 2*sqrt(0) = 0. Что бы избежать этой проблемы можно задать ненулевое начальное значение:

[t,Y] = ode45('yp', [1 4], 1);

plot(t, t.^2, 'g+', t, Y, 'r')

  1. Решение задачи коши для дифференциалого уравнения больших порядков

Функция и ее производные в матлабе представляются как многомерная функция: Y(1) – сама ф-ция, Y(n) – ее (n-1) производная

Возьмем для примера уравнение второго порядка:

y’’(x) = -cos(x)

y’’ = -y

y(0) = 1

y’(0) = 0

Y'(1)=-sin(t)

Y'(2)=-Y(1)

function yp = yp3(t,y)

yp = [-sin(t); -y(1)];

end

[t,YY]=ode45('yp3',[0 2*pi],[1 0]);

plot(t,cos(t),'r+',t,YY)

plot(t,cos(t),'r+',t,YY(:,1))

Соседние файлы в папке МП-30