我正在编写一个简单的程序来实现人工神经网络以使用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 回答
Matlab中的数组从索引号1开始 . 所以它抱怨你使用0值作为数组索引 . 这应该是正确的 .