Help with For/If commands

1 vue (au cours des 30 derniers jours)
Jevin
Jevin le 18 Avr 2012
I am working on a project right now, and have a menu asking what a user would like to solve for. The menu corresponds to function handles, and in the function handles the variables can be used in more than 1. What i want to do is to have it run for variable A or B or C, and if it doesn;t have A B or C in it, it will stop and move to D E and F.
Here is what some of the code looks like :
(choice is the variable i assigned for the menu)
if choice == 1,4;6;7;8;10;11;
a=input ('What is the cross sectional area? ');
else
end
if choice ==2,3;5;6;
cl=input('What is the change in length? ');
else
end

Réponse acceptée

Junaid
Junaid le 18 Avr 2012
Use switches .. I hope it will solve your problem.
ex.
switch choice
case {1,4,6,7,8,10,11}
% your code here
case {2,3,5,6}
% your code here
end
  1 commentaire
Jevin
Jevin le 18 Avr 2012
That seems to work at first, but later on i have something along the lines of :
if choice == 2||3||4||5||6||7;
l=input('What is the length of your object? ');
end
if choice == 8||9||11;
cp=input('How many points of contact does your object have? ');
end
if choice == 3||4||6||7;
em=input('What is the elastic modulus of your material? ');
so it needs to work for more than one, since i am asking the components of formulas, and 5 of the formulas share 1 variable etc.

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 18 Avr 2012
switch choice
case {2, 3, 4, 5, 6, 7}
%your code here
end
switch choice
case {8, 9, 11}
%your code here
end
If you prefer to use "if":
if ismember(choice, [1 4 6 7 8 10 11])
%your code here
end
if ismember(choice, [8, 9, 11])
%your code here
end

Catégories

En savoir plus sur Scope Variables and Generate Names 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