Matlab - FUNCIONES MATLAB

   
Vista:

FUNCIONES MATLAB

Publicado por lkj (1 intervención) el 01/09/2009 12:20:24
Tengo varias dudas en cuanto a FUNCIONES en MATLAB.

Creo una funcion y no se como llamara ni como incluirla luego en el programa principal.

¿Qué debo hacer?

gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:FUNCIONES MATLAB

Publicado por fismat (391 intervenciones) el 01/09/2009 15:38:03
Hola

Tradicionalmente en MATLAB se crea un fichero *.m diferente por cada función. El nombre de la función debe coincidir con el nombre del fichero. A partir de la versión 5.0 se introdujeron las sub-funciones, que son funciones adicionales definidas en un mismo fichero *.m, con nombres diferentes del nombre del fichero (y del nombre de la función principal) y que las sub-funciones sólo pueden ser llamadas por las funciones contenidas en ese fichero, resultando “invisibles” para otras funciones externas.

A continuación se muestra un ejemplo contenido en un fichero llamado mi_fun.m:

function y=mi_fun(a,b)

y=subfun1(a,b);

% Primera sub funcion
function x=subfun1(y,z)

x=subfun2(y,z);

% Segunda sub funcion
function x=subfun2(y,z)

x=y+z+2;

Saludos
Fismat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FUNCIONES MATLAB

Publicado por fismat (391 intervenciones) el 01/09/2009 15:57:18
Hola,

Aqui algo de teoria de funciones,

DEFINICIÓN DE FUNCIONES
La primera línea de un fichero llamado name.m que define una función tiene la forma:

function [lista de valores de retorno] = name(lista de argumentos)

donde name es el nombre de la función. Entre corchetes y separados por comas van los valores de retorno (siempre que haya más de uno), y entre paréntesis también separados por comas los argumentos.
Puede haber funciones sin valor de retorno y también sin argumentos. Recuérdese que los argumentos son los datos de la función y los valores de retorno sus resultados. Si no hay valores de retorno se omiten los corchetes y el signo igual (=); si sólo hay un valor de retorno no hace falta poner corchetes. Tampoco hace falta poner paréntesis si no hay argumentos.

Los resultados de una función de MATLAB se obtienen siempre a través de los valores de retorno, que pueden ser múltiples y matriciales. Tanto el número de argumentos como el de valores de retorno no tienen que ser fijos, dependiendo de cómo el usuario llama a la función.

Las variables definidas dentro de una función son variables locales, en el sentido de que son inaccesibles desde otras partes del programa y en el de que no interfieren con variables del mismo nombre definidas en otras funciones o partes del programa. Se puede decir que pertenecen al propio espacio de trabajo de la función y no son vistas desde otros espacios de trabajo. Para que la función
tenga acceso a variables que no han sido pasadas como argumentos es necesario declarar dichas variables como variables globales, tanto en el programa principal como en las distintas funciones que deben acceder a su valor.
En cualquier función existen dos variables definidas de modo automático,
llamadas nargin y nargout, que representan respectivamente el número de argumentos y el número de valores de retorno con los que la función ha sido llamada. Dentro de la función, estas variables pueden ser utilizadas como el programador desee.
La ejecución de una función termina cuando se llega a su última sentencia ejecutable. Si se quiere forzar el que una función termine de ejecutarse se puede utilizar la sentencia return, que devuelve inmediatamente el control al entorno de llamada.

Puedes descargar de la web el manual de matlab

"Aprenda Matlab 7.0 como si estuviera en primero"

Saludos
Fismat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar