高手帮忙看下matlab中这段程序,十分感谢
fori=1:band%将Img第i波段的数据放在X的第i列temp=Img(:,:,i);X(:,i)=temp(:);end发现编译不能通过,X(:,i)这个地方出现...
for i=1:band %将Img第i波段的数据放在X的第i列
temp=Img(:,:,i);
X(:,i)=temp(:);
end
发现编译不能通过,X(:,i)这个地方出现问题,不知道怎么解决,求助各位 展开
temp=Img(:,:,i);
X(:,i)=temp(:);
end
发现编译不能通过,X(:,i)这个地方出现问题,不知道怎么解决,求助各位 展开
2个回答
展开全部
可能错在别的地方吧,我试了下,只是这一段的话,可以实现的,给你看看那我试的程序:
mg=fix(rand(25,4)*100);
band=size(mg,2);
for i=1:band
Img(:,:,i)=reshape(mg(:,i),5,5)';
end
Img
%这之前只是为了生成一个三维数据
for i=1:band %将Img第i波段的数据放在X的第i列
temp=Img(:,:,i);
X(:,i)=temp(:);
end
X
mg=fix(rand(25,4)*100);
band=size(mg,2);
for i=1:band
Img(:,:,i)=reshape(mg(:,i),5,5)';
end
Img
%这之前只是为了生成一个三维数据
for i=1:band %将Img第i波段的数据放在X的第i列
temp=Img(:,:,i);
X(:,i)=temp(:);
end
X
追问
运行没有提示错误,但是X底下打了一个红色警告波浪线:大概意思是X的大小在变化!
追答
X的大小不会变的,你把你的程序给我看看,可以发我QQ714345274;你说的可能是因为mg是随机的,每次运行X值都会变
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询