How to loop through all the input of a function
显示 更早的评论
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 个评论
Adam Danz
2019-2-14
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
2021-4-27
I have same issue function cannot evaluate array and manual input is not a solution.
Jonas
2021-4-27
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
回答(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.
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!