我已经为我的作业尝试了这个代码,但是我收到类型错误
??? Subscript indices must either be real positive integers or logicals.
这是我的代码:
for i = 5:200
eigvecm = eigvecm(:, end:-1:end-(int8(i)-1));
end
请指出如何完成这项工作?
答案 0 :(得分:1)
听起来非常像end-(int8(i)-1)
最终达到零或以下。收到错误后,请检查i
的值是多少,并将其与eigvecm
列的列数进行比较。
BTW如果你想要对应于第i个最大特征值的特征向量如何:
[vec, val] = eig(M);
[~, ind] = sort(diag(val), 'descend');
ind(i)
是第i个最大特征值的列号。所以要找到相应的特征向量:
vec_i = vec(:, ind(i));