发布网友 发布时间:2024-07-13 06:31
共1个回答
热心网友 时间:2024-08-10 13:55
对于有两个可变的变量值的微分方程组时,如何用matlab求解。
我们可以通过下列途径去解决。
途径一:将t ,q,Q数据赋值给A,然后提取q,Q数据。即
t=A(:,1);q=A(:,2);Q=A(:,3);
途径二:自定义微分方程组时,应通过参数变量,将q,Q数据调入函数内。即 odefun2(t,Y,q1,Q1)
途径三:使用for循环语句,将q,Q值赋值给函数体。即
for i=1:length(q1)
t=t1(i);
Q=Q1(i);
q=q1(i);
。。。
end
途径四:使用ode45函数,求出【tdata,Ydata】值。即
[tdata,Ydata]=ode45(@(t,Y)odefun2(t,Y,q,Q),tspan,Y0)
途径五:从【tdata,Ydata】数据中,第i个的数据分别赋值给Y1,Y2。即
Ya=Ydata(:,1); Yb=Ydata(:,2);
Y1(i,1)=Ya(i); Y2(i,1)=Yb(i);
v=Y1;r=Y2;
途径六:使用plot函数,绘制plot(tdata,v,tdata,r)
完善代码,运行可以得到如下结果。本图为得到光滑曲线,t的取值为0:1:50