MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]关于ode45函数的运用和理解 (https://www.labfans.com/bbs/showthread.php?t=6774)

happylll 2009-03-10 23:47

[求助]关于ode45函数的运用和理解
 
问题:1、状态方程有参数时,比如Jy''+By'=u,这个方程化为状态空间描述时,有参数u,这时的格式为[t,x]=ode45('function_name',tspan,x0,[],para);,【】的值需要通过odeset函数来设置,不知道这样理解对么?怎么设置请热心人回答。
2、ode45求解微分方程的解的时候,到底是怎么个算法?请大家解释一下如下这段程序

---------

for k=1:1:2000
time(k)=0.5*sin()2*pi*k*ts);
para=u_1;
tspan=[0 ts]; %ts=0.001

[tt,xx]=ode45('function_name',tspan,xk,[],para);
xk=xx(length(xx),:);
yout(k)=xk(1);
经过matlab验证,xx(length(xx),:)是xx中的最后一行的元素,因为只有2列,故只有2个元素,现在的问题是:
3、为何只取这最后1行的元素呢?取其中任一个不行么?xx中为何有那么多的元素呢?难道在tspan中进行计算所以有很多的解么?那么有多少个解能控制么?tspan为何一直是【0 0.001】,不是0.001k+0.001这段时间?即采样时刻加采样时间?

请热心人回答,先谢过了。


所有时间均为北京时间。现在的时间是 12:35

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.