Matlab for循环里的if应该怎么写?

作者&投稿:霜胞 (若有异议请与网页底部的电邮联系)
急!!matlab里for循环里进行if判断~

你最好描述下你要的程序要实现什么
现在看来,应该是你循环切换,但没走出之前的循环
我根据我对你的目的的揣测,修改如下,你看下:

shi=1:23;mode1=0;mode2=0;
ju=[0,1,1,12,4,3,9,19,8,8,0,0,0,4,5,40,9,6,40,8,8,0,0];
for i=2:length(shi)
if ju(i-1)==0&&ju(i)~=0
shic=shi(i)
elseif ju(i-1)~=0&&ju(i)==0
shif=shi(i-1)
for xun=shi(2):shif
jian(xun)=shi(xun)*ju(xun)
jia(xun)=ju(xun)/shi(xun)
if jia(xun)>=2
mode1=1;
break;
end

end
if mode1==1
shi1=shi(xun)+1
for xun1=shi1:shif
jian(xun1)=shi(xun1)
jia(xun1)=ju(xun1)/shi(xun1)
if jia(xun1)>=1
mode2=1;
break;

end
end
end
if mode2==1
shi2=shi(xun1)+1
for xun2=shi2:shif
jian(xun2)=shi(xun2)*ju(xun2)*100
end
end
end
end

1、新建一个子程序loopcolor。

2、然后是定义几个变量,都是整数型。Dim myrow As Integer Dim mycol As Integer Dim mycolor As Integer。

3、为mycolor赋值。mycolor = 0。

4、对myrow进行循环。

5、在myrow的循环里面再嵌套另外一个循环mycol。

6、再循环里面,分别选中单元格,并为这些单元格填充颜色。

7、最后运行这个程序,然后回到excle的界面,就可以看到被填充的颜色块了。

根据题主给出的流程图,其Matlab for循环里的if应该这样写:
1、首先写for循环语句,即
for 条件表达式
if 条件表达式
。。。
end
end
2、根据第一层和第二层判断条件分别写if判断语句,既
if ds==10
。。。 计算表达式
if 满足a条件式
。。。 计算表达式
continue 继续 for 循环的下一迭代
else 不满足a条件式
。。。 计算表达式
break 中断语句,跳出本循环语句的循环
end
if ds==-10
。。。 计算表达式
end
if ds==1
。。。 计算表达式
end
if ds==-1
。。。 计算表达式
end
if ds==0
。。。 计算表达式
end


固始县19337483492: 求大神解答一个matlab中的for循环嵌套if选择语句 -
燕侄希舒: 1、最后缺少一个end;2、这句输出没什么意义:disp A(i)=A(j);3、这句完全多余:else continue 给你写了一段代码供参考:% 生成测试数据 A = [randperm(19) randperm(19)+1] c = 0; % 计数器 for i=1:19 for j=20:38 if A(i)==A(j) c = c + 1; fprintf('%...

固始县19337483492: MATLAB for循环内if语句判断失败 -
燕侄希舒: 您好,反复看了看语法,没看到什么毛病,a从0.001以增量0.001递增是能够运行到0.01的,然后判断,输出lalala,完成.没看出语句有什么毛病,需要进一步调试查看检查,个人建议您将a的循环变化值存至一个数组里面,看看是否有0.01这个元素,还有就是matlab不建议使用循环语句,能够用矩阵还是优先使用矩阵,谢谢...

固始县19337483492: for循环里的if语句是怎么用的 -
燕侄希舒: 那要看你是什么语法啊,java还是c,还是kotlin.不过都差不多 for(int i=0;a>i;i++){ if(a[i] == 条件){ 满足条件 }else{ 不满足条件 } }

固始县19337483492: matlab中如何将六重for循环进行优化.里面还包含if条件.
燕侄希舒: 建议利用并行计算,速度至少提高1/3,只需要for循环中各次迭代之间无数据传递关系.做法简单: 只需要将你程序中的for更改为parfor即可,但前面需要加入如下指令: matlabpool open 记得别忘记了程序最后添加: matlabpool close 具体更改...

固始县19337483492: matlab代码 for 循环 -
燕侄希舒: for i=1:10if i~=3end endfor j=1:10 if j~=i&j~=tend end

固始县19337483492: 一个for循环中有一个if语句,当满足if的判断条件时,会执行break,这个时候是继续执行for -
燕侄希舒: break是结束整个循环体,根据你的描述应该整个循环都退出;拓展一下,如果你用的continue就是结束单次循环,只会退出if,然后继续进行for的循环!望采纳

固始县19337483492: 求助matlab for循环和if判断 -
燕侄希舒: 怎么会没用呢,break跳出的是里面的for循环,我觉得是你的iH的范围写错了,应该是 for iH = 1:1:size( HistorHist,1 ) - 1 % 1表示行数,2表示列数,% 看你的程序过程,好像应该是在行方向循环吧?这里确实是可以不用两个for循环的.

固始县19337483492: matlab中for循环体中如何修改循环变量 -
燕侄希舒: for m = 2:6for n = 1:(m-1) 运行这一步都不行的,因为第一个FOR m=2时,将进行 第二个FOR n=1:(2-1) 即for n=1:1 这个就已经停止不能运行了.所以如果你想要你的那种循环,必须m-1始终大于n才行.

固始县19337483492: matlab编程 - for循环和if语句 -
燕侄希舒: 按照你的说法,是算从0变到1的次数,而不单纯是变化(0变1或者1变0),用不着什么 for, if,直接length(find(diff(a) == 1))就可以了如果非要用for, ifs = 0;for n = 1:length(a)-1, i...

固始县19337483492: 求助 MATLAB 信号分析 for循环 ..... 求助 -
燕侄希舒: for a=1:2if a==1 data_rxp=data_rxp3(1,1:720); data_demod=demod_d(data_rxp,rate_id); end if a==2 data_rxp=data_rxp3(1,721:1440); data_demod=demod_d(data_rxp,rate_id); end end 少了个if 谢谢采纳

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网