Argumentos opcionales de MATLAB
![Argumentos opcionales de MATLAB](/img/Matlab/feature-image---matlab-optional-arguments.webp)
En este tutorial, discutiremos cómo establecer los argumentos opcionales de una función usando las propiedades nargin
y varargin
en MATLAB.
Establecer los argumentos opcionales de una función mediante el uso de la propiedad varargin
y nargin
en MATLAB
Puede dar cualquier número de entradas a una función usando la propiedad varargin
dentro de los corchetes del nombre de la función, y puede verificar el número de entradas pasadas a la función usando la propiedad nargin
. Por ejemplo, creemos una función que acepte cualquier número de entradas usando la propiedad varargin
y luego obtengamos el número de entradas usando la propiedad nargin
. Vea el código a continuación.
Number_of_inputs = sample(2,1,1)
function output = sample(varargin)
output = nargin;
end
Producción :
Number_of_inputs =
3
Como puede ver, pasamos tres entradas en la función, que devuelve el número total de entradas. El varargin
contiene una serie de entradas que puede utilizar de acuerdo con sus necesidades. Por ejemplo, obtengamos el número de entradas y luego imprimamos esas entradas usando un bucle for
. Vea el código a continuación.
Number_of_inputs = sample(2,'Hello',[1,2,3]);
function output = sample(varargin)
output = nargin;
for i=1:nargin
disp(varargin{i})
end
end
Producción :
2
Hello
1 2 3
Como puede ver en la salida, se han mostrado las entradas. Por lo tanto, puede usar el índice para guardar una entrada específica en el array de celdas varargin
y luego usarla de acuerdo con sus requisitos. Todas estas entradas son opcionales, pero si desea agregar algunas entradas que son obligatorias, puede agregarlas antes del varargin
. Tenga en cuenta que debe agregar las entradas obligatorias durante la llamada a la función; de lo contrario, la función dará un error. Por ejemplo, agreguemos dos argumentos obligatorios y luego agregámoslos para obtener el resultado, y se mostrarán los argumentos opcionales. Vea el código a continuación.
sum = sample(2,3,[1,2,3],'Hello')
function output = sample(x,y,varargin)
output = x+y;
for i=1:nargin-2
disp(varargin{i})
end
end
Producción :
1 2 3
Hello
sum =
5
Como puede ver en la salida, se han agregado las dos primeras entradas para obtener la suma y se muestran los argumentos opcionales. Tenga en cuenta que hemos restado dos de nargin
porque nargin
da el número total de entradas, no las entradas presentes en el array de celdas varargin
. Consulte este enlace para obtener más información sobre la propiedad varargin
.