【发布时间】:2011-07-09 18:10:51
【问题描述】:
我有一个稀疏矩阵 S。
我执行以下操作
D1 = diag(sum(S,2)),基本形成对角矩阵。
现在我需要执行(D1)^(-0.5),但出现错误
“使用 mpower 时出错,请使用 full(x)^full(y)”
转换为完整矩阵会破坏使用稀疏矩阵的目的。
任何建议都会很有帮助。
【问题讨论】:
标签: matlab normalization sparse-matrix
我有一个稀疏矩阵 S。
我执行以下操作
D1 = diag(sum(S,2)),基本形成对角矩阵。
现在我需要执行(D1)^(-0.5),但出现错误
“使用 mpower 时出错,请使用 full(x)^full(y)”
转换为完整矩阵会破坏使用稀疏矩阵的目的。
任何建议都会很有帮助。
【问题讨论】:
标签: matlab normalization sparse-matrix
对角矩阵的幂可以简单地通过对对角元素逐元素进行操作来完成......所以:
D1_diagonal_elements = sum(S,2);
your_result = diag(D1_diagonal_elements .^ (-0.5));
【讨论】: