I don't get the answer that i want?

5 visualizaciones (últimos 30 días)
Ahmed Alshehhi
Ahmed Alshehhi el 24 de Abr. de 2018
Comentada: Ahmed Alshehhi el 24 de Abr. de 2018
went I select number from between 1 to 10 I should get the result = normal and Acc =100 but wwhen I run it I get result = normal and Acc=0. so can anyone help my finding the error?
prompt = 'Select the number: ';
iii= input(prompt);
for iiii=1:10
if z(iii)==0
result= 'normal';
Acc='100%';
else
result ='patient';
Acc='0%';
end
end
for iiii=11:30
if z(iii)==0
result= 'patient';
Acc='100%';
else
result ='normal';
Acc='0%';
end
end
  3 comentarios
James Tursa
James Tursa el 24 de Abr. de 2018
It is not really clear what you are trying to do. Can you give some short examples of inputs and desired outputs? Also, picking iii and iiii as variable names is a really good way to confuse the reader. Pick better names.
Ahmed Alshehhi
Ahmed Alshehhi el 24 de Abr. de 2018
The function z is giving the output of 30 data which is should be equal to 0 and i have divide it into two set from 1:10 and 11:30 base in my fuction z every set have different meaning so i used the above loop

Iniciar sesión para comentar.

Respuesta aceptada

Steven Lord
Steven Lord el 24 de Abr. de 2018
There are several areas for improvement or issues that you should correct in your code.
  1. Your for loop variable name contains 4 lower-case I characters and that variable is never used inside the loop, so the loops are completely unnecessary.
  2. Related to the first item, you should use descriptive (and easily distinguishable) names for your variables. The names iii and iiii are not descriptive and it would be easy, after working on this code for a while, to forget what each one represents and accidentally use iiii instead of iii. Don't be like this guy.
  3. If you want to check if the number is one of a specific set of numbers (like 1, 2, or 3) you can use the ismember function or the switch and case keywords.
  4. If you want to check if the number is between certain bounds (like determining if x is between 1 and 3 inclusive) use the relational operators like (1 <= x) & (x <= 3).

Más respuestas (1)

Benjamin Großmann
Benjamin Großmann el 24 de Abr. de 2018
Editada: Benjamin Großmann el 24 de Abr. de 2018
What is the purpose of your code? You prompt for iii (3xi) and loop through iiii (4xi); Within the loops nothing changes, right?
The last else statement is (somehow) fullfilled and the variables are then result ='normal'; Acc='0%'; I can not see some problem here as long as you do not provide z and a proper input for iii which can reproduce some kind of error.
  1 comentario
Ahmed Alshehhi
Ahmed Alshehhi el 24 de Abr. de 2018
the function z is output equal to 0 or 1 for 30 data so, i divide it into two set from 1:10 and 11:30 and i ask the user to select number between 1:30 to check in which result he get , but when i run and for example when i entering the value 1 for iii I get result = normal and Acc =0 which should be 100

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by