matlab中for循环嵌套if语句
ifs1>s2fori=150:15:0;new1=AFFT(im1,i);s10=AS(new1);ifabs(s10-s2)<0.01subplot(1,2,1),i...
if s1>s2
for i=150:15:0;
new1=AFFT(im1,i);
s10=AS(new1);
if abs(s10-s2)<0.01
subplot(1,2,1),imshow(new1,[])
subplot(1,2,2),imshow(im2,[])
end
end
%%%%%%%%%
AFFT是自己写的函数,i是变量参数,利用for循环计算,然后对if中的结果进行判断,当满足后执行之后的语句并且退出所有循环,帮忙看看。
%%%%%%%%% 展开
for i=150:15:0;
new1=AFFT(im1,i);
s10=AS(new1);
if abs(s10-s2)<0.01
subplot(1,2,1),imshow(new1,[])
subplot(1,2,2),imshow(im2,[])
end
end
%%%%%%%%%
AFFT是自己写的函数,i是变量参数,利用for循环计算,然后对if中的结果进行判断,当满足后执行之后的语句并且退出所有循环,帮忙看看。
%%%%%%%%% 展开
4个回答
展开全部
不知道参数具体数值无法运行,这里给你指出编程错误。
if s1>s2
for i=150:15:0;%应修改为i=150:-15:0
new1=AFFT(im1,i);
s10=AS(new1);
if abs(s10-s2)<0.01
subplot(1,2,1),imshow(new1,[])
subplot(1,2,2),imshow(im2,[])
%这里你是否只需画一幅图?根据你的表达退出所有循环这里要加个break
end
end%最后仍缺个end
修改程序如下:
if s1>s2
for i=150:-15:0
new1=AFFT(im1,i);
s10=AS(new1);
if abs(s10-s2)<0.01
subplot(1,2,1),imshow(new1,[])
subplot(1,2,2),imshow(im2,[])
break
end
end
end
如有疑问请追问,若满意请采纳哦。
追问
谢谢你,if后面还有elseif,end在最底下。我应该是那个-15写成15的原因造成的错误。
追答
程序出错多看看错误说明,细心一点就好了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-03-06
展开全部
for循环嵌套if语句,参考实例如下:
int fun(int i,j)
{
for(i=0;i<100;i++)
{
if(i==20)
{
printf("!!!!!");
}
if(i==40)
{
printf("~~~~~~~~~~~~");
}
if(i!=20||i!=40)
{
printf("!!!!~~~~~");
}
}
}
int fun(int i,j)
{
for(i=0;i<100;i++)
{
if(i==20)
{
printf("!!!!!");
}
if(i==40)
{
printf("~~~~~~~~~~~~");
}
if(i!=20||i!=40)
{
printf("!!!!~~~~~");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
少了一个end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询