if else if statement problem

1 vue (au cours des 30 derniers jours)
Sally Sakr
Sally Sakr le 12 Mai 2023
Déplacé(e) : Atsushi Ueno le 12 Mai 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

Réponses (1)

Cris LaPierre
Cris LaPierre le 12 Mai 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 commentaire
Atsushi Ueno
Atsushi Ueno le 12 Mai 2023
Déplacé(e) : Atsushi Ueno le 12 Mai 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Antennas, Microphones, and Sonar Transducers dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by