MATLAB でこの真のスパース対称行列が与えられましたが63521x63521
、何らかの理由で、一部のコマンドで奇妙な動作をしているようです。
マトリックス ファイルまたは MATLAB コマンドの使用方法に「欠陥」があるかどうかはわかりません。
次のスクリプトを検討してください。各ステップの出力を示しました。
% Gives sparsity shown as expected, so this works fine
spy(rYbus)
% I want the top 3 singular values of rYbus. But this line Returns empty matrix! Why/
S = svds(rYbus,3);
% Set exact answer and rhs and solve the linear system with iterative and direct method
b_exact = ones(size(Ybus,1),1);
rhs = rYbus*b_exact ;
% Following line gives Warning: Matrix is singular, close to singular or badly scaled.
% Results may be inaccurate. RCOND = NaN.
% > In Ybustest at 14.
b_numerical_1 = rYbus\rhs;
% Even for a single GMRES iteration b_numerical_2 is a vector of Nans. Why?
b_numerical_2 = gmres(rYbus,rhs,[],[],1);
誰が何が間違っているのか指摘できますか?
「isnan」関数を使用して、行列 rYbus に nan がないことを確認しました。マトリックスのサイズは 63521 x 63521 です