欧拉法求解微分方程matlab_数值计算(二十三)改进欧拉方法求解一阶常微分方程...
function sys=EulerB()%{程序功能:1、改进欧拉方法求解常微分方程2、y(n+1)=y(n)+h*f(xn,yn)%}clear,clc,close ally1=1;x1=0;x2=1;h=0.1;N=abs(x2-x1)/h; %假设得出的是一个整数y=zeros(N+1,1);x=ze...
·
function sys=EulerB()
%{
程序功能:
1、改进欧拉方法求解常微分方程
2、y(n+1)=y(n)+h*f(xn,yn)
%}
clear,clc,close all
y1=1;
x1=0;
x2=1;
h=0.1;
N=abs(x2-x1)/h; %假设得出的是一个整数
y=zeros(N+1,1);
x=zeros(N+1,1);
y(1)=y1;
x(1)=x1;
for i=1: N
x(i+1)=x1+i*h;
yp=y(i)+h*fx( x(i), y(i) );
yc=y(i)+h*fx( x(i+1), yp);
y(i+1)=(yp+yc)/2;
end
sys(:,1)=x;
sys(:,2)=y;
draw(x,y)
end
function sys=fx(x, y)
sys=y-2*x/y;
% sys=(1+x)/(1+y);
% sys=y^2*exp(-x);
end
function draw(x,y)
plot(x, y, '-o' , 'linewidth',3)
xlabel('X')
ylabel('Y')
title('The Modified Euler Solution Chart')
end
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)