How to pass 3 variables from a script into a function and get 1 output?
5 views (last 30 days)
Show older comments
Hey everyone, I am trying to call a function from a script that basically gives 3 variables and returns 1 result. My function ("GetResult") is already written, it asks which mode (1-6), then goes into an if statement and asks if the user wants a random generated result or a fixed result. if isRand == 1, then random result is generated. if isRand == 2, then they are prompted to enter the Index number, then result is given.
This is all I have so far for an idea on how to call it from another function.
result = GetResult(Mode, isRand, Index);
So my main question is, how can I pull this off? I feel like I need to assign certain numbers to words, Like I can't use 1-6 for Mode, Since this script I am calling it from will be eventually attached to the GUI. I need to say which each mode is. Is this the best way to do this? I was thinking about putting this statment below in my GetResult function. What do you think? Thank you in advance!
if Mode == "AB"
GetResult(1)
elseif Mode == "CD" || "EF" || "GH"
GetResult(2)
elseif Mode == "IJ"
GetResult(3)
elseif Mode == "KL"
GetResult(4)
end
0 Comments
Accepted Answer
Rik
on 30 Jun 2021
Where are the letters coming from?
Anyway, if you want to do something like this, you should use strcmp to compare char arrays. A better solution is probably to use switch:
switch Mode
case "AB"
Mode=1;
case {"CD","EF","GH"}
Mode=2;
case "IJ"
Mode=3;
case "KL"
Mode=4;
otherwise
error('invalid Mode selected')
end
output=GetResult(Mode);
2 Comments
More Answers (0)
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!