if else if statement problem

1 view (last 30 days)
Sally Sakr
Sally Sakr on 12 May 2023
Moved: Atsushi Ueno on 12 May 2023
Please help me if you can. I wrote this but the answer still gives me the final condition only "not identified". What is the mistake ?
for PAs = 9
DAs = 8;
As = 131;
Bs = 3;
if PAs==0
DAs==0;
As==0;
Bs==0;
disp('specimen is sound')
elseif PAs==0:10
DAs==0:10;
As<100;
Bs<2;
disp('cap undercut')
else
disp('not identified')
end
end
not identified

Answers (1)

Cris LaPierre
Cris LaPierre on 12 May 2023
The following conditional is seen as 'false' by the elseif statement.
elseif PAs==0:10
This will check PAs against every number in 0:10. It will only evaluate true (and execute the corresponding statement) if all conditions evalue 'true'
PAs=9;
PAs==0:10
ans = 1×11 logical array
0 0 0 0 0 0 0 0 0 1 0
If you want the elseif statement to execute if any of the comparisons is true, use any
any(PAs==0:10)
ans = logical
1
  1 Comment
Atsushi Ueno
Atsushi Ueno on 12 May 2023
Moved: Atsushi Ueno on 12 May 2023
PAs = 9;
PAs == 0:10
ans = 1×11 logical array
0 0 0 0 0 0 0 0 0 1 0
if PAs == 0:10
disp('identified')
else
disp('not identified')
end
not identified
if any(PAs == 0:10)
disp('identified')
else
disp('not identified')
end
identified

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!