How I can add For loop inside of if statement ?

4 ビュー (過去 30 日間)
Aknur
Aknur 2023 年 3 月 13 日
コメント済み: Aknur 2023 年 3 月 17 日
Hello everyone! Kindly ask how I can make for loop inside of if statement. If it is allowed to do in that order.
for example I want to set an angle that was calculated according to the if statement and the calculated angle will be set for the next iteration of for loop. My main code is running, and I got an answer that the angle was calculated two times and two values changed for one iteration. But it should be like the result of first calculation set as Theta for the next iteration, and in the second iteration it calculates according to the previous one.
Thank you in advance
This is my code
k = 5;
if Xr == 0
planes(:,:,1)
for i = 1:K
ThetaB = 90 - Theta0;
PhiB = Phi0;
fprintf('ThetaB: %f\n',ThetaB);
end
elseif Xr == 3
planes(:,:,3)
for i = 1:k
ThetaB = 90-Theta0;
PhiB = Phi0;
fprintf('ThetaB: %f\n',ThetaB);
end
elseif Yr == 0
planes(:,:,2)
ThetaB = 90-Theta0;
PhiB = Phi0;
fprintf('ThetaB: %f\n',ThetaB);
elseif Yr == 3
planes(:,:,4)
for i = 1:k
ThetaB = 90 - Theta0;
fprintf('ThetaB: %f\n',ThetaB);
end
elseif Zr == 0
planes(:,:,5)
for i = 1:k
ThetaB = Theta0;
PhiB = Phi0;
fprintf('ThetaB: %f\n',ThetaB);
end
elseif Zr == 3
planes(:,:,6)
for i = 1:k
ThetaB = Theta0;
PhiB = Phi0;
fprintf('ThetaB: %f\n',ThetaB);
end
end
And this is how I am running my main
for ii = 1:K
ii
X(ii)
Y(ii)
Z(ii)
Theta(ii)
  4 件のコメント
Jan
Jan 2023 年 3 月 14 日
What does "plane number is odd" mean? Which variable represents the "plane number"?
What are the functions reflection5 and planeLocation5?
"And it seems like my angle ThetBar calculated two times per iteration which lead to the mistake" - Why fo you think so?
Aknur
Aknur 2023 年 3 月 17 日
Hello, @Jan thank you for your valuable question. I fix my problem nad happy for it. You are right I overwrite my variable, that is why it does not work. I add mod to planeLocation function. Thanks a lot again
plane = A(:,1)
if mod(plane,2) == 0 %odd
ThetaBar = 90 - Theta0;
fprintf('ThetaBar odd: %f\n',ThetaBar);
else
ThetaBar = Theta0; %even
fprintf('ThetaBar even: %f\n',ThetaBar);
end

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by