Help with For/If commands

1 Ansicht (letzte 30 Tage)
Jevin
Jevin am 18 Apr. 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

Akzeptierte Antwort

Junaid
Junaid am 18 Apr. 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 Kommentar
Jevin
Jevin am 18 Apr. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 18 Apr. 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

Kategorien

Mehr zu Scope Variables and Generate Names finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by