Crear una funci贸n en Octave

En esta lección te mostraré cómo crear una función en Octave.

¿Qué es una función? Es un fragmento de código que puede ejecutarse cuando se necesite. El código de la función se encuentra separado del programa principal, ya sea en el mismo archivo o en un archivo diferente. Las funciones son muy importantes en la programación, ya que hacen que el código de un programa sea más conciso y compacto.

La sintaxis general para definir una función es la siguiente:

function [y1, y2, ... ] = namefunction([x1,x2,...])
code of the function
endfunction

  • Los términos x1,x2... son las variables (datos de entrada) que la función recibe como entrada desde la llamada.
  • Los términos y1,y2... son las variables (datos de salida) que la función devuelve como salida.

Después de definir una función, puedes llamarla y ejecutarla desde diferentes puntos en el programa.

Te daré un ejemplo práctico.

Escribe un script con cualquier operación de cálculo. Por ejemplo, con 1;

1;

Nota. Si comienzas el script escribiendo "function...", el intérprete de Octave pensará que es un archivo de función en lugar de un script.

Luego necesitas crear una función con nombre "average()" que reciba como entrada dos datos numéricos x1 y x2, y devuelva como salida la media aritmética y.

1;

function y = average(x1,x2)
y = (x1+x2)/2;
endfunction

Ahora agrega en el código del programa una llamada a la función average() con dos valores de entrada, 2 y 4.

1;

function y = average(x1,x2)
y = (x1+x2)/2;
endfunction

m=average(2,4);
disp(m);

La función recibe los dos valores de entrada x1=2 y x2=4, calcula la media y = (2 + 4) / 2 y devuelve el resultado y = 3.

Por lo tanto, la salida del programa es 3.

3

Ahora agrega una segunda llamada a la función con dos números diferentes.

Por ejemplo, 4 y 6.

1;

function y = average(x1,x2)
y = (x1+x2)/2;
endfunction

m=average(2,4);
disp(m);
m=average(4,6);
disp(m);

En este caso, el programa llama a la función average() dos veces desde dos lugares diferentes.

  1. La primera vez envía los valores 2 y 4, y recibe 3 como respuesta.
  2. La segunda vez envía los valores 4 y 6, y recibe 5 como respuesta.

Por lo tanto, la salida del programa es:

3
5

Una función también puede devolver varios valores de salida.

Por ejemplo, la función [y1, y2] = pwr(x) recibe un valor numérico (x) como entrada y produce dos valores como salida.

1;

function [y1, y2] = pwr(x)
y1=x^2;
y2=x^3;
endfunction

[y1,y2]=pwr(2);
disp(y1);
disp(y2);

La llamada a la función envía x=2 como valor de entrada.

La función pwr() calcula el cuadrado y1=4 y el cubo y2=8, devolviendo dos resultados de salida.

4
8

Si deseas anticipar el cierre de la función y la devolución de los resultados, utiliza la instrucción return.

Aquí tienes un ejemplo práctico.

1;

function [y1, y2] = pwr(x)
if x<0
y1=0
y2=0
return
endif
y1=x^2;
y2=x^3;
endfunction

[y1,y2]=pwr(-2);
disp(y1);
disp(y2);

La instrucción return finaliza la ejecución de la función y devuelve los resultados y1=0 y y2=0 si el valor de entrada es negativo.

En este caso, la salida de la función es

0
0

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Funciones en Octave