Quando si ha una funzione che richiede una quantità variabile di argomenti (come ndgrid), come si può passare un elenco arbitrario di argomenti a quella funzione?Come posso passare un set di un numero sconosciuto di argomenti a una funzione in MATLAB?
Per esempio io voglio fare in modo che a volte mi passa due vettori a ndgrid e uscire due matrici, vale a dire,
[X1,X2] = ndgrid(x1,x2);
Ma altre volte avrei potuto avere più una X, quindi mi voglio
[X1,X2,X3,X4] = ndgrid(x1,x2,x3,x4)
- esiste un tipo di struttura che posso utilizzare per memorizzare un elenco di un numero imprecisato di argomenti e poi basta dare tale elenco a una funzione? E,
- C'è un modo per recuperare tutte le uscite da una funzione, quando non sai quante ci saranno?
un modo rapido e sporco sarebbe abstract l'input e l'output di un livello ("dimensione") e prendere una serie di ingressi e output un array - cioè [X] = ndgrid (x) dove X e x sono array di celle o qualcosa, con ogni elemento un vero elemento di input –
Non sono abbastanza esperto, tuttavia, per dichiarare definitivamente se MATLAB ha un ' funzionalità di tipo varargs' (sono sicuro che faccia come può essere compilato in C) –
oh è molto semplice: http://www.mathworks.com/help/matlab/ref/varargin.html –