查看完整版本 : 【求助】关于ode45的调用
lanling696
2009-02-25, 16:23
[t,YY]=ode45('F',tspan,Y0)
其中F文件的参数的形式是不是只能是两个参量的呀?我的程序中涉及到另外的参量,写在了调用ode45的总程序中,系统总是提示没有定义这些参量,大家有没有遇到过这种问题的,给我一点提示啊,冥思苦想了好几天了:confused:
今天心情好,给你个例子好好看看 三个参数的
方程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],[],10)
lanling696
2009-02-28, 11:21
呵呵,太谢谢你啦,我好好研究一下!
我在使用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
哦,这种用法我在书上见到过,但是我的第三个变量是一变化的值,这种情况下能用global定义吗?
谢谢啊!
lanling696
2009-03-11, 16:40
哦,这种用法我在书上见到过,但是我的第三个变量是一变化的值,这种情况下能用global定义吗?
谢谢啊!
:smile:
哦,这种用法我在书上见到过,但是我的第三个变量是一变化的值,这种情况下能用global定义吗?
谢谢啊!
:smile:...
可以,因为定义global后,在任何只要出现子程序中出现赋值,其直都会改变
lanling696
2009-03-24, 17:27
可以,因为定义global后,在任何只要出现子程序中出现赋值,其直都会改变
好的,我仔细研究一下,谢谢哈!
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.