for循环显示错误Subscripted assignment dimension mismatch matlab

时间:2014-03-26 07:36:32

标签: matlab loops for-loop dimension mismatch

嗨,有人可以告诉我为什么我无法获得第10次迭代的输出以及如何在此循环中解决此问题。

i=10; 

for ix=1:i
    V='.jpg';
    ie=num2str(ix);
    Stc(:,:)=strcat(ie,V);
    St=imread(Stc);
    u=St;
    figure(1),subplot(4,4,ix),imshow(St);
    title('original image');
    Nd(ix)=ndims(St);
    if Nd>2
        St=rgb2gray(St);
    end
end

我收到的错误是:

订阅的分配维度不匹配。 主要错误(第12行)     STC(:,:)= strcat的(即,V);

请有人告诉我获得输出的解决方案

1 个答案:

答案 0 :(得分:1)

问题是从1到9,Stc中的列数为5,其中'1.jpg','2.jpg'......'9.jpg'。但是在下一次迭代中,字符串长度变为6,带有'10 .jpg',因此无法容纳Stc。我建议您在代码中进行以下更改,然后删除或注释掉Stc行 -

St=imread(strcat(ie,V));