reshape loop resulted cell array

1 view (last 30 days)
hi, the script below is supposed to result a (n,3) vector, what I got is (180,60) vector, kindley help
c1 = cell(numel(a11),1);
for ii = 1:length(L1);
for kk = 1:length(a11);
c1{ii,kk}=cross(L1(ii,:),a11(kk,:));
end
end
  2 Comments
James Tursa
James Tursa on 19 Jun 2020
It is unclear what you really want as an answer. The current code creates a cell array of all possible combinations of cross products of vectors from L1 and a11. This is what you want? But you want the result to be a matrix that is n x 3 instead of a cell array?
Oday Shahadh
Oday Shahadh on 19 Jun 2020
yes james, because furthe I need to quiver3 the resulted data

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 19 Jun 2020
result = cell2mat(c1(:))';
  3 Comments
James Tursa
James Tursa on 19 Jun 2020
Pre-allocate differently:
c1 = cell(length(L1),length(a11));

Sign in to comment.

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!