首页 文章

在Matlab中if-else条件下将元素添加到矩阵的问题

提问于
浏览
0

我正在编写一个简单的程序来实现人工神经网络以使用Matlab识别手写字符 . 我使用以下代码根据不同的字符设置目标数据 .

这是代码的一部分:

load('dataset.mat')

Target_Set=zeros(2,400); %Initialize Target array with 0s

%Set dimensions to resize
h = 50;
w = 45;
imgSize = h*w;

for j=1:4
    for i=1:10
        for k=1:10
            Temp_Struct = struct('im',imresize(handwriting(i,j,k).im,[h,w]));
            n = 100*(j-1) + 10*(i-1) + k;
            P_Set(1:imgSize,n) = reshape(Temp_Struct.im,[imgSize,1]); 

            %Set Target patterns...
            if (j==1) %When character I                   %   Target Patterns...
Line 19========>Target_Set(0,n) = 1;                     %    I   J   K   L
                Target_Set(1,n) = 0;                     %    0   1   0   1
            elseif(j==2) %When character J               %    0   0   1   1
                Target_Set(0,n) = 1;
                Target_Set(1,n)=0;
            elseif(j==3) %When character K            
                Target_Set(0,n) = 0;
                Target_Set(1,n)=1;
            else %When character L       
                Target_Set(0,n) = 1;
                Target_Set(1,n)=1;            
            end;

        end;
    end;
end;

当我运行这个时,我得到了一些这样的错误 .

我无法理解为什么在第19行发生这种错误 . 欢迎任何帮助 .

1 回答

  • 0

    Matlab中的数组从索引号1开始 . 所以它抱怨你使用0值作为数组索引 . 这应该是正确的 .

    Target_Set(1,n) = 0;
    

相关问题