morrissey22 发表于 2008-3-19 02:21

请教个用循环调用ode函数解带变量的微分方程的问题

问题是这样,用ode45解下面图片中这样一个微分方程组
方程组中的k从1变化到1000,就是要循环调用1000次ode函数算一千遍这样的方程组,每次方程组中的k的值都不一样
原来调用ode都是将原方程组先编写为m文件再用ode调用即可
现在这种情况我不知道程序该怎么写,知道的朋友帮个忙想想办法吧,万分感谢!!!

sigma665 发表于 2008-3-19 09:15

回复 楼主 的帖子

最外面加个循环不可以吗

morrissey22 发表于 2008-3-19 12:22

不知道怎么加循环量k啊
原来调用都是直接=ode45('shg',,x0); 其中shg就是方程组的m文件名
现在方程组中有个k需要不断变化,调用ode的时候该怎么写呢?

梅梅 发表于 2008-3-19 12:27

我记得好像有人回答过这个问题:=ode45('shg',,x0,k); 并且shg定义时写成dydt=shg(t,y,flag,k).我写没试过,你试试看。希望对你有帮助

sogooda 发表于 2008-3-19 14:51

原帖由 梅梅 于 2008-3-19 12:27 发表 http://www.chinavib.com/forum/images/common/back.gif
我记得好像有人回答过这个问题:=ode45('shg',,x0,k); 并且shg定义时写成dydt=shg(t,y,flag,k).我写没试过,你试试看。希望对你有帮助
差不多是这样,不过我记得应该是
=ode45('shg',,x0,[],k);

定义shg同意4楼的。

morrissey22 发表于 2008-3-19 21:41

楼上朋友是对的,问题已经解决,非常感谢!
页: [1]
查看完整版本: 请教个用循环调用ode函数解带变量的微分方程的问题