| 查看: 2048 | 回复: 11 | ||
[求助]
请教一下,MATLAB如何实现一次循环结束后继续下一次循环 已有2人参与
|
||
|
请教一下一次循环结束后进行下一次循环,比如自变量为t我设步长dt,从t1=0直到t2=200; 按照自变量t计算完一次循环,然后按照 t+dt 计算完下一次循环, 以此类推直至t=t2, 步数t2/dt,即循环t2/dt次 |
» 猜你喜欢
硝基苯如何除去
已经有3人回复
职称评审没过,求安慰
已经有37人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
回收溶剂求助
已经有6人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
申请26博士
已经有5人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复
xgdcgy
木虫 (著名写手)
- 应助: 20 (小学生)
- 金币: 3470.4
- 散金: 121
- 红花: 22
- 帖子: 1186
- 在线: 161小时
- 虫号: 1882079
- 注册: 2012-07-07
- 性别: GG
- 专业: 流体力学

4楼2016-07-09 16:49:40
jhl2011
新虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 424.1
- 帖子: 154
- 在线: 8.8小时
- 虫号: 3638822
- 注册: 2015-01-11
- 性别: GG
- 专业: 工程热物理与能源利用
11楼2016-07-14 08:48:45
|
clear endtime=1000; dt=0.0025; time=0; for N=endtime/dt; for i = 1:1:N time=(i-1)*dt; Y=2; if (time < 150) P=0.0; elseif ((time>=150) && (time < 160)) P =Y*(time-150)/10;%X=[2,3.95,8.1,18.66,55] elseif ((time >=160) && (time<250)) P =Y; elseif ((time>=250)&& (time<260)) inletgasmassrate = Y -Y*(time-250)/10; elseif ((time>=260)&&(time<300)) P =0; end end i=i+1; end 请教一下,这个多次循环有啥问题,问什么P值算出来是零 |
2楼2016-07-08 10:56:59
Justin147
铁杆木虫 (著名写手)
- 应助: 1 (幼儿园)
- 金币: 15014.6
- 红花: 3
- 帖子: 2952
- 在线: 139.4小时
- 虫号: 2307292
- 注册: 2013-02-28
- 性别: GG
- 专业: 地球动力学
3楼2016-07-09 08:48:56
5楼2016-07-09 23:59:35
6楼2016-07-10 00:07:38
ahdzjfa
金虫 (正式写手)
- 应助: 2 (幼儿园)
- 金币: 2917.5
- 散金: 70
- 红花: 1
- 帖子: 446
- 在线: 68.3小时
- 虫号: 3894544
- 注册: 2015-05-27
- 专业: 计算机应用技术

7楼2016-07-10 15:30:07
8楼2016-07-10 17:32:01
9楼2016-07-12 15:07:20
jhl2011
新虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 424.1
- 帖子: 154
- 在线: 8.8小时
- 虫号: 3638822
- 注册: 2015-01-11
- 性别: GG
- 专业: 工程热物理与能源利用
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
shao0722: 金币+40, ★★★★★最佳答案, 这个我已经做出来了,基本是按照你的方法做的,不过作为初学者还是能学到 2016-07-15 00:32:15
shao0722: 金币+40, ★★★★★最佳答案, 这个我已经做出来了,基本是按照你的方法做的,不过作为初学者还是能学到 2016-07-15 00:32:15
|
框架可以这样写: t1 = 0; t2 = 100; dt = 0.0025; for t = t1:dt:t2 ... end 循环次数应该是 t2/dt +1 你对matlab 中的for循环还不了解, for t = t1:dt:t2 ... end ,“t1:dt:t2”是一个向量,你可以按照需求定义;这个循环表示 t 从向量的第一个到最后一个遍历一遍,每一次都执行循环一次,所以你的i = i=i+1就 没有必要了。而且外面那个也没有必要,因为你for N=endtime/dt; 实际上N只有一个值所以就执行一次根本没有循环。 |
10楼2016-07-14 08:45:05













回复此楼
shao0722
t2-t1)/dt