用龙格库塔法求解微分方程时,函数ode45中的函数参数表达方式不一样画出的图也不一样?

图1中左边是代码,画出的图左边是我用匿名函数表示的,右边是新建了函数脚本表示函数画的图,图2是函数脚本表示两个函数。请问为什么我都是表示一样的那两个函数,画出的图却不一样... 图1中左边是代码,画出的图左边是我用匿名函数表示的,右边是新建了函数脚本表示函数画的图,图2是函数脚本表示两个函数。请问为什么我都是表示一样的那两个函数,画出的图却不一样? 展开
 我来答
lhmhz
高粉答主

2020-03-21 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17020

向TA提问 私信TA
展开全部

出现如此图形不一致的错误,其主要原因是:题主想表达的函数不一致而造成的。在自定义的shier1(t,x)函数中错误地把t用x(1)来表示,而把x1和x2用x(2)来表示,这造成该函数与题主先前用句柄函数定义的函数风马不接,所以后面自定义的函数应该这样来写,即

function dy=shier1(t,x)

r=1;d=0.5;a=0.1;b=0.02;

dy=[t*(r-a*x(1));x(2)*(b*t-d)];

修改后运行后,可以得到一致的图形。

更多追问追答
追问
但是其实是我想画右边的那个图,通过创建函数文件来表示函数这个我能理解,但是我想通过@匿名函数来画右边那个图,不知道怎么改第一个图才可以正确画出第二个图。所以可以指点一下吗?我还试过fcnchk也没成功。
追答
句柄函数可以这样写:
shier1=@(t,x)[t*(r-a*x(1));x(2)*(b*t-d)];
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式