В настоящее время я работаю над проектом в Matlab, где у меня есть массив ячеек массивов ячеек. Первый массив ячеек - 464 столбца и 1 строка. Каждая из этих ячеек представляет собой еще один массив ячеек, который состоит из 96 столбцов и 365 строк. Мне нужно получить среднее значение из 96 столбцов для каждого из 464 массивов и поместить каждый из 464 массивов в другую строку в новом массиве, называемом средним. Я попытался написать код, чтобы просто сделать один столбец следующим образом:Как принять среднее значение столбцов из массива в массиве?
mean = Homes{1,1}(1:)
Но я когда-либо я пытаюсь запустить этот код, который я получил ошибку последующей:
mean = Homes{1,1}(1:)
|
Error: Unbalanced or unexpected parenthesis or bracket.
В основном мое окончательное имя массива означает, должно быть 96 столбцов на 464 строки. Я застрял и мог действительно использовать вашу помощь.
спасибо.
'(1:)', безусловно, не будет работать, вы можете попробовать '(1, :)'. Я никогда не знаю, что делать с массивом ячеек. Я думаю, если вы поместите цикл через верхний массив ячеек и назначьте каждую ячейку временной переменной, вы можете определенно получить среднее значение. –
Попробуйте использовать cellfun. Вы можете попробовать cellfun (@ mean, Homes), и это применит среднюю функцию к каждому элементу массива ячеек. – Justin
Когда я попробовал cellfun (@ mean, Homes), я получил это сообщение ... cellfun (@ mean, Homes) Неопределенная функция 'sum' для ввода аргументы типа 'cell'. Ошибка в среднем (строка 28) y = sum (x)/size (x, dim); – user2093732