How to calculate all the numbers in an array with some conditions?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I calculated some radian value of angles from the previouse code.
n = 8;
wl = 1;
d = wl./2;
AF = zeros(1,50);
th= 20;
angle_rad = th*pi./180;
phi= (2.*pi.*d .*sin(angle_rad))./wl;
and usd a for loop to display all the numbers of phi
for a = 1:n
AF = (a-1).*phi
end
The problem is I need the value of phi is restricted between-2pi and 2pi. (The angle value (th) I stated was 20 degree but it can be changed, such as -50 degree)
I tried the if elseif statement
for a = 1:n
AF = (a-1).*phi
if AF >= 2.*pi
AF = AF - 2.*pi;
elseif AF <= -2.*pi
AF = AF + 2.*pi;
end
end
It's not working and I am not sure what to do with it, hope to get help from you guys! Thanks!
0 Kommentare
Antworten (1)
KALYAN ACHARJYA
am 3 Mär. 2021
Bearbeitet: KALYAN ACHARJYA
am 3 Mär. 2021
"The problem is I need the value of phi is restricted between-2pi and 2pi. (The angle value (th) I stated was 20 degree but it can be changed, such as -50 degree)"
Case 1: Any value you enter, which is restricted phi within -2pi to + 2pi.
n=8;
wl=1;
d=wl/2;
th=.....%Enter any Value
angle_rad=th*pi/180;
phi=2*pi*d*sin(angle_rad)/wl
Case 2: Or you can limiting such data limiting case using while loop
n=8;
wl=1;
d=wl/2;
while true
th=input('\nPlease Enter the th: ');
angle_rad=th*pi/180;
phi=2*pi*d*sin(angle_rad)/wl;
if phi>=-2*pi && phi<=2*pi
break
else
disp('#Wrong data Input for th')
th=input('\n Re-Enter the th: ');
end
end
Case 3: you can nulify such data, if the condition is fail
2 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!