我的win7用matlab2012跑这个简单的程序出错,提示“Subscript indices must either be real positive integers or logicals.”大家帮我鉴定鉴定哪里出错了,看看是我的版本问题还是程序错误。初步估计是n{k}=find(r{k}==max(r{k})); 因为r有一组值,到n就是空矩阵了。
a3={0.2,0.5;0.3,0.67};b3={0.81,0.72;0.1,0.45};m=cell(2,2,20);
x=cell(20,1);
lumda=cell(20,1);
r=cell(20,1);
n=cell(20,1);
max=cell(20,1);
vec=cell(20,2);}
for k=1:20
for j=1:2
for i=1:2
m{i,j,k}=betarnd(a3{i,j},b3{i,j})*(9-1/9)+1/9;
m{i,i,k}=1;
end
end
end
for k=1:20
for i=1:2
for j=1:2
[x{k},lumda{k}]=eig(cell2mat(m(:,:,k)));
r{k}=abs(sum(lumda{k}));
n{k}=find(r{k}==max(r{k}));
max{k}=lumda{k}(n{k},n{k});
end
end
end