Referring to specific input in loop

3 Ansichten (letzte 30 Tage)
Ahmed Abdulla
Ahmed Abdulla am 8 Jun. 2020
Kommentiert: Stephen23 am 8 Jun. 2020
I am writing a function and the input arguments are Data1 Data2 Data3 Data4 .... DataN. I am running a loop from i=1:N and one of the commands in this loop is to get the size(Datai) but im not sure how to refer to the specifc Data matrix based on the value of i in the loop.
  2 Kommentare
KSSV
KSSV am 8 Jun. 2020
Bearbeitet: KSSV am 8 Jun. 2020
How/ Why there is Data1, Data2, ...DataN?
This is not allowed/ comfortable. Rather use Data{1}, Data{2},.....Data{N}. This is called cell.
Stephen23
Stephen23 am 8 Jun. 2020
"...the input arguments are Data1 Data2 Data3 Data4 .... DataN."
Numbering variable names like that is a sign that you are doing something wrong.
Most likely your code would be simpler and more efficient if you just used one container array, e.g. a cell array.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Mohammad Sami
Mohammad Sami am 8 Jun. 2020
If you want to have variable number of arguments, perhaps you want to use varargin instead in your function signature.
function out = f_take_n_args(varargin)
for i = 1:length(varargin)
Datai = varargin{i};
end
end

Weitere Antworten (0)

Produkte


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by