フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

matrix shape is incorrect??

1 回表示 (過去 30 日間)
Kevin
Kevin 2014 年 7 月 24 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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.

回答 (2 件)

Wayne King
Wayne King 2014 年 7 月 24 日
編集済み: Wayne King 2014 年 7 月 24 日
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 件のコメント
Michael Haderlein
Michael Haderlein 2014 年 7 月 24 日
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 2014 年 7 月 24 日
It's simple, just transpose the result
A=A'

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by