Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб 6 / z1-4

.m
Скачиваний:
16
Добавлен:
24.04.2023
Размер:
2.2 Кб
Скачать
% задача 1-2. Выбрать вариант согласно номеру компьютера. Решить ОДУ,
% написав m-файл. Использовать явный метод Эйлера и метод Рунге - Кутты 4-го порядка

% начало и конец заданного отрезка
a=2;
b=2.5;
% шаг по условию
h=0.01;
x=a:h:b;
N=length(x);

% Явный метод Эйлера
n=N-1;
% новый вектор-строка значений функции для дальнейшего поиска решения ОДУ
u=zeros(1,N);
% значение функции по условию
u(1)=2;
% цикл для решения задачи Коши через замену производной на правую разностную
% производную и поиска Y_1...Y_n-1
for i=1:n
u(i+1)=u(i)+h*lab6_function_ishodnaya(x(i),u(i));
end;
% рисуем график
figure(1);
plot(x,u,'r');

% Метод Рунге-Кутта 4-го порядка
% новый вектор-строка значений функции для дальнейшего поиска решения ОДУ
u1=zeros(1,N);
% значение функции по условию
u1(1)=2;
% цикл для решения задачи Коши через формулу метода Рунге-Кутта
for i=1:n
k1=lab6_function_ishodnaya(x(i),u1(i));
k2=lab6_function_ishodnaya(x(i)+h/2,u1(i)+h*k1/2);
k3=lab6_function_ishodnaya(x(i)+h/2,u1(i)+h*k2/2);
k4=lab6_function_ishodnaya(x(i)+h,u1(i)+h*k3);
u1(i+1)=u1(i)+(k1+2*k2+2*k3+k4)*h/6;
end;
% рисуем график
figure(2);
plot(x,u1);

% задача 3-4. Решить ОДУ с использованием оператора ode45. Построить графики,
% сравнить результаты.
% через средство-оператор ode45
[x, u3] = ode45('lab6_function_ishodnaya',a:h:b,2);
% рисуем график
figure(3);
plot(x,u3,'g');

% общий график всех методов
figure(4);
plot(x,u,'y');
hold on
plot(x,u1,'g');
hold on
plot(x,u3);

Соседние файлы в папке Лаб 6