版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(722)
>
虫友互识
(68)
>
休闲灌水
(14)
>
考博
(10)
>
导师招生
(9)
>
基金申请
(8)
>
硕博家园
(7)
>
分子模拟
(6)
>
考研
(6)
>
博后之家
(5)
>
论文投稿
(5)
>
公派出国
(4)
>
招聘信息布告栏
(3)
>
论文道贺祈福
(2)
>
教师之家
(2)
>
催化
(2)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
仿真模拟
»
MATLAB
»
【求助】ode45方程中的参数
5
1/1
返回列表
查看: 918 | 回复: 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人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
散金
+
5
/620
南京大学能源与资源学院-景旭东教授 (英国皇家工程院院士) 团队博士后招聘
+
1
/491
限广州,征女友
+
2
/186
招聘:中国科学院山西煤炭化学研究所
+
1
/86
中国石油大学(华东)电气工程专业博士研究生招生
+
1
/77
上海交通大学任垭萌课题组招聘申请-考核博士
+
1
/77
广州,真诚找对象
+
1
/75
上海科技大学物质科学与技术学院|王平鸾课题组长期招聘(博后/博硕/科研助理)
+
1
/72
真诚找对象
+
1
/57
江西理工大学 稀土学院(发光材料与器件研究所) 招收2026届 材料类博士研究生 2名
+
2
/30
中科院理化技术研究所张飞龙研究员/王树涛研究员团队招生(博士/硕士)
+
1
/27
求助寒假实习
+
1
/20
香港科技大学 招生 2026 Fall全奖博士 -- 机械/电子/材料/化学
+
1
/14
浙江大学赵俊杰课题组长期招聘博士后及科研相关岗位启事
+
1
/11
[请教]审稿意见回复
+
1
/7
骨生物材料与侗药调控类器官再生湖南省普通高等学校重点实验室主任团队招聘了
+
5
/5
中国科学院大学-杨晗课题组-诚聘-博士后、副研究员
+
1
/4
武汉双一流高校干细胞与肿瘤生物学团队招聘2026级申请考核制博士生
+
1
/4
2026 博士自荐-机器人机构学方向
+
1
/3
[招募] 上海交通大学环境健康课题组科研实习生(环境健康与生物学大数据方向)
+
1
/1
1楼
2011-02-07 15:00:54
已阅
回复此楼
关注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的回帖
查看全部 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云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定