2013-05-14 3 views
3

У меня есть один размерный массив, и мне нужно рассчитать его среднее значение.Среднее из двухмерных массивов

Я пробовал:

A = mean(mean(PSNRarr,2),2)

, но я получаю сообщение об ошибке.

Если кто-то знает, как заставить его работать, это будет здорово!

ответ

4

Попробуйте

mean(mean(PSNRarr)) 

более символов, чтобы получить более SO минимум.

+1

+ 1 для компактного, но хорошего ответа и последнего комментария: D –

+0

Я пробовал это, но я получаю: ??? Неопределенная функция или метод 'sum' для входных аргументов типа 'cell'. Ошибка в ==> означает значение 28 y = sum (x)/size (x, dim); Ошибка в ==> Демо на 157 AvgPSNR = среднее (среднее значение (PSNRarr)); – user1673206

+0

им жаль. оно работает! мой плохой ... – user1673206

5

Самый простой способ, который работает для любого количества измерений (при условии, что это регулярная матрица):

mean(PSNRarr(:)) 

Однако, если у вас есть массив ячеек с числами, попробуйте:

mean(mean(cell2mat(PSNRarr))) 
+0

+1: Я думаю, что ваше решение лучше; гораздо меньше вычислительных усилий, более элегантный. В последнем случае вы могли бы даже сделать 'mean ([PSNRarr {:}])' (в зависимости от специфики 'PSNRarr'). –

+1

Я думаю, что этот ответ тоже лучше. –