필터 지우기
필터 지우기

Convert 385*360 cell array containing 1*33 vector into 1*360 Matrix containing 385*33 double

조회 수: 5 (최근 30일)
Hi all,
I am trying to convert 385*360 cell array, with each cell containing a 1*33 vector of double values, into a 1*360 cell array containing 385*33 double values. Here is the Code (+ Annotations) that I have so far but it doesn't seem to work the way I want it to.
Any help would be appreciated, thanks!!
for i = 1:385
for j = 1:360
x = Node_all{i,j} % Node_all is the Matrix size 385*360 containing 1*33 double each
Node_complete(i,:) = x % This is the Information from each collumn summed up in 1 Matrix (385 *33)
All_Nodes_complete{j,1} = Node_complete % Now trying to put the 385*33 Matrix back into a cell (1*360)
end
end

채택된 답변

Voss
Voss 2021년 12월 22일
Here is one way to do it:
n = size(Node_all,2);
All_Nodes_complete = cell(1,n);
for j = 1:n
All_Nodes_complete{j} = vertcat(Node_all{:,j});
end
Or another way (more like the way you were trying):
[m,n] = size(Node_all);
for j = 1:n
for i = 1:m
% x = Node_all{i,j}; % Node_all is the Matrix size 385*360 containing 1*33 double each
% Node_complete(i,:) = x; % This is the Information from each collumn summed up in 1 Matrix (385 *33)
Node_complete(i,:) = Node_all{i,j};
end
All_Nodes_complete{1,j} = Node_complete; % Now trying to put the 385*33 Matrix back into a cell (1*360)
end

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by