Представить алгоритм решения дифференциального уравнения методом Эйлера и модифицированным методом Эйлера в виде блок-схемы.

Представить алгоритм решения дифференциального уравнения методом Эйлера и модифицированным методом Эйлера в виде блок-схемы. (Решение → 42679)

Представить алгоритм решения дифференциального уравнения методом Эйлера и модифицированным методом Эйлера в виде блок-схемы. Числовой результат можно получить с использованием решателей МАТЛАБа. Вариант 1 y'=x+cos(y/e), y1,4=2.5, [1.4;2.4]



Представить алгоритм решения дифференциального уравнения методом Эйлера и модифицированным методом Эйлера в виде блок-схемы. (Решение → 42679)

Блок-схема метода Эйлера:
Блок-схема модифицированного метода Эйлера:
Программа в MATLAB:
clear all
close all
a=1.4; b=2.4; y0=2.5;
h=0.1;%шаг
n=(b-a)/h;% число шагов

%Решение методом Эйлера
[Xe,Ye]= Euler(a,b,h,y0);
%выводим таблицу с решением
fprintf('X\t\t\t Y\t\n');
for i=1:n+1
fprintf('%f\t %f\t\n',Xe(i),Ye(i));
end
%строим график
plot(Xe, Ye);
xlabel('x')
ylabel('y')
grid on
hold on

%Решение модифицированным методом Эйлера
[XM,YM]= EulerM(a,b,h,y0);
%выводим таблицу с решением
fprintf('X\t\t\t Y\t\n');
for i=1:n+1
fprintf('%f\t %f\t\n',XM(i),YM(i));
end
%строим график
plot(XM, YM, '*-');
legend('Решение уравнения методом Эйлера','Решение модифицированным методом Эйлера','Location','northwest');


%Решение дифференциального уравнения Методом Эйлера на отрезке [a, b]
%начальное условие y0 шагом h
function [X,Y] = Euler(a,b,h,y0)

X=a:h:b;
n=(b-a)/h;
Y=zeros([1,n+1]);
Y(1)=y0;
y=y0;

for i = 1:n
Y(i+1) = Y(i)+h*f(X(i),Y(i));
end

end

%Решение дифференциального уравнения модифицированным методом Эйлера
%начальное условие y0 шагом h
function [X,Y] = EulerM(a,b,h,y0)

X=a:h:b;
n=(b-a)/h;
Y=zeros([1,n+1]);
Y(1)=y0;

for i = 1:n
y1=Y(i)+h*f(X(i),Y(i));
Y(i+1) = Y(i)+(h/2)*(f(X(i),Y(i))+f(X(i)+h,y1));
end

end

%Правая часть дифференциального уравнения y'=f(x,y)
function Z = f(x,y)
Z=x+cos(y/exp(1));
end
Результаты:
Расчётная таблица по методу Эйлера:
X Y
1.400000 2.500000
1.500000 2.700606
1.600000 2.905182
1.700000 3.113304
1.800000 3.324579
1.900000 3.538658
2.000000 3.755234
2.100000 3.974053
2.200000 4.194914
2.300000 4.417671
2.400000 4.642237
Расчётная таблица по модифицированному методу Эйлера:
X Y
1.400000 2.500000
1.500000 2.702591
1.600000 2.908878
1.700000 3.118457
1.800000 3.330962
1.900000 3.546069
2.000000 3.763507
2.100000 3.983052
2.200000 4.204537
2.300000 4.427851
2.400000 4.652940