¿Cómo encontrar el número de argumentos de función en MATLAB?

El número de argumentos de función pasados ​​en MATLAB se determinará en el siguiente artículo. A diferencia de C, C++ y Java, MATLAB puede acomodar una cantidad variable de parámetros proporcionados en una función sin generar un error. Veremos cómo determinamos la cantidad real de parámetros suministrados en la función y cómo hacemos los cálculos apropiados.

C

#include <stdio.h>
int main()
{
int x =  40;
int y = 50;
printf("Sum of the numbers : %d", GFG(x,y));
int GFG(int a1,int a2, int an)
{
return a1 + a2+ an;
}
}

Producción: 

too few arguments to function ‘GFG’

Matlab

% MATLAB Code for addition 
x = 4;
y = 5;
fprintf("Addition of numbers : %d",GFG(x,y));
function sum = GFG(int a1,int a2..........int an)
         sum = a1 + a2 .... + an;
end

Producción:

 Addition of numbers : 9

nargin(): 

Devuelve el número de parámetros de entrada de función que se proporcionaron a la función de ejecución actual de la llamada. nargin() lo ayuda a determinar la cantidad de argumentos de entrada reales enviados a una función para que pueda ejecutar el cálculo requerido en función de esos argumentos.

Supongamos que si queremos crear una función llamada ‘add_gfg’, se utiliza el siguiente código de MATLAB.

Ejemplo:

Matlab

% MATLAB code for add
% initialize variables
a = 5;  %integer variable a
b = 8;  %integer variable b
c = 15; %integer variable c
  
% here variable a,b,c is passed in 
% the function, so sum should be 'a+b+c' i.e 28
fprintf("Addition of three numbers : %d",add_gfg(a,b,c)); 
  
% here variable a,b is passed in the function, 
% so sum should be 'a+b' i.e 13
fprintf("Addition of two numbers : %d",add_gfg(a,b));
  
% here variable a is passed in the function, 
% so sum should be 'a' i.e 5
fprintf("Addition of one number : %d",add_gfg(a));
  
% function add_gfg returns the sum 
% of the input variables no return function 
% is required in case of matlab we initialize the
% variable in which we want to store the final answer and
% return that final answer to the calling 
% function, here it is sum
  
function sum = add_gfg(a,b,c)
  
    cases  = nargin;  % nargin: returns the actual number
                      % of input arguments 
      
    switch cases 
        case 1   % if number of input arguments passed is 1,
                 % return a
            sum = a;
        case 2     % if number of input arguments passed is 2,
                 % return sum of 2 numbers
            sum = a + b;
        case 3     % if number of input arguments passed is 3,
                 % return sum of 3 numbers
            sum = a + b + c;
     end
end

Producción : 

Explicación del código: el ejemplo anterior acepta parámetros de entrada y devuelve el total de los enteros enviados. La función llamada ‘add_ gfg’ toma argumentos de entrada y nargin devuelve el número total de argumentos de entrada. Si los parámetros de entrada son tres, nargin devuelve tres y los almacena en la variable ‘cases’. Luego, el total de los argumentos de entrada se calcula utilizando una declaración de cambio, que se guarda en la variable ‘suma y se devuelve a la función de llamada.

nargin(función_nombre):

Esta función devuelve el número de argumentos de entrada que aparecen en la función «nombre_función». Devuelve la longitud total de los argumentos de entrada que se pueden pasar en la función. P.ej. función geeks_for_geeks(int a1, int a2,….int an), la función puede aceptar un total de n argumentos y, por lo tanto, “nargin(geeks_for_geeks)” devolverá ‘n’, es decir, un total de n argumentos.

Ejemplo: 

Matlab

% MATLAB code
function_name = 'gfg'; %name of the function
  
% Following line prints the number of input arguments
% that appear in the function gfg i.e 3
fprintf("\nThe number of arguments appearing in the function gfg
 is %d",nargin(function_name));
   
 % Name of the function
function_name1 = 'gfg1'; 
  
% Following line prints the number of input
% arguments that appear in the function gfg1 i.e 2
fprintf("\nThe number of arguments appearing in the 
function gfg1 is %d",nargin(function_name1));
  
% The function gfg is not called nor does it print anything
% it is important to create the function or it shows error
% when nargin('gfg') is executed.
  
function gfg(input1,input2,input3)
     %void function
end
  
  
% The function gfg1 is not called nor
% does it print anything
% it is important to create the function or it shows 
% error when nargin('gfg1') is executed.
  
function gfg1(input1)
    % void function
end

Producción :

Explicación del código: En el siguiente ejemplo, hemos creado dos funciones ‘gfg’ y ‘gfg1’ que toman argumentos de entrada (input1,input2,input3) y (input1) respectivamente. Entonces, cuando llamamos al comando nargin(‘gfg’) y nargin(‘gfg1’), devuelve 3 y 1 ya que el número de argumentos que aparecen en ellos es 3 y 1 respectivamente.

Publicación traducida automáticamente

Artículo escrito por meetvora090201 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *