版块导航
正在加载中...
客户端APP下载
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(3030)
>
导师招生
(176)
>
虫友互识
(169)
>
文献求助
(155)
>
考博
(102)
>
硕博家园
(89)
>
休闲灌水
(82)
>
招聘信息布告栏
(64)
>
论文投稿
(54)
>
基金申请
(48)
>
博后之家
(44)
>
考研
(41)
>
公派出国
(24)
>
教师之家
(22)
>
找工作
(22)
>
论文道贺祈福
(21)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
仿真模拟
»
MATLAB
»
【求助】ode45方程中的参数
5
1/1
返回列表
查看: 996 | 回复: 3
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
monitor2885
至尊木虫
(知名作家)
应助: 6
(幼儿园)
贵宾: 0.339
金币: 39623
帖子: 5014
在线: 2175.5小时
虫号: 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里面。请问,上面的程序需要哪些改动?谢谢!
回复此楼
» 猜你喜欢
考博
已经有3人回复
有没有快的中文核心比较快录用的,纳米材料光催化
已经有4人回复
本人42,博士刚毕业,现在找不到工作,怎么办?:(
已经有21人回复
河北省自然基金
已经有6人回复
有人投过CCC中国控制会议吗?
已经有3人回复
3,4-二羟基苯乙酮如何纯化?
已经有5人回复
国基评审
已经有10人回复
2026-博士申请
已经有4人回复
考研调剂
已经有3人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
如何求解描述振动的二阶微分方程
已经有21人回复
matlab拟合方程参数时初值的选择
已经有15人回复
matlab解微分方程
已经有10人回复
matlab 求指点 动力学方程拟合过程中导数的获取
已经有10人回复
matlab-常微分方程参数估计
已经有12人回复
如何用MATLAB 实现化学反应方程式(写程序代码)?
已经有20人回复
再次问如何显示function里面的变量(附论文和相应的程序)
已经有8人回复
帮帮忙看看我的难题
已经有15人回复
【求助】催化反应动力学
已经有5人回复
【求助完毕】用ode逆向求解微分方程问题
已经有4人回复
【求助】matlab怎么求解偏微分方程组啊,先谢谢了
已经有13人回复
【求助】使用Matlab预估动力学方程问题
已经有13人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
西澳大学 环境工程 全奖博士 2027 CSC博士招生(接收联培培养博士生)
+
2
/138
香港城市大学 数据科学系+能源与环境学院 李堂华 课题组诚招全奖博士/博士后/研究助理
+
3
/132
安农大李亚辉教授招收化学、生物、农药学、植保类方向申请考核制博士生
+
3
/86
西北工业大学柔性光电转换与存储课题组诚招博士后
+
1
/75
北京-89175-事业单位-诚征女友
+
1
/68
Google ai pro 会员分享
+
1
/44
大连理工大学张硕课题组2026年秋季博士生额外招生(补招1人,有机合成/糖化学方向)
+
1
/29
上海交通大学招聘催化反应工程/能源过程系统优化控制方向博士后
+
1
/27
祝大家前程似锦
+
1
/22
大湾区大学-中山大学联培博士招生(电磁方向)
+
1
/13
澳门科技大学-超分子功能材料课题组全奖(15万MOP每年)博士生招生
+
1
/11
中科院招聘科研助理与实习生
+
1
/7
爱斯唯尔外审后显示Decision in process,不知道是不是拒稿?求助求助
+
1
/6
中科院东莞材料所招聘科研助理(长期有效)
+
1
/5
天津理工王铁教授、刘莎教授急招2026年博士研究生,还有名额,速速联系
+
1
/4
暨南大学招超表面方向博士后
+
1
/3
中山大学柔性电子方向博士招生,金属材料/材料加工工程背景
+
1
/3
中国林科院林业研究所 ,林业专业博士名额1个,截止报名日期2026年4月29日
+
1
/3
同济大学环境学院 肖倩特聘研究员课题组 招聘2027级硕士/博士
+
1
/3
深圳大学材料学院“智能分子材料团队”招聘博士后(连续流微反应器方向优先)
+
1
/2
1楼
2011-02-07 15:00:54
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
monitor2885
至尊木虫
(知名作家)
应助: 6
(幼儿园)
贵宾: 0.339
金币: 39623
帖子: 5014
在线: 2175.5小时
虫号: 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 个回答
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的回帖
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 个回答
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定