MATLAB中for循环变量值不增加for i=1:mfor j=1:nif (i-10>=1) && (j-10>=1) && (m-i>=10) && (n-j>=10)A=I(i-10:i+10,j-10:j+10);[mm,nn]=size(A);Arow=ascend(A,1,mm*nn); %排列矩阵A中元素[b1,b2]=boundryvalue(Arow); %函数a=select_noise(A,b1,b2
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 02:54:30
MATLAB中for循环变量值不增加for i=1:mfor j=1:nif (i-10>=1) && (j-10>=1) && (m-i>=10) && (n-j>=10)A=I(i-10:i+10,j-10:j+10);[mm,nn]=size(A);Arow=ascend(A,1,mm*nn); %排列矩阵A中元素[b1,b2]=boundryvalue(Arow); %函数a=select_noise(A,b1,b2
MATLAB中for循环变量值不增加
for i=1:m
for j=1:n
if (i-10>=1) && (j-10>=1) && (m-i>=10) && (n-j>=10)
A=I(i-10:i+10,j-10:j+10);
[mm,nn]=size(A);
Arow=ascend(A,1,mm*nn); %排列矩阵A中元素
[b1,b2]=boundryvalue(Arow); %函数
a=select_noise(A,b1,b2); %函数
map(i,j)=a;
end
end
end
循环一次后,循环变量i,j值均不变,是什么原因
不好意思,程序没有问题.谁先来分就给谁吧
MATLAB中for循环变量值不增加for i=1:mfor j=1:nif (i-10>=1) && (j-10>=1) && (m-i>=10) && (n-j>=10)A=I(i-10:i+10,j-10:j+10);[mm,nn]=size(A);Arow=ascend(A,1,mm*nn); %排列矩阵A中元素[b1,b2]=boundryvalue(Arow); %函数a=select_noise(A,b1,b2
从代码看,循环后i和j没有不变的理由(除非m、n为1,循环体只执行一次,实际上没有循环).
顺便说一下,MATLAB的for循环是基于索引的,即使你在循环体里面修改控制变量i、j的值,也不会影响循环的执行次数(实际上在循环体里面修改的i、j可以看成临时创建的局部变量).