how can i use multiple expression values in If-then

I will post my code that i made, im a noob. just take my "||" as or in english, thats what i think of it, but it dont work, it only gives me 'NORTH' for any value please check and correct..It is m,y university assignment.
function[r]=direction(bearing)
if bearing == 0 || 360
r= 0 || 360;
printf('North\n')
elseif bearing== 90 || -270
r= 90 || -120;
printf('East\n')
elseif bearing== 180 || -180
r= 180 || -180;
printf('South\n')
elseif bearing== 270 || -90
r= 270 || -90;
printf('West\n')
else
printf('Unknown Direction\n')
end

 Accepted Answer

I found the solution, BTW thank you so much @paul and @ jos(10584)
function[]=direction(bearing)
if (bearing == 0 || bearing==360)
disp('North\n')
elseif (bearing== 90 || bearing ==-270)
disp('East\n')
elseif (bearing== 180 || bearing== -180)
disp('South\n')
elseif (bearing== 270 || bearing== -90)
disp('West\n')
else
disp('Unknown Direction\n')
end
%it works fine

More Answers (2)

This should get you started:
if A==1 || A == 2
disp('A is 1 or 2') ;
end
if B == 1 && C == 2
disp('B is 1 and C is 2') ;
end

1 Comment

btw , the reason why you get 'North' all the time is because the condition
bearing == 0 || 360
is equal
bearing == 0 || true
which is always true of course.

Sign in to comment.

function[r]=direction(bearing)
if bearing == 0 | | bearing==360
r= 0;
fprintf('North\n')
elseif bearing== 90 | | bearing==-270;
r= 90;
fprintf('East\n')
elseif bearing== 180 | | bearing== 180;
r= 180;
fprintf('South\n')
elseif bearing== 270 | | bearing== -90 ;
r= 270;
fprintf('West\n') ;
else printf('Unknown Direction\n')
end
I think that's what you want unless you want to define r as a string ?

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!