我在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 没有任何nans。矩阵的大小为63521 x 63521
答案 0 :(得分:1)
您是否检查过您的输入稀疏矩阵rYbus是否有任何NaN?如果我没记错的话,svds会给你一个空矩阵而不是错误。
另一个可能的错误是rYbus的大小。它的大小是多少?