Как преобразовать матрицу в структуру со следующим выводом - PullRequest
0 голосов
/ 04 сентября 2018

Как преобразовать матрицу A в структуру B с полем x, чтобы можно было получить следующий вывод.

    A=[2 3 4; 5 1 8; 4 4 6; 7 3 9] %input matrix

%desired output
B(1).x=[2,3,4]
B(2).x=[5,1,8]
B(3).x=[4,4,6]
B(4).x=[7,3,9] 

A на самом деле является большой матрицей, и я хочу избежать цикла "for".

1 Ответ

0 голосов
/ 04 сентября 2018

Сначала используйте num2cell для преобразования A в массив ячеек, где каждая ячейка содержит одну строку A. Затем используйте cell2struct для получения вашего результата.

Bcell = num2cell(A, 2);  %
B = cell2struct(Bcell, 'x', size(A,2));

% Спасибо Будет за предложение num2cell вместо mat2cell.

...