概述
关于matlab 中while循环的问题?
fid=fopen('7.img','rb');
cc=fread(fid,65536,'float64');
fclose(fid);
for i=1:256
for j=1:256
C(i,j)=cc((i-1)*256+j);
end
end
A=double(C);
maxmax=max(max(A));
minmin=min(min(A));
subplot(1,2,1),imshow(A,[minmin,maxmax]);title('原图');
%以上为读一个256*256的图像文件
B=zeros(256);
B(80,80)=1;
zonghe=A(80,80);
jishu=1;
junzhi=A(80,80);
%程序至此应该都没问题
fl=1;
while fl==1
{
fl=0;
%----------------------------------------------------------
%此处提示出错:Assignment statements do not produce results.(Use == to test for equality.)
for i=1:256
for j=1:256
if((B(i+1,j)==1||B(i-1,j)==1||B(i,j+1)==1||B(i,j-1)==1)&&B(i,j)==0&&fabs(junzhi-A(i,j))<10)
{
zonghe=zonghe+A(i,j);
B(i,j)=1;
fl=1;
jishu=jishu+1;
}
end
end
junzhi=zonghe/jishu;
end
}
for i=1:256
for j=1:256
D(i,j)=A(i,j)*B(i,j);
end
end
maxmaxd=max(max(D));
minmind=min(min(D));
subplot(1,2,2),imshow(D,[minmind,maxmaxd]);title('结果图');
matlab的报错意思大概是说
fl=0;
这个不能出结果,要我用==
但我这里不是判断,是对fl重新赋值啊,matlab为什么不认?
我对matlab的语法还不是很熟悉,大多是凭C的感觉写的。
凌茜
发布
1个回答
matlab最大的特点是矩阵运算快,最大的缺点是循环速度太慢。因此能够避免循环就尽量不用循环。
n=5;%一共5行,如果想多一点就把5改大一点
a=tril(ones(n,n*2-1),n-1);
a=a+fliplr(a)-1;
disp(char(a*'*'))
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试
精华知识
最后
以上就是明亮故事为你收集整理的matlab中为什么max报错,关于matlab 中while循环的问题?的全部内容,希望文章能够帮你解决matlab中为什么max报错,关于matlab 中while循环的问题?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复