Info

This question is closed. Reopen it to edit or answer.

matrix shape is incorrect??

1 view (last 30 days)
Kevin
Kevin on 24 Jul 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi, I have the following code which will give me values of F along a plane surface. It should give me a vecor matrix in a 1x9 shape. However the resulting matrix appears to be a 9x1 shape.
for Q=1:length(Phi)
if Phi(Q)<0;
F(Q)=1;
else
F(Q)=(2/pi) .* acos(exp(-(((B/2) .* (1-(r_over_R(Q)))) ./ ((r_over_R(Q)) .* sin(relative_wind(Q)))))); % Tip Loss Factor
end;
end;
Does anybody know how I can change this? Thanks.

Answers (2)

Wayne King
Wayne King on 24 Jul 2014
Edited: Wayne King on 24 Jul 2014
You don't give us all the variables here so we can't tell you how to change in the loop, but the simple thing to do is at the end of the loop (after the final "end"), just do
F = F';
The above assumes that F is real-valued. If F is complex-valued and you don't want to conjugate the elements, do
F = F.';
  1 Comment
Michael Haderlein
Michael Haderlein on 24 Jul 2014
That's one option, or you just preallocate F by
F=zeros(size(Phi));
Then you'll get the same shape, improved memory efficiency and no more a warning at the respective line.
Best regards,
Michael

Azzi Abdelmalek
Azzi Abdelmalek on 24 Jul 2014
It's simple, just transpose the result
A=A'

This question is closed.

Community Treasure Hunt

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

Start Hunting!