2016-11-16 4 views
0

Я пытаюсь сохранить 1D-массив в таблицу в MATLAB. Я хотел бы, чтобы данные сохранялись в одном столбце с 5 строками данных, а не с 5 столбцами с одной строкой данных (см. Ниже).Создание одной таблицы столбцов в Matlab с использованием массива 1D?

testarray = [1:5];

testarray =

1  2  3  4  5 

t=table(testarray);

t=array2table(testarray)

t =

testarray1 testarray2 testarray3 testarray4 testarray5 
__________ __________ __________ __________ __________ 

1    2    3    4    5   

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

t =

testarray 
_________ 
1 
2 
3 
4 
5 

Если у кого есть какие-либо идеи о том, как я могу сделать эту работу, пожалуйста, дайте мне знать!

ответ

1

MATLAB's table objects ориентированы на ряд, а MATLAB не делает предположений о форме ваших данных для двусмысленного вектора.

Поскольку [1:5] является вектор-строка:

>> [1:5] 

ans = 

    1  2  3  4  5 

MATLAB, будут относиться к этому как одна строка данных.

Потому что вы хотите данные колонки-ориентированной, то вам нужно transpose этот вектор:

>> [1:5].' 

ans = 

    1 
    2 
    3 
    4 
    5 

Для того, чтобы MATLAB рассматривать его в качестве одной переменной (столбец):

>> testarray = [1:5]; 
t = table(testarray.') 

t = 

    Var1 
    ____ 

    1 
    2 
    3 
    4 
    5 
Смежные вопросы