Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

matrix shape is incorrect??

1 vue (au cours des 30 derniers jours)
Kevin
Kevin le 24 Juil 2014
Clôturé : MATLAB Answer Bot le 20 Août 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.

Réponses (2)

Wayne King
Wayne King le 24 Juil 2014
Modifié(e) : Wayne King le 24 Juil 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 commentaire
Michael Haderlein
Michael Haderlein le 24 Juil 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 le 24 Juil 2014
It's simple, just transpose the result
A=A'

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by