程序如下:(复制就源野毕能运行)
t=-5:0.001:5
w=(1-t.^2/10).*exp(-t.^2/2).*cos(0.5.*t)%所脊颂要编写的公式
plot(t,w)%该公式对应的函数雹芹图
grid on
如何用MATLAB写求解微分方程组的代码?
这个代码可以按下列几个方面来写:
第燃颤亏一个,根据题主提供的微分方程组,创建其自定义函数,即内容为
dydx=ode45_fun (t,z)
x=z(1)y=z(2)
dydx1=r1*x*(1-x/K1).*x/(x+e)-q*x*y/(a+x)-m1*x
dydx2=r2*y*(1-y/K2)+e*q*x*y/(a+x)-m2*y
第二个,确定时间t的范围,如
tspan=[0,1]
第三个,确定x、y的边皮神界条件,如x(0)=0,y(0)=0
第四个,使用ode45函数,求解其方程的数值解,即
[t,z]=ode45(@ode45_fun,tspan,[0 0])
ode45函数是采用四、五阶龙格库塔法求解微分方程(组)。
第五个,使用plot函数,绘制x-t和y-t曲线图,绘制x(t) 与 y(t) 相平面图,即
plot(t,z,'b') %绘制x-t和y-t曲线图
plot(z(:,1),z(:,2),'r-') %制x(t) 与 y(t) 相平面图
完善上述洞蚂代码,运行可以得到其数值解以及图形。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)