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=6533)

lanling696 2009-02-25 16:23

【求助】关于ode45的调用
 
[t,YY]=ode45('F',tspan,Y0)
其中F文件的参数的形式是不是只能是两个参量的呀?我的程序中涉及到另外的参量,写在了调用ode45的总程序中,系统总是提示没有定义这些参量,大家有没有遇到过这种问题的,给我一点提示啊,冥思苦想了好几天了:confused:

carptin 2009-02-25 16:29

回复: 【求助】关于ode45的调用
 
写清楚些,能超过两个

carptin 2009-02-25 16:37

回复: 【求助】关于ode45的调用
 
今天心情好,给你个例子好好看看 三个参数的
方程D2y-u*(1-y^2)*Dy+y=0
FUNCTION dy=myfun(x,y,u);
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=u*(1-y(1)^2)*y(2)-y(1);

如果求u=10,如下:
ode45(@myfun,[0 20],[2;0],[],[B]10)[/B]

lanling696 2009-02-28 11:21

回复: 【求助】关于ode45的调用
 
呵呵,太谢谢你啦,我好好研究一下!

mikewg 2009-03-05 09:53

回复: 【求助】关于ode45的调用
 
我在使用ode45的时候遇到更多参数的时候直接用global变量,就刚才兄弟的程序:
D2y-u*(1-y^2)*Dy+y=0

function mainfun
global u;
u=10; %这个就是你说的第三个参数
[t,y]=ode45(myfun,[t0,ty],[ya,yb]);
FUNCTION dy=myfun(x,y);
global u;
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=u*(1-y(1)^2)*y(2)-y(1);

lanling696 2009-03-11 16:35

回复: 【求助】关于ode45的调用
 
哦,这种用法我在书上见到过,但是我的第三个变量是一变化的值,这种情况下能用global定义吗?
谢谢啊!

lanling696 2009-03-11 16:40

回复: 【求助】关于ode45的调用
 
哦,这种用法我在书上见到过,但是我的第三个变量是一变化的值,这种情况下能用global定义吗?
谢谢啊!
:smile:

mikewg 2009-03-16 08:36

回复: 【求助】关于ode45的调用
 
[QUOTE=lanling696;25839]哦,这种用法我在书上见到过,但是我的第三个变量是一变化的值,这种情况下能用global定义吗?
谢谢啊!
:smile:...[/QUOTE]
可以,因为定义global后,在任何只要出现子程序中出现赋值,其直都会改变

lanling696 2009-03-24 17:27

回复: 【求助】关于ode45的调用
 
[QUOTE=mikewg;26184]可以,因为定义global后,在任何只要出现子程序中出现赋值,其直都会改变[/QUOTE]

好的,我仔细研究一下,谢谢哈!


所有时间均为北京时间。现在的时间是 03:38

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