2016-04-29 5 views
-2

У меня есть следующая структура ячейки (размер 30 * 1), важно отметить, что это массив ячеек, состоящий из чисел и NOT строк.MATLAB: как разбить и перенести массив ячеек?

Что я хочу сделать, так это разбить его в соответствии с «,», поэтому каждое другое число должно занимать неповторимый столбец. Как это:

CELL SPLIT

После этого, я хочу, чтобы перенести все цифры, поэтому я хочу, чтобы иметь окончательный размер матрицы (7 * 30)

CELL TRANSPOSE

Может кто-нибудь мне помочь решить это?

Заранее благодарен!

+0

Можете ли вы опубликовать данные лучшего примера? Возможно, меньший бит данных фактически набирается в ваш вопрос, а не использует скриншоты. Я не могу их прочитать. – Suever

+0

да, пусть a = {12,13,14,45; 4,8, nan, nan; 450,2,14, nan} И я хочу создать матрицу B [12 13 14 45; 4 8 NaN NaN; 450 2 14 NaN] размер 3 * 4, а затем я хочу перенести его на C [12 4 450; 13 8 2; 14 NaN 14; 45 NaN NaN] размер 4 * 3.Thanks много @Suever – angelavtc

ответ

0

Это моя версия решения, распечатать это в окне команд в Matlab:

>> a={12,13,14,45;4,8,nan,nan;450,2,14,nan}; %% cell array 
>> b=cell2mat(a); %% convert cell array to ordinary array of the underlying data type 
>> c=transpose(b) %% transpose matrix b (or use the following syntax b.') 

Некоторые полезные ссылки:

  1. cell2mat
  2. transpose

Надеюсь, это поможет. С наилучшими пожеланиями.