版块导航
正在加载中...
客户端APP下载
论文辅导
调剂小程序
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(2102)
>
虫友互识
(71)
>
文献求助
(48)
>
考博
(42)
>
休闲灌水
(35)
>
导师招生
(33)
>
硕博家园
(32)
>
论文投稿
(20)
>
教师之家
(18)
>
论文道贺祈福
(16)
>
基金申请
(16)
>
公派出国
(14)
>
考研
(13)
>
有机资源
(11)
>
博后之家
(10)
>
招聘信息布告栏
(6)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
仿真模拟
»
MATLAB
»
【求助】ode45方程中的参数
5
1/1
返回列表
查看: 946 | 回复: 3
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
monitor2885
至尊木虫
(职业作家)
应助: 6
(幼儿园)
贵宾: 0.339
金币: 38890
帖子: 4965
在线: 2169.6小时
虫号: 701577
[交流]
【求助】ode45方程中的参数
function testfunction
global u1 u2
u1=[1;2;3;4;5];
u2=[6;7;8;9;10];
for i=1:5
[t,y]=ode45(@fun,[0 20],[1 2]);
z1(i)=y(:,1);
z2(i)=y(:,2);
end
function dy=fun(t,y)
global u1 u2
dy=zeros(2,1);
dy(1)=u1(i)*y(2);
dy(2)=u2(i)*(1-y(1)^2)*y(2)-y(1);
u1和u2是微分方程的参数,是5*1的数组。我要利用ode45函数运行5次,即for=1:5,第一次运行,参数u1和u2分别是1和6,即u1(1)和u2(1);第二次运行,参数u1和u2分别是2和7,即u1(2)和u2(2)……以此类推。每次运行的结果y1和y2都储存到z1和z2里面。请问,上面的程序需要哪些改动?谢谢!
回复此楼
» 猜你喜欢
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有11人回复
表哥与省会女结婚,父母去帮带孩子被省会女气回家生重病了
已经有9人回复
AI 太可怕了,写基金时,提出想法,直接生成的文字比自己想得深远,还有科学性
已经有10人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有10人回复
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有11人回复
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有11人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
如何求解描述振动的二阶微分方程
已经有21人回复
matlab拟合方程参数时初值的选择
已经有15人回复
matlab解微分方程
已经有10人回复
matlab 求指点 动力学方程拟合过程中导数的获取
已经有10人回复
matlab-常微分方程参数估计
已经有12人回复
如何用MATLAB 实现化学反应方程式(写程序代码)?
已经有20人回复
再次问如何显示function里面的变量(附论文和相应的程序)
已经有8人回复
帮帮忙看看我的难题
已经有15人回复
【求助】催化反应动力学
已经有5人回复
【求助完毕】用ode逆向求解微分方程问题
已经有4人回复
【求助】matlab怎么求解偏微分方程组啊,先谢谢了
已经有13人回复
【求助】使用Matlab预估动力学方程问题
已经有13人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
西湖大学拓扑光学、非厄米光学、太赫兹方向博士后招聘
+
2
/250
苏州国家实验室和中国科学技术大学联培博士招生
+
1
/187
西南科技大学曹克课题组招收2026级申请考核制有机化学博士研究生
+
1
/176
龙凤Tai——写给恋人的第100封情书
+
1
/98
哈工大医康学院材料模拟计算方向人才招聘
+
1
/78
好玩的不敢搞,能搞的不挣钱,能挣钱的我不会做
+
1
/67
2025难忘的时刻
+
1
/63
香港中文大学医学院 诚聘 研究助理教授 (医工结合/生物信息学方向)
+
1
/36
中国农业大学安杰课题组招聘科研助理(表现优异者可提供读博机会)
+
1
/34
上海交通大学大气环境科学课题组招收2026年入学博士生
+
1
/27
湖南大学袁达飞课题组招收第二批2026年9月入学的博士研究生一名
+
1
/26
【青岛大学】2026年生物与医药申请考核制博士生招生(含少数民族骨干人才)
+
1
/17
澳大利亚麦考瑞大学(Macquarie University)国际博士硕士全额奖学金-计算机-26年中开学
+
1
/16
香港中文大学(深圳)陈筱萌 课题组招生公告(博士 / 博后 / 硕士 / RA)
+
1
/15
中国科学技术大学环境系招生
+
1
/9
上海工程技术大学张培磊教授团队招收博士生
+
1
/8
都放假了嘛?
+
1
/7
【经验分享】CRISPR基因敲除细胞系构建全流程踩坑指南——从递送方式选择到克隆筛选
+
1
/2
太原理工大学集成电路学院院长团队招收2026年博士研究生
+
1
/2
北京信息科技大学仪器科学与光电工程学院【周哲海】教授团队招收博士研究生
+
1
/1
1楼
2011-02-07 15:00:54
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
xiegangmai
版主
(职业作家)
仿真EPI: 3
应助: 157
(高中生)
贵宾: 5.735
金币: 40609
帖子: 4046
在线: 1330.2小时
虫号: 653607
monitor2885(金币+5): cell是个做什么的函数呢 2011-02-10 02:30:53
引用回帖:
Originally posted by
monitor2885
at 2011-02-09 02:38:00:
运行对了,怎么把每次运行的结果y1和y2都储存到z1和z2里面?
因为每次计算出的结果中数组维度大小不一样,可以用cell或struct实现。
例如用cell数据:
CODE:
function testfunction
u1 = [ 1; 2; 3; 4; 5 ];
u2 = [ 6; 7; 8; 9; 10 ];
z1 = cell( 5, 1 );
z2 = cell( 5, 1 );
for i = 1 : 5
[ t, y ] = ode45(@( t, y )fun( t, y, u1( i ), u2( i ) ), [ 0 20 ], [ 1 2 ] );
z1{ i, 1 } = y( :, 1 );
z2{ i, 1 } = y( :, 2 );
plot( t, y );
hold on
end
function dy = fun( t, y, u1, u2 )
dy = zeros( 2, 1 );
dy( 1 ) = u1 * y( 2 );
dy( 2 ) = u2 * ( 1 - y( 1 ) ^ 2 ) * y( 2 ) - y( 1 );
赞
一下
回复此楼
高级回复
4楼
2011-02-09 09:21:06
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 4 个回答
xiegangmai
版主
(职业作家)
仿真EPI: 3
应助: 157
(高中生)
贵宾: 5.735
金币: 40609
帖子: 4046
在线: 1330.2小时
虫号: 653607
monitor2885(金币+5): 运行对了,怎么把每次运行的结果y1和y2都储存到z1和z2里面? 2011-02-08 03:32:41
引用回帖:
Originally posted by
monitor2885
at 2011-02-07 15:00:54:
function testfunction
global u1 u2
u1=[1;2;3;4;5];
u2=[6;7;8;9;10];
for i=1:5
[t,y]=ode45(@fun,[0 20],[1 2]);
z1(i)=y(:,1);
z2(i)=y(:,2);
end
function dy=fun(t,y)
global u1 u2
dy=zeros ...
用参数来实现吧。
CODE:
function testfunction
u1 = [ 1; 2; 3; 4; 5 ];
u2 = [ 6; 7; 8; 9; 10 ];
for i = 1 : 5
[ t, y ] = ode45(@( t, y )fun( t, y, u1( i ), u2( i ) ), [ 0 20 ], [ 1 2 ] );
% z1( i ) = y( :, 1 );
% z2( i ) = y( :, 2 );
plot( t, y );
hold on
end
function dy = fun( t, y, u1, u2 )
dy = zeros( 2, 1 );
dy( 1 ) = u1 * y( 2 );
dy( 2 ) = u2 * ( 1 - y( 1 ) ^ 2 ) * y( 2 ) - y( 1 );
赞
一下
(1人)
回复此楼
2楼
2011-02-07 18:39:46
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
monitor2885
至尊木虫
(职业作家)
应助: 6
(幼儿园)
贵宾: 0.339
金币: 38890
帖子: 4965
在线: 2169.6小时
虫号: 701577
引用回帖:
Originally posted by
xiegangmai
at 2011-02-07 18:39:46:
用参数来实现吧。
[code]
function testfunction
u1 = [ 1; 2; 3; 4; 5 ];
u2 = [ 6; 7; 8; 9; 10 ];
for i = 1 : 5
[ t, y ] = ode45(@( t, y )fun( t, y, u1( i ), u2( i ) ), [ 0 20 ], [ 1 ...
运行对了,怎么把每次运行的结果y1和y2都储存到z1和z2里面?
赞
一下
回复此楼
3楼
2011-02-09 02:38:00
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 4 个回答
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定