Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-03, 01:50   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 如何在Matlab上存储ODE的所有解决方案以获取参数的多个值

我想为参数p多个值求解ODE,最重要的是,保存所有不同值的所有解决方案。

到现在为止,我一直在使用它:

p = -200:+1:300; time = 0:.01:10; time = [0 10]; y0 = [0 0 0 0 0 0 0 0]; y = NaN(length(time),length(y0),length(p)); for i=1:length(p) [t,y(:,:,i)] = ode45(@myode,time,y0,[],p(i)); end 但是它有t预定义,这是不应该的。

我看到的一个问题是,我无法将所有时间t所有y值和p所有值存储在矩阵中,因为我无法在循环前使用变量t 。如果我改用可变time ,则将无法利用ODE45集成,该集成使用自己的dt间隔,具体取决于它将遇到的非线性。有什么方法可以让length(time)打开以增加其尺寸,以便在其中存储每次的y值?

p = -200:+1:300; time = [0 10]; y0 = [0 0 0 0 0 0 0 0]; for i=1:length(p) [t,y] = ode45(@myode,time,y0,[],p(i)); end 我将不胜感激任何建议!



更多&回答...
poster 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 04:51


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.