Вопрос Матлаба о разреженных матрицах - PullRequest
3 голосов
/ 06 марта 2011

у меня разреженная матрица S. Я выполняю следующую операцию D1 = diag(sum(S,2)), в основном образуя диагональную матрицу. Теперь мне нужно выполнить (D1)^(-0.5), но я получаю ошибку «Ошибка использования mpower, используйте full (x) ^ full (y)»

Преобразование в полное исключит цель использования разреженной матрицы.

Любой совет будет очень полезен.

1 Ответ

3 голосов
/ 06 марта 2011

Повышение диагональной матрицы до степени можно сделать, просто выполнив операцию над диагональными элементами поэлементно ... так:

D1_diagonal_elements = sum(S,2);
your_result = diag(D1_diagonal_elements .^ (-0.5));
...