Как я могу применить функцию к каждой строке / столбцу матрицы в MATLAB? - PullRequest
98 голосов
/ 21 февраля 2010

Вы можете применить функцию к каждому элементу в векторе, сказав, например, v + 1, или вы можете использовать функцию arrayfun. Как я могу сделать это для каждой строки / столбца матрицы без использования цикла for?

Ответы [ 11 ]

0 голосов
/ 11 сентября 2012

Наткнулся на этот вопрос / ответ, пытаясь вычислить суммы строк матрицы.

Я просто хотел бы добавить, что SUM-функция Matlab фактически поддерживает суммирование для данного измерения, то есть стандартная матрица с двумя измерениями.

Итак, чтобы вычислить суммы столбцов, выполните:

colsum = sum(M) % or sum(M, 1)

и для сумм строк просто сделайте

rowsum = sum(M, 2)

Могу поспорить, что это быстрее, чем программирование цикла for и преобразование в ячейки:)

Все это можно найти в справке по Matlab для SUM.

...