matlab while循环的使用技巧。就是输出循环的运算次数,自己试了多次,结果都是最初的i值
答案:2 悬赏:30 手机版
解决时间 2021-03-28 23:19
- 提问者网友:十年饮冰
- 2021-03-28 13:28
matlab while循环的使用技巧。就是输出循环的运算次数,自己试了多次,结果都是最初的i值
最佳答案
- 五星知识达人网友:像个废品
- 2021-03-28 13:52
怎么可能发生你说的情况呢?
贴出代码来帮你查错。
简单示例:
>> i=1;while i<=5,disp(i);i=i+1;end
1
2
3
4
5追问
代码太长,先用图片看看吧。可以么?
追答你的程序执行和具体数据有关,我不可能把图片的代码重复录入一次来试,仅作如下猜测:是否你的数组R有一部分是随下标递增的?那种情况下,while的条件不满足,循环体的i=i+1也就不会执行。
你可以试试比较下面这两小段代码:
R=10:-1:1;i=1;while R(i)>R(i+1);i=i+1,end
和
R=1:10;i=1;while R(i)>R(i+1);i=i+1,end追问不会的,因为是随着光波长单调递增的。这个是模拟光纤光栅的反射谱图,不会不单调的。追答可能你没看明白我说的意思——如果R是递增的,那么while的条件R(i)>R(i+1)就不可能满足。追问不会的,图像已经出来了,是类似贝塞尔函数一样上下变换的...追答图像出不出来和while的条件是否满足有什么关系?
while条件不满足只是你的i=i+1不执行而已,不一定会引起其他问题。
你自己设置个断点跟踪一下不就知道了?我又没你的代码。
贴出代码来帮你查错。
简单示例:
>> i=1;while i<=5,disp(i);i=i+1;end
1
2
3
4
5追问
代码太长,先用图片看看吧。可以么?
追答你的程序执行和具体数据有关,我不可能把图片的代码重复录入一次来试,仅作如下猜测:是否你的数组R有一部分是随下标递增的?那种情况下,while的条件不满足,循环体的i=i+1也就不会执行。
你可以试试比较下面这两小段代码:
R=10:-1:1;i=1;while R(i)>R(i+1);i=i+1,end
和
R=1:10;i=1;while R(i)>R(i+1);i=i+1,end追问不会的,因为是随着光波长单调递增的。这个是模拟光纤光栅的反射谱图,不会不单调的。追答可能你没看明白我说的意思——如果R是递增的,那么while的条件R(i)>R(i+1)就不可能满足。追问不会的,图像已经出来了,是类似贝塞尔函数一样上下变换的...追答图像出不出来和while的条件是否满足有什么关系?
while条件不满足只是你的i=i+1不执行而已,不一定会引起其他问题。
你自己设置个断点跟踪一下不就知道了?我又没你的代码。
全部回答
- 1楼网友:北方的南先生
- 2021-03-28 15:02
while expression
{commands}
end
是先判断后执行
只要在表达式里expression的所有元素为真就执行while和end 语句之间的{commands}
num=0;
EPS=1;
while (1+EPS)>1
EPS=EPS/2;
num=num+1;
end
{commands}
end
是先判断后执行
只要在表达式里expression的所有元素为真就执行while和end 语句之间的{commands}
num=0;
EPS=1;
while (1+EPS)>1
EPS=EPS/2;
num=num+1;
end
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯