How to loop through all the input of a function
Ältere Kommentare anzeigen
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 Kommentare
Adam Danz
am 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
am 27 Apr. 2021
I have same issue function cannot evaluate array and manual input is not a solution.
Jonas
am 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
Antworten (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.
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!