用matlab解决向前、向后和改进欧拉法求解微分方程(编写程序)

分别使用向前欧拉法、向后欧拉法与改进dy欧拉法求解微分方程(编写程序)dy/dx+y/x=sin(x)/x,y(Π)=1

在matlab中:Π用pi表示

编写程序

function [y1,y2,y3,y4]=exam4_6(a,b,k)
h=(b-a)/k;x=a:h:b;[m,n]=size(x);
y1=zeros(m,n);y2=zeros(m,n);y3=zeros(m,n);
y1(1)=1;y2(1)=1;y3(1)=1;
for i =1:n-1
    x1=x(i);x2=x(i+1);
    y1(i+1)=y1(i)+h*((sin(x1)-y1(i))/x1);
end
for i =1:n-1
    x1=x(i);x2=x(i+1);
    yy=y2(i)+h*(sin(x1)/x1-y2(i)/x1);
    y2(i+1)=y2(i)+h*(sin(x2)/x2-yy/x2);
end
for i =1:n-1
    x1=x(i);x2=x(i+1);
    z1=(sin(x1)-y3(i))/x1;
    yy=y3(i)+h*z1;
    z2=sin(x2)/x2-yy/x2;
    y3(i+1)=y3(i)+h*0.5*(z1+z2);
end
for i=1:n
    y4(i)=(exp(-x(i))*exp(pi))/2 - (2^(1/2)*cos(x(i) + pi/4))/2;
end

输入:

 [y1,y2,y3,y4]=exam4_6(pi,2*pi,5)

输出:

tian315202 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蝶天♡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值