Выражение
CDF(:).cdfSR(1)
возвращает разделенный запятыми список с каждым из ii=1:895
элементов CDF(ii).cdfSR(1)
. Вы можете захватить их, используя квадратные скобки:
[CDF(:).cdfSR(1)]
эквивалентно
[CDF(1).cdfSR(1), CDF(2).cdfSR(1), CDF(3).cdfSR(1), ...]
Таким образом, код, который вы разместили, можно записать как:
[ sum([CDF(:).cdfSR(1)])/895, sum([CDF(:).cdfSR(2)])/895, ..., sum([CDF(:).cdfSR(48)])/895 ]
Но, конечно, это тоже нежизнеспособно. Поскольку CDF(ii).cdfSR
является горизонтальным вектором, я предлагаю вам объединить их по вертикали:
vertcat(CDF(:).cdfSR)
vertcat(a,b,c)
совпадает с [a;b;c]
. Вы также можете использовать cat(1,...)
.
Это приводит к двойному массиву 895x48. Вы можете взять среднее значение, используя mean
:
mean(vertcat(CDF(:).cdfSR), 1);