2012-06-27 2 views
0

У меня есть матрица, и я хочу разделить ее в столбцах векторов. Я хочу иметь в качестве вывода выше векторов [a b c d e f g h k l m n o p q r s t u], а в качестве входных данных матрица A. есть идея?Разбиение матрицы на столбцы

+0

Вы уверены, что хотите это сделать? Наличие 21 отдельных имен переменных не очень полезно. –

+1

10 вопросов, и вы не приняли ** ни одного **. Нет, спасибо, проходите. –

+0

Да, я уверен об этом. Я хочу разделить на 19. Любая идея, кроме стандарта a = A (:, 1) ... –

ответ

4

Вы можете сделать это путем преобразования матрицы в массив ячеек следующим образом:

M = rand(4);   % create a 4x4 random example matrix 
C = num2cell(M,1);  % convert every column to a cell 
[a,b,c,d] = deal(C{:}); % assign to variables a...d 

В результате четырех векторов столбцов a, b, c, d. При необходимости добавьте больше букв.

Я не совсем уверен, почему вы хотели бы сделать это, хотя, я думаю, что, вероятно, более эффективно просто индексировать исходную матрицу с нужным номером столбца.

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