Funciones de MATLAB - 4 tipos de funciones en MATLAB y ejemplos

Tabla de contenido:

Anonim

Introducción a las funciones de MATLAB

Las funciones de MATLAB se escriben con varias líneas de código que relacionan una variable con otra variable y cada salida está relacionada exactamente con una entrada particular que forma una parte importante de cualquier lenguaje de programación. En el entorno MATLAB, se almacenan en un determinado archivo, como archivos de script, etc. Pueden aceptar más de un argumento de entrada y también pueden devolver más de un argumento de salida. Operan en las variables definidas en su espacio de trabajo predefinido, conocido como el espacio de trabajo local.

Tipos de funciones en MATLAB

En Matlab, las funciones se pueden crear o definir utilizando la siguiente sintaxis:

function (o1, o2, …, oN) = myfun(i1, i2, i3, …, iN)

Aquí mi diversión es el nombre de la función que acepta los argumentos de entrada i1, i2..iN y devuelve la salida o1, o2 … on. La declaración anterior debe ser de primera línea al declarar la función. Hay algunas reglas que deben seguirse para los nombres de función válidos y guardar la función:

  • El nombre de la función que comienza con alfabetos y puede contener números, caracteres o guiones bajos se considera válido.
  • Podemos guardar la función en un archivo de funciones que contenga definiciones de funciones y el nombre del archivo debe coincidir con el primer nombre de la función en el archivo.
  • También podemos guardar la función que contiene definiciones de funciones y comandos. Las funciones deben estar presentes al final del archivo y el nombre del archivo de script no puede tener el mismo nombre que la función en el archivo.

La palabra clave end se debe usar para indicar el final de la función. Se requiere cuando cualquier función en el archivo contiene una función anidada o la función utilizada es una función local dentro del script y el archivo de función. Las funciones funcionan en scripts en R2016b o posterior. Hay varios tipos de funciones utilizadas en MATLAB. Son los siguientes:

1. Función anónima

Es la función que no está almacenada en un archivo de programa pero está asociada con la variable cuyo tipo de datos es function_handle. Se define en una sola declaración y tiene cualquier número de argumentos de entrada o salida. La sintaxis se puede escribir como:

Expresión (lista de argumentos)

Ejemplo:

(x, y) x*y;
res1=mul(2, 3)
res2=mul(4, 3)
res3=mul(4, 5)

Cuando ejecutamos la salida obtenemos el siguiente resultado:

res1 = 6

res2 = 12

res3 = 20

Podemos escribir funciones anónimas sin entradas o múltiples entradas y salidas. Si la función no tiene entrada, entonces podemos usar paréntesis vacíos para llamar a la función anónima. Algunos de los ejemplos son

1. curr= @() datestr(now);
d = curr()
Output: d= 22-Oct-2019 11:02:47
curr= @() datestr(now);
d = curr()
Output: d= 22-Oct-2019 11:02:47

2. (x, y)(x+y);
x=4
y=7
z=myfun(x, y)
Output: z=11
(x, y)(x+y);
x=4
y=7
z=myfun(x, y)
Output: z=11

2. Funciones locales

Cualquier archivo de función contiene una función principal que aparece en la primera línea del código. Son visibles para las funciones en otros archivos y se pueden llamar en la línea de comando. Otras funciones que están presentes en el archivo se denominan funciones locales. No se pueden llamar desde la línea de comandos y se ven en una función principal o principal y en las funciones escritas en el mismo archivo. También se conocen como subfunciones. Son equivalentes a las subrutinas que se usan en otro lenguaje de programación. También se pueden escribir en archivos de script siempre que aparezcan después de la última línea del código del script.

function (avg, med) = mystats(y)
a= length(y);
avg = mymean(y, a);
med = mymedian(y, a);
end

function a = mymean(v, n) ---- Example of a local function
a = sum(v)/n;
end

3. Funciones anidadas

Las funciones que se definen dentro de otra función o función principal se denominan funciones anidadas. Pueden usar o modificar las variables que se definen en la función principal. Se definen dentro del alcance de la función y pueden acceder al espacio de trabajo en el que están definidos. Hay ciertos requisitos que toda función anidada debe seguir:

  • Todas las funciones no requieren la declaración final. Sin embargo, para anidar cualquier función, la declaración final debe escribirse para cada función.
  • No podemos definir funciones anidadas dentro de ninguna instrucción de control como if-else, switch case, etc.
  • Las funciones anidadas se pueden invocar directamente por nombre o mediante cualquier identificador de función.

function current
nestfun1
nestfun2
function nestfun1
x = 7;
end
function nestfun2
x = 4;
end

4. Funciones privadas

Son las funciones que solo son visibles para un grupo limitado de funciones. Residen en subfunciones y se denotan con la palabra clave "privado". Solo son visibles para las funciones que están presentes en la carpeta principal o las funciones en la carpeta que está inmediatamente arriba de la subcarpeta privada. Son útiles cuando queremos limitar el alcance de la función. No podemos llamar a las funciones privadas desde la línea de comandos o desde las funciones fuera de la carpeta principal.

Código :

function priv
disp(“Hello “)

Cambie la carpeta que contiene una carpeta privada y cambie el nombre del archivo para presentar
función presente
priv

Cambie la carpeta a cualquier ubicación y llame a la función actual
presente

Salida: "Hola"

Conclusión - Funciones MATLAB

Las funciones de MATLAB se pueden usar para varias tareas y escenarios. Forman una parte integral de cualquier lenguaje de programación. Se puede acceder a ellos de manera global utilizando variables globales o funciones privadas si queremos que cierta información o contenido sea privado. Se utilizan en todas las organizaciones para las necesidades comerciales para satisfacer las demandas.

Artículos recomendados

Esta es una guía de las funciones de MATLAB. Aquí discutimos la Introducción de las Funciones MATLAB y los Tipos de Funciones. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Funciones de Bessel en MATLAB
  2. Funciones anónimas en Matlab
  3. Funciones matemáticas en C #
  4. Funciones de transferencia en Matlab
  5. Compilador Matlab | Aplicaciones del compilador Matlab
  6. Ejemplos de Matlab AND Operator
  7. Guía completa para cambiar la carcasa en PowerShell