octaveを使ってプログラミングをしているのですが、コンパイルしたところ、 

out of memory or dimension too large for octave's index type 

とエラーが生じました。
具体的な原因を教えていただきたいです。以下ソースコードです。

addpath('C:/Users/Downloads/DeepLearnToolbox/NN'); 
addpath('C:/Users/Downloads/DeepLearnToolbox/util'); 

fid=fopen('t10k-images-idx3-ubyte','r','b');
fread(fid,4,'int32');
test_img=fread(fid,[28*28,10000],'uint8');
test_img=test_img';
fclose(fid);

fid=fopen('t10k-labels-idx1-ubyte','r','b');
fread(fid,2,'int32');
test_lbl=fread(fid,10000,'uint8');
fclose(fid);

fid=fopen('train-images-idx3-ubyte','r','b');
fread(fid,4,'int32');
train_img=fread(fid,[28*28,60000],'uint8');
train_img=train_img';
fclose(fid);

fid=fopen('train-labels-idx1-ubyte','r','b');
fread(fid,2,'int32');
train_lbl=fread(fid,60000,'uint8');
fclose(fid);

mu=mean(train_img);
sigma=max(std(train_img),eps);
train_img=(train_img - mu)./sigma;
test_img=(test_img - mu)./sigma;
A=eye(10,10);
train_d=A(train_lbl+1,:);
test_d=A(test_lbl+1,:);

nn=nnsetup([784 100 10]);
opts.numepochs=1;
opts.batchsize=100;
z=ones(1,10);
for i=1:10
[nn,L]=nntrain(nn,train_img,train_d,opts);
pred=nnpredict(nn,test_img);
sum(pred-1==test_lbl)/10000*100;
z(1,i)=ans;
end
z
plot(z)