matlab中 for循环是用来使一个结构循环的。
格式:
for 循环变量=表达式1:表达式2:表达式3
end
注:表达式1:循环变量初值,表达式2:步长,为1时,可省略;表达式3:循环变量终值。
或:
for循环变量=矩阵表达式
循环体
end
注:执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。
扩展资料:
其他类型的循环结构:
C语言中的循环语句:
C语言中提供四种循环,即goto循环、while循环、do…while循环和for循环。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误。
在学习中主要学习while、do…while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用。这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用。
如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。
参考资料:
参考资料:
分类: 电脑/网络 >> 软件
问题描述:
如Xn+1=(Xn+25)Xn (n=0,1,2,3,4,5)
Xo=03
求X1000是多少
解析:
x=0:1000;
x(1)=03;
因为在MATLAB的数组中没有0下标,所以从1开始即X0=X1,所求的X1000=X1001
循环语句中默认步长为1
for n=1:1000
x(n+1)=(x(n)+25)x(n);
end
x(1001)不是空的,赋值的时候出错了,我改了一点,不知道对你有用没。。
% clear;close all
I=imread('1jpg');%读入原始jpg格式图像
figure
plot(1,1)
imshow(I)
W=size(I,2); %得到图像高度
I1=rgb2gray(I);%将原图像转化为灰度图象
figure;subplot(221);
imshow(I1);title('灰度图像');
I2=medfilt2(I1);%滤波默认窗口为[3,3]
subplot(222);imshow(I2);title('中值滤波结果');
I3=filter2(fspecial('average',3),I1)/255; %模板尺寸为3
subplot(223);imshow(I3);title('均值滤波结果');
I4=wiener2(I1,[3 3]); %对图像进行二维自适应维纳滤波
subplot(224);imshow(I4); title('自适应滤波结果');
J=[I1,I2,I3,I4];%这里的矩阵为什么是空的?
for j=1:4;
Ij=J(:,1+W(j-1):Wj); %%给Ij赋值
BW1=edge(Ij,'prewitt');%边缘检测
BW2=edge(Ij,'canny');
BW3=edge(Ij,'log');
BW4=edge(Ij,'sobel');
figure;
subplot(221);imshow(BW1);title('prewitt算子');
subplot(222);imshow(BW2);title('canny算子');
subplot(223);imshow(BW3);title('laplacian算子');
subplot(224);imshow(BW4);title('sobel算子');
end
figure;subplot(121);imhist(I1);title('灰度直方图');%观察灰度直方图, 灰度200处有谷,确定阈值T=200
I5=im2bw(I1,220/255); % im2bw函数需要将灰度值转换到[0,1]范围内
subplot(122);imshow(I5);title('直方图阈值分割效果');
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)