How to skip parameters in a function call
35 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dominik Hildebrand
il 7 Lug 2021
Commentato: Star Strider
il 7 Lug 2021
Hello,
i'd like to make a function that can be called even if only a part of its input parameters are defined in the call.
I.e.:
Function definition is something along this lines:
function [ret] = fun(a, b, c, d, e)
if ~exist('a','var')
% parameter a does not exist, so default it to something
a = 0;
end
if ~exist('b','var')
...
ret = [a,b,c,d,e];
return;
The function call should work something like this:
test_call_1 = fun(a=1,b=2,d=3,e=4); (here parameter c is not specified)
test_call_2 = fun(e=4); (here only parameter e is specified)
My function is already able to initialize any missing parameters with default values. I know about using "~" to specify that a parameter is skipped. However, this only works for defining the function, not when calling it (as is required here).
Any help is highly appriciated :)
0 Commenti
Risposta accettata
Star Strider
il 7 Lug 2021
See the documentation section on Support Variable Number of Inputs for a demonstration of how to do that.
4 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical 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!