Arhn - архитектура программирования

Как взять среднее значение 3D-матрицы в Matlab

У меня есть матрица (244 800,4) в виде файла .mat. В каждом слое есть NaN. Как я могу взять среднее значение каждого из этих слоев.

Так что в основном мне нужно одно среднее (всего слоя) на слой.

Спасибо

19.06.2013

  • Что вы придумали до сих пор? Вы пробовали какой-нибудь код? Пожалуйста, определите слой? Какое измерение? 20.06.2013
  • Я сделал что-то вроде этого PAR=mean(PAR(~isnan(PAR(:,:,1)))); Что дает мне правильное среднее значение для первого слоя, однако, когда я хочу переключиться на следующий слой PAR=mean(PAR(~isnan(PAR(:,:,2)))); Это дает мне NaN вместо какого-либо реального значения 20.06.2013
  • возможный дубликат взяв среднее значение матрицы с NaN в Матлаб 20.06.2013

Ответы:


1

nanmean(nanmean(matrixname)) делает свое дело, я думаю.

17.03.2015

2

Я использую для этого nanmean, но это часть панели инструментов статистики. Если у вас его нет, вам нужно свернуть свой собственный.

Вы можете разделить свои слои на массив ячеек и удалить значения NAN для каждого. Что-то вроде этого:

Mcells = arrayfun( @(x) M(:,:,x), 1:size(M,3), 'uni', false );
Mmeans = cellfun( @(x) mean(x(~isnan(x(:)))), Mcells );
19.06.2013
  • Обратите внимание, что nanmean также доступен на MATLAB File Exchange в NaN Suite. Нельзя сказать, что они реализованы одинаково. 20.06.2013
  • У меня есть пакет nanmean, однако я не знаю, как указать его на каждый отдельный слой. Я не думаю, что это может в любом случае. 20.06.2013
  • @FotacFotacy Попробуйте nanmean(reshape(M,[],size(M,3))) 20.06.2013
  • @FotacFotacy - ОПРЕДЕЛЕННО может. Прочтите справку. 20.06.2013
  • @woodchips не сам по себе - ОП хочет взять среднее значение по первому и второму измерениям. nanmean работает только в одном измерении, поэтому сначала нужно изменить форму матрицы. 20.06.2013
  • @ Пэдди, я сделал то же самое. Спасибо 20.06.2013

  • 3

    mean(mean(matrixName)) даст вам матрицу 1x1x4 среднего значения каждого «слоя» в вашей матрице. Однако вы можете сделать что-то, чтобы удалить NaN.

    19.06.2013
  • Это хороший подход, но я усредняю ​​дважды, поэтому в расчеты вносятся некоторые ошибки. 20.06.2013

  • 4

    Мы нашли простой путь к проблеме

    for ii=1:4
     a=reshape(PAR(:,:,ii),1,[]);
     b(ii)=nanmean(a);
    end
    

    Я использовал команду изменения формы. Спасибо Ханифу Хоссейни из Технологического института Джорджии.

    20.06.2013
  • Я уже дал вам лучший способ: nanmean(reshape(PAR,[],size(PAR,3))) 21.06.2013
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..