早教吧作业答案频道 -->数学-->
MATLAB中已知系统微分方程及初始值用欧拉法和龙格库塔法解一阶微分方程
题目详情
MATLAB中已知系统微分方程及初始值用欧拉法和龙格库塔法解一阶微分方程
▼优质解答
答案和解析
function Euler
%欧拉法和龙格库塔算法解一阶常微分方程源代码
%例子dy/dx=-y+x+1
f=inline('-y+x+1','x','y'); %微分方程的右边项
dx=0.5; %x方向步长
xleft=0; %区域的左边界
xright=10; %区域的右边界
xx=xleft:dx:xright; %一系列离散的点
n=length(xx); %点的个数
y0=1;
%%(1)欧拉法
Euler=y0;
for i=2:n
Euler(i)=Euler(i-1)+dx*f(xx(i-1),Euler(i-1));
end
%%(2)龙格库塔法
RK=y0;
for i=2:n
k1=f(xx(i-1),RK(i-1));
k2=f(xx(i-1)+dx/2,RK(i-1)+k1*dx/2);
k3=f(xx(i-1)+dx/2,RK(i-1)+k2*dx/2);
k4=f(xx(i-1)+dx,RK(i-1)+k3*dx);
RK(i)=RK(i-1)+dx*(k1+2*k2+2*k3+k4)/6;
end
%%Euler和Rk法结果比较
plot(xx,Euler,xx,RK)
hold on
%精确解用作图
syms x
rightsolve=dsolve('Dy=-y+x+1','y(0)=1','x');%求出解析解
rightdata=subs(rightsolve,xx);%将xx代入解析解,得到解析解对应的数值
plot(xx,rightdata,'r*')
legend('Euler','Runge-Kutta','analytic')
%欧拉法和龙格库塔算法解一阶常微分方程源代码
%例子dy/dx=-y+x+1
f=inline('-y+x+1','x','y'); %微分方程的右边项
dx=0.5; %x方向步长
xleft=0; %区域的左边界
xright=10; %区域的右边界
xx=xleft:dx:xright; %一系列离散的点
n=length(xx); %点的个数
y0=1;
%%(1)欧拉法
Euler=y0;
for i=2:n
Euler(i)=Euler(i-1)+dx*f(xx(i-1),Euler(i-1));
end
%%(2)龙格库塔法
RK=y0;
for i=2:n
k1=f(xx(i-1),RK(i-1));
k2=f(xx(i-1)+dx/2,RK(i-1)+k1*dx/2);
k3=f(xx(i-1)+dx/2,RK(i-1)+k2*dx/2);
k4=f(xx(i-1)+dx,RK(i-1)+k3*dx);
RK(i)=RK(i-1)+dx*(k1+2*k2+2*k3+k4)/6;
end
%%Euler和Rk法结果比较
plot(xx,Euler,xx,RK)
hold on
%精确解用作图
syms x
rightsolve=dsolve('Dy=-y+x+1','y(0)=1','x');%求出解析解
rightdata=subs(rightsolve,xx);%将xx代入解析解,得到解析解对应的数值
plot(xx,rightdata,'r*')
legend('Euler','Runge-Kutta','analytic')
看了 MATLAB中已知系统微分方...的网友还看了以下:
求助过路的matlab大神,老师留作业:用两种欧拉方法解常微分方程方程是 20y"+y'+0.5y 2020-05-16 …
微积分 当x≥0时.对f(x)在【0,b】上应用拉格朗日中值定理,有f(b)-f(0)=f’(ξ) 2020-05-16 …
三阶变系数齐次微分方程的一道题今天,本人在做一道物理方面的题时,建立了模型,写出了数学表达式,但是 2020-05-17 …
有一根一端粗、一端细的原木.若将细的一端稍微抬起一些,所用拉力为F1;若将此木粗的一端稍微抬起一些 2020-06-04 …
有一根一端粗、一端细的原木.若将细的一端稍微抬起一些,所用拉力为160N;若将此木粗的一端稍微抬起 2020-06-04 …
解x^3y'''+x^2y''-4xy'=3x^2微分方程用欧拉方程方法解,但是最后特解求不出来 2020-06-30 …
有关分析力学的一道难题质量为m的质点,受重力作用,被约束在半顶角为a的圆锥面上运动.1.使用拉格朗 2020-07-23 …
解x^2y''-xy'-3y=9lnx微分方程用欧拉方程方法解,但是最后特解求不出来 2020-07-31 …
理想流体运动微分方程,即欧拉方程,以()为研究对象,根据()原理推导,各项有()物理量的量纲所以方 2020-08-02 …
证明:arctanx+arccotx=π/2这是大专的高数题,要求用微积分的方法解答,前面刚刚讲过拉 2020-11-14 …