Different input variables depending on case within a switch ?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am writting a function and one of the input of this function is a switch variable.
Depending on the case of the switch this function needs to take in different inputs to get the output from the case. Could this be done in Matlab or I should write 5 different functions?
%% Test: function description
function z = Test(key)
switch key
case 1
% inputs are a and c
z=a+c;
case 2
% inputs are b and f
z=b*f;
end
end
As you can see for case 1, I need the function Test to take a and c hence
z=Test(key, a,c)
For case 2 I want it
z=Test(key, b,f)
How can I do this using nargin, nargout, varagin?
0 commentaires
Réponses (1)
Rik
le 12 Juin 2020
Modifié(e) : Rik
le 12 Juin 2020
You can do this with nargin, nargout, varargin, and/or varargout.
Edit:
Note that this example does no input checking and will not result in a clear error if the number of arguments is incorrect.
%% Test: function description
function z = Test(key,varargin)
switch key
case 1
% inputs are a and c
[a,c]=deal(varargin{:});
z=a+c;
case 2
% inputs are b and f
[b,f]=deal(varargin{:});
z=b*f;
end
end
1 commentaire
Voir également
Catégories
En savoir plus sur Argument Definitions 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!