帮我看一个matlab语句,那里有错

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:30:34
%fld_values(:,i) = fld_vectors(:,Ind(i));
谢谢~
补充一下,刚才没说好,
[ld,ind]=sort(diag(fld_values)); % 对特征值进行索引排序
landa=ld(end:-1:1); % 从大到小排序
Ind=ind(end:-1:1); % 把对应的序号排序
for i=1:q
%fld_values(:,i) = fld_vectors(:,Ind(i)); % 由大到小排前 p 个特征值的特征向量
end

错误是 Attempted to access Ind(12); index out of bounds because numel(Ind)=11.
越界错误,没学过matlab不知到像这些语句Ind=ind(end:-1:1);什么意思,帮我看看,谢谢了 ,加分了!!

Ind=ind(end:-1:1);
本条命令是将向量ind反向排列,并放入Ind中。

越界要查你的index,你没有把程序贴完整,没法帮我找。

那个q是什么东西 换成 length(Ind)试试看