How to pass 3 variables from a script into a function and get 1 output?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Rik
il 30 Giu 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Entering Commands in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!