How to limit variables in input function?
6 views (last 30 days)
Show older comments
I have a function
[P_max1(j), ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~] = tcfun1(1,P_min11 (j), P_max11(j), T, 1);
It perfectly runs.
When I use
[P_max1(j), ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~] = tcfun2(1,P_min11 (j), T, 1);
It perfectly runs.
but when i use
[P_max1(j), ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~] = tcfun3(1,P_min11 (j), ~, T, 1);
It gets error.
please help me.
0 Comments
Accepted Answer
Matt J
on 23 May 2022
It does not make sense to have a tilde as an input argument in a function call. Perhaps you meant,
tcfun3(1,P_min11 (j), T, 1);
5 Comments
Walter Roberson
on 24 May 2022
MATLAB has no way to indicate "missing parameter", with the exception that if a parameter and all following parameters are to be missing then you can leave them all out and the code can use nargin() to tell.
In any case where a missing parameter is followed by a non-missing parameter, the best you can do is create a new class such as MISSING and pass an object of that class, and then have the code use isa() to detect that a parameter was passed but the parameter was that kind of object. This would require that the code be specifically written for your class. Unlike Python, MATLAB does not offer any MISSING indicator built-in
More Answers (0)
See Also
Categories
Find more on Entering Commands 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!