n85chapt9ex4mendeuler.m

来自「MATLAB 说明您提供的文件包含的内容和具体功能(至少要20个」· M 代码 · 共 29 行

M
29
字号
function E=N85chapt9ex4MendEuler(a,b,N,ya)
%学号 20042374  姓名 钟健升   作业号  85
%p264 第4题改进EULER法
%f是微分方程右端表达式
%g是微分方程解的表达式
%a,b是区间[a,b]中的a,b
%N是等分区间的个数
syms x y
f=1-2*x*y/(1+x^2);
g=(x+1/3*x^3)/(1+x^2);
h=(b-a)/N;
y=zeros(1,N+1);
x=zeros(1,N+1);
z=zeros(1,N+1);
m=zeros(1,N+1);
y(1)=ya;
z(1)=ya;
m(1)=0;
x=a:h:b;
for i=1:N
    y1=y(i)+h*(1-2*x(i)*y(i)/(1+x(i)^2));
    y2=y(i)+h*(1-2*x(i+1)*y(i+1)/(1+x(i+1)^2));
    y(i+1)=(y1+y2)/2;
    z(i+1)=(x(i+1)+1/3*x(i+1)^3)/(1+x(i+1)^2);
     m(i+1)=z(i+1)-y(i+1);
end
E=[x',y',z',m'];
plot(x,y,'r.',x,z,'b*')

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?