2015-07-02 7 views
0

Я хочу получить доступ к данным в таблице с точечной записью, содержащей строки. У меня есть список строк, представляющих столбцы, представляющие интерес в таблице. Как я могу получить доступ к данным с помощью этих строк? Я хочу создать цикл, проходящий через список строк.Использование строк в точечной нотации Matlab

Например, для таблицы T У меня есть столбцы {a b c d e}. У меня есть ячейка 1x3 cols={b d e}.

Могу ли я получить данные с использованием cols в формате (или эквивалентном) T.cols(1), чтобы дать мне тот же результат, что и T.b?

ответ

3

Вы можете получить непосредственно данные, используя {фигурные скобки} и строки как индексы столбцов, как и для массива ячеек.

Например, давайте создадим фиктивный таблицу (модифицированную из документации):

clc; 
close all; 


LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'}; 
a = [38;43;38;40;49]; 
b = [71;69;64;67;64]; 
c = [176;163;131;133;119]; 
d = [124 93; 109 77; 125 83; 117 75; 122 80]; 

T = table(a,b,c,d,... 
    'RowNames',LastName) 

таблица выглядит следующим образом:

T = 

       a  b  c   d  
       __ __ ___ __________ 

    Smith  38 71 176 124  93 
    Johnson  43 69 163 109  77 
    Williams 38 64 131 125  83 
    Jones  40 67 133 117  75 
    Brown  49 64 119 122  80 

Теперь выбрать столбцы, представляющие интерес и получить данные:

%// Select columns of interest 
cols = {'a' 'c'}; 

%// Fetch data 
T{:,cols} 

ans = 

    38 176 
    43 163 
    38 131 
    40 133 
    49 119 

Yay!

+0

Perfect. Благодаря! – Mary

+0

здорово, что вы очень рады! –

+0

Знаете ли вы, можете ли вы использовать то же самое для имен переменных. например T.cols (1) = T {:, datavector} – Mary

Смежные вопросы