首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何运行不同角度的ode45

如何运行不同角度的ode45
EN

Stack Overflow用户
提问于 2014-04-18 17:30:03
回答 1查看 272关注 0票数 0

我正试图解一个二阶微分方程。我已经设法解决了一个角度(函数中有一个因素取决于一个角度)使用ode45在matlab中。在我的程序脚本中,也有与ode45的输入参数相同的角度。

我想要的是求解不同角度的方程。我用一个for -循环进行了测试,我只需在ode45中运行给定的角度(作为输入参数),这样就可以绘制出不同的曲线。但是,我不太确定它是否正确,因为我没有改变ode45解决的函数的角度。

所以问题是,对于每个循环,我是如何改变函数内部的角度的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-18 17:51:14

我相信您的问题实际上与将参数传递给ode45使用的函数有关。定义ODE右侧的函数应该以角度作为输入参数,并且应该是形式的。

代码语言:javascript
复制
f(t,y,angle)

然后,您应该将该函数包装在for循环中的另一个函数中,该函数会随着每次迭代而改变角度。例如:

代码语言:javascript
复制
for angle=linspace(0,pi,10)
    odefun = @(t,y) f(t,y,angle);
    [t_out, y_out] = ode45(odefun,[t0, tf],y0);
    plot(t_out,y_out)
end

还请参阅Mathworks中关于参数化函数的本文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23159068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档