How to loop through all the input of a function
Show older comments
I have a simulink matlab function which has many inputs.
output = fcn(input1, input2, ... inputx )
Is there a way to iterate through every input on by one inside the function?
I know if the function take input as varargin I can use varargin{i} to loop through. But what if the input to the function is fixed?
4 Comments
Adam Danz
on 14 Feb 2019
Here are two alternatives.
- "Varargin" is a viable solution (as you mentioned).
- Reducing the function to 1 input and using a cell array to pass multiple variables through the single input
Umair Ali Shah
on 27 Apr 2021
I have same issue function cannot evaluate array and manual input is not a solution.
Jonas
on 27 Apr 2021
aaand we could use the who() function at the start of the function together with the eval() function to work on the variables. but i would not suggest that
Answers (1)
As mentioned in the comments by Matt J and myself under this question, the only two recommended solutions to looping over input variables is
- pack your inputs into a single array variable
- use varargin which automatically packs all inputs into a cell array.
Then you can loop over all elements of the array.
Categories
Find more on Loops and Conditional Statements 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!