2016-05-13 3 views
0

Я создал таблицу данных со временем в одном столбце с попытками 1-10 в следующей серии столбцов. Я хочу иметь возможность извлечь максимальное значение в каждой попытке для дальнейшего анализа.Извлечение максимального значения из каждого столбца в таблице

Я попытался за стол MGA

max = max(MGA(:, [])) 

Я получаю следующее сообщение об ошибке - «Вы не можете подстрочный индекс таблицы, используя только один индекс таблицы индексацию требует как строк и переменных индексов.»

ответ

1

Прежде всего: никогда не делайте max = max();, вы перегрузите max, и вы не сможете использовать его снова.

И ответить на этот вопрос, вы можете сделать следующим образом (уведомление, что я держал значения в первых столбцах):

MGA 
MGA =  
    1  5  3  8  9 
    2  4  7  3  3 
    3  8  7  6  9 
    4  8  2  7  3 
    5  2  2  9 10 
    6  5  5 10  4 
    7  5 10  6  2 
    8  7  4  2  3 
    9  8  6  2  7 
    10  8  3  3  5 

max_values = [MGA(:,1), max(MGA(:,2:end),[],2)] 
max_values =  
    1  9 
    2  7 
    3  9 
    4  8 
    5 10 
    6 10 
    7 10 
    8  7 
    9  8 
    10  8 
+0

Предполагая, что он на самом деле имеет [таблица] (HTTP: // WWW .mathworks.com/help/matlab/tables.html) вам нужно будет индексировать 'MGA' с фигурными скобками, а конкатенация не вернет таблицу. – excaza

+0

Вы получите нечто вроде 'MGA.RowMax = max (MGA {:, 2: end}, [], 2);' – excaza