版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(584)
>
虫友互识
(61)
>
休闲灌水
(12)
>
考博
(8)
>
导师招生
(7)
>
分子模拟
(6)
>
硕博家园
(6)
>
考研
(6)
>
基金申请
(5)
>
论文投稿
(5)
>
公派出国
(4)
>
博后之家
(3)
>
招聘信息布告栏
(2)
>
教师之家
(2)
>
催化
(2)
>
数理科学综合
(1)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
仿真模拟
»
MATLAB
»
【求助】ode45方程中的参数
4
1/1
返回列表
查看: 916 | 回复: 3
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
monitor2885
至尊木虫
(职业作家)
应助: 6
(幼儿园)
贵宾: 0.339
金币: 38710.5
帖子: 4943
在线: 2167小时
虫号: 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里面。请问,上面的程序需要哪些改动?谢谢!
回复此楼
» 猜你喜欢
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
实验室接单子
已经有7人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
如何求解描述振动的二阶微分方程
已经有21人回复
matlab拟合方程参数时初值的选择
已经有15人回复
matlab解微分方程
已经有10人回复
matlab 求指点 动力学方程拟合过程中导数的获取
已经有10人回复
matlab-常微分方程参数估计
已经有12人回复
如何用MATLAB 实现化学反应方程式(写程序代码)?
已经有20人回复
再次问如何显示function里面的变量(附论文和相应的程序)
已经有8人回复
帮帮忙看看我的难题
已经有15人回复
【求助】催化反应动力学
已经有5人回复
【求助完毕】用ode逆向求解微分方程问题
已经有4人回复
【求助】matlab怎么求解偏微分方程组啊,先谢谢了
已经有13人回复
【求助】使用Matlab预估动力学方程问题
已经有13人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
限广州,征女友
+
2
/186
持续创业者,A8离异男征婚,事业遇到瓶颈,寻找创业生活伴侣
+
1
/170
供应德国EXAKT艾卡特半导体导热散热材料三辊研磨机50 PLUS
+
1
/81
北京-89175-事业单位-诚征女友
+
1
/58
真诚找对象
+
1
/57
昆士兰科技大学(QUT)博士招生信息 导师:李志勇教授
+
1
/35
江西理工大学 稀土学院(发光材料与器件研究所) 招收2026届 材料类博士研究生 2名
+
2
/30
深圳信息职业技术大学-博后招聘(优秀可留校)
+
1
/28
江西理工大学稀土学院稀土发光材料研究所招收2026届材料科学与工程专业博士研究生2名
+
2
/20
香港浸会大学化学系质谱分析测试中心招聘研究助理
+
1
/16
山东理工大学资源与环境工程学院陶东平教授课题组招收2026级博士研究生
+
1
/15
英国布里斯托大学诚招博士生和联合培养生 (近期多个博士奖学金)
+
1
/14
南京邮电大学-材料院尹超教授课题组-诚聘材料、化学、生物医学博士后(长期有效)
+
1
/13
骨生物材料与侗药调控类器官再生湖南省普通高等学校重点实验室主任团队招聘了
+
5
/10
科研党/导师看过来,强推这个自带“引文验真”的国产工具,改作业效率翻倍
+
1
/7
博士后招聘(高薪40万+)
+
1
/5
重庆医科大学-药学院-新靶标教育部医药基础研究创新中心-药物化学2026年博士招生
+
1
/3
南京邮电大学材料科学与工程学院柔性电子研究所2026年招聘公告
+
1
/3
香港中文大学(深圳)管君课题组 微纳光学方向 招收硕士、博士、博士后
+
1
/3
哈工大深圳招收26年3月份博士/博后
+
1
/3
1楼
2011-02-07 15:00:54
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
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
金币: 38710.5
帖子: 4943
在线: 2167小时
虫号: 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的回帖
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的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
monitor2885
的主题更新
4
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定