最近开始将平时的作业整理上传,欢迎交流。
%改进欧拉法求解常微分方程数值解
%初始条件
%dy/dx=f(x)
%y(x0)=y0
clc;clear;
f=@(x,y)1/x+1/y;%方程
x=[];y=[];%初值
x(1)=1;y(1)=1;
num=100;%迭代次数
a=1;b=50;%自变量区间
h=(b-a)/(num-1);
for i=2:num
x(i)=x(i-1)+h;
end
for i=2:num
y(i)=y(i-1)+h*f(x(i-1),y(i-1));
y(i)=y(i-1)+h*(f(x(i),y(i))+f(x(i-1),y(i-1)))/2;
end
scatter(x,y,10);