如何将ODE45求解器集成在状态流中?

3次观看(最近30天)
Amardeep Mishra
Amardeep Mishra 2021年5月6日
你好!
我试图在MATLAB中构建状态流模型,其中一个图表(在状态流中)需要求解一个微分方程系统。我正在尝试将ODE45嵌入其中。但是,由于某种原因,它丢了很多错误。是否有将ODE45求解器嵌入状态流中的形式方法?请以一些链接或示例突出显示。谢谢并恭祝安康!!

答案(1)

帕文·冈莎(Pavan Guntha)
你好,阿玛迪普,
我知道问题是解决状态流中的微分方程系统。一个解决方法可能是在一个单独的'.m'文件中创建一个MATLAB函数,该文件包含用于求解微分方程的逻辑,并通过使用'声明'来调用状态流中的函数' code.extrinsic()' 。在仿真过程中,代码生成器会生成调用外部功能的代码,但不会产生函数的内部代码。您可以查看以下MATLAB代码和状态流图表。
功能[t,y] =差异化(tspan)
y0 = 0;
[t,y] = ode45(@(t,y)2*t,tspan,y0);
在以下状态流图中,该函数在状态“ ON”中被称为“ coder.extrinsic() '。
您可以参考 这个 了解更多信息 关于 coder.extrinsic ()””
希望这可以帮助!

s manbetx 845


发布

R2019b

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!