版块导航
正在加载中...
客户端APP下载
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(3413)
>
基金申请
(548)
>
文献求助
(141)
>
虫友互识
(72)
>
导师招生
(45)
>
硕博家园
(44)
>
考博
(39)
>
招聘信息布告栏
(38)
>
论文投稿
(37)
>
休闲灌水
(25)
>
论文道贺祈福
(16)
>
教师之家
(15)
>
绿色求助(高悬赏)
(14)
>
公派出国
(12)
>
考研
(11)
>
攻关文献(高奖励)
(10)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
仿真模拟
»
MATLAB
»
【求助】ode45方程中的参数
4
1/1
返回列表
查看: 1078 | 回复: 3
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
monitor2885
至尊木虫
(知名作家)
应助: 6
(幼儿园)
贵宾: 0.339
金币: 39918.5
帖子: 5046
在线: 2183.1小时
虫号: 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里面。请问,上面的程序需要哪些改动?谢谢!
回复此楼
» 猜你喜欢
生命口C13面上会评时间
已经有8人回复
你可曾有过这种感受?
已经有6人回复
小木虫没落了,除了祈祷帖子,几乎看不到有价值的帖子
已经有8人回复
农业机械学报投稿周期
已经有7人回复
国自然面上D口祈祷
已经有4人回复
跨出版社商投稿
已经有4人回复
内心匮乏
已经有12人回复
没收到消息,再次陪跑
已经有3人回复
E口会评
已经有10人回复
不要再数国自然申请书的 filecode 的分隔符个数了
已经有20人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
如何求解描述振动的二阶微分方程
已经有21人回复
matlab拟合方程参数时初值的选择
已经有15人回复
matlab解微分方程
已经有10人回复
matlab 求指点 动力学方程拟合过程中导数的获取
已经有10人回复
matlab-常微分方程参数估计
已经有12人回复
如何用MATLAB 实现化学反应方程式(写程序代码)?
已经有20人回复
再次问如何显示function里面的变量(附论文和相应的程序)
已经有8人回复
帮帮忙看看我的难题
已经有15人回复
【求助】催化反应动力学
已经有5人回复
【求助完毕】用ode逆向求解微分方程问题
已经有4人回复
【求助】matlab怎么求解偏微分方程组啊,先谢谢了
已经有13人回复
【求助】使用Matlab预估动力学方程问题
已经有13人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
🙏 🙏 🙏
+
5
/603
北京工业大学材料科学与工程学院李建荣教授课题组诚聘电池相关领域应届毕业生和博士后
+
1
/584
苏州B+—>C轮 胶带/胶黏剂公司 双休 食宿免 空调洁净室聘胶带研发
+
3
/285
中南大学材料科学与工程学院招收2027年博士研究生(1-2名)
+
1
/124
BBC儿童英语科普《Do you know》高清英字,培养思考习惯,非常好的启蒙科普片!
+
1
/88
中山大学医学院(深圳)招聘科研助理(生物信息学方向)
+
1
/80
复旦大学李鹏课题组/香港理工大学马凯凯联合培养博士
+
1
/67
祈福,求顺利!
+
1
/45
海南大学化学院,招聘2026科研助理,博士,博士后
+
1
/28
中国科学院赣江创新研究院李庭刚研究员团队招收与江西理工大学联合培养博士生
+
1
/27
北京理工大学-集成电路与电子学院杰青团队-招博士后
+
1
/8
北京理工大学-集成电路与电子学院杰青团队-招博士后
+
1
/7
双一流高校招收博士(现代技术管理/环境技术经济管理)及硕士研究生(长期有效)
+
1
/6
北理工集成电路杰青团队 | 诚招科助理
+
1
/6
Urgent!知名外资仪器厂家急招Application Scientist(2名,售前,SH)
+
1
/6
北京科技大学能源与环境工程学院 博士、博士后招聘启事
+
1
/5
从终点判断到机制解析:多因子检测技术重塑药物毒理研究格局
+
1
/5
南科大医学院神经胶质细胞课题组招收2027年入学博士生和博士后
+
1
/3
北师大(珠海)环境辐射与健康方向招聘博士后启事
+
1
/2
上海交通大学高杨课题组招聘研究助理
+
1
/2
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
金币: 39918.5
帖子: 5046
在线: 2183.1小时
虫号: 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云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定