FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol...

Post on 01-Feb-2018

244 views 1 download

Transcript of FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol...

Seguridad en InternetOriol R oca

F u n c i o n e s

FUNCIONES EN MATLAB

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones

Son ficheros con una estructura especial, que definen funciones análogas a las de MATLAB. Con carácter general, una función recibe unos DATOS DE ENTRADA, ejecuta unas ÓRDENES y produce unos DATOS DE SALIDA.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Tipos de Funciones

• Funciones predefinidas en MATLAB.

• Funciones definidas por el usuario (crea sus propias funciones).

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Tipos de Funciones

Funciones predefinidas en MATLAB.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.Funciones Exponenciales

• exp(x)= Exponencial =

• sqrt(x)= Raíz cuadrada =

Funciones Logarítmicas• log(x)= Logaritmo Natural = ln x

• log10(x)= Logaritmo Base 10 = log10(x)

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.Funciones de números complejos

abs(x)= Absoluto x = |x| imag(x)= parte imaginaria de x real(x)= parte real de x angle(x)=ángulo de x

Funciones Numéricas• ceil(x)= Redondea hacia ∞• fix(x) = Redondea hacia 0• round(x)= Redondea hacia el entero mas cercano• Floor(x)= Redondea hacia el entero mas cercano a –∞

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.

Ejemplo: Definir el siguiente vector:

x = [ 3.45 1.98 -2.16 ]

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.Funciones Trigonométricas

sin(x)cos(x)

Funciones trigonométricas inversasacos(x)= arccos x = cos –1 xatan(x)= arctan x = tan –1 x

Funciones Hiperbólicascosh(x)= Coseno Hiperbólico = cosh x = (ex+e–x)/2

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.Otras Funciones

•mod(x,y) = Módulo después de la división.

•rem(x,y) = Resto de la división entera.

•nthroot(x,y) = Raíz n-ésima de x.

• gcd(m,n) = Máximo común divisor.

• lcm(m,n) = Mínimo común múltiplo.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.Funciones Estadísticas

max: determina el componente máximo en un vector o determina el vector fila cuyos componente son los de mayor valor en cada columna de una matriz.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.Funciones Estadísticas

min: efectúa la operación reciproca a max. En este caso se obtienen los valores mínimos.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.Funciones Estadísticas

median: para vectores, calcula la mediana de sus elementos; para una matriz, se genera un vector fila cuyos componentes son el promedio en cada columna de la matriz.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.Funciones Estadísticas

mean: para vectores, calcula el promedio de sus elementos; para una matriz, se genera un vector fila cuyos componentes son el promedio en cada columna de la matriz.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones predefinidas en MATLAB.Funciones Estadísticas

STD: para un vector, calcula la desviación estándar de sus componentes. Si se trata de una matriz, estafunción genera un vector fila que conteniendo la desviación estándar de cada una de sus columnas.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Tipos de Funciones

Funciones definidas por el usuario.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones definidas por el usuario.

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones definidas por el usuario.

M a t L a b

Scripts vs. Funciones

Scripts Funciones

No aceptan argumentos de entrada ni producen resultados de salida

Aceptan argumentos de entrada yproducen resultados

Trabajan sobre las variables en elworkspace

Por defecto, las variables internasson locales a la función

Útiles para automatizar una seriede pasos que se repiten muchasveces

Útiles para extender el lenguajeMATLAB para tus aplicaciones

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones definidas por el usuario.

M a t L a b

Ventajas

1. Solamente se escribe una vez.

2. Si una función es probada y funciona bien, funcionará bien cada vez que se use (siempre y cuando el uso sea el correcto).

3. Son portables. Una misma función puede ser útil para distintos casos, distintos programas y distintos programadores.

4. Código más limpio. Al usar funciones reducimos las líneas de código de nuestro programa y por lo tanto se hacen mucho más fáciles de leer y validar .5. Parte un programa en varios subprogramas.

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones definidas por el usuario.

M a t L a b

Observaciones

1. La palabra function es una palabra reservada y debe estar escrita en minúsculas 2. Una función puede tener una, múltiples entradas.3.Una función puede tener una variable de salida, múltiples variables de salidas o ninguna variable de salida.4. En la declaración de la función el nombre de la función es el nombre con el cual identificamos a la función, la función se guarda en un archivo con ese mismo nombre y con extensión .m5. Las entradas y salidas pueden corresponder a distintos tipos de datos, números, vectores, matrices, cadena de caracteres y en general cualquier estructura disponible en Matlab.6. Los comentarios justo después de la declaración son las líneas que se leerán cuando el usuario pida ayuda de la función.

Seguridad en InternetOriol R oca

F u n c i o n e s M a t L a b

PALABRA RESERVADA PARÁMETROS DE SALIDA NOMBRE DE LA FUNCIÓN PARÁMETROS DE ENTRADA

Funciones definidas por el usuario.

Estructura

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones definidas por el usuario.Llamada a una función

Podemos llamar a una función desde la línea de comandos, como si fuera cualquier otra orden o función ya definida en MATLAB.

M a t L a b

Observar que los parámetros de entrada y salida no tienen por qué tener elmismo nombre que en la definición de la función.

Seguridad en InternetOriol R oca

F u n c i o n e s

Funciones definidas por el usuario.

Si la función tiene más de un parámetro de entrada, estos se separan por comas y si tiene más de un parámetro de salida se escribe la lista separada por comas y entre corchetes ([ ]). Este sería un ejemplo general:

M a t L a b

Seguridad en InternetOriol R oca

F u n c i o n e s

1. Escribir una función que calcule el área y la circunferencia de un circulo, dado su radio.

2. Escribir una función que calcule las dos raíces de una ecuación de segundo grado: ax2+bx+c=0. a, b, y c son parámetros de entrada.

3. Escribir una función en MATLAB que calcule la superficie y volumen de un cilindro dados su radio (r) y altura (h) (V=πr2h, S=2πr2+2πrh).

4. Escribir una función para la sucesión de Fibonacci.

5. Realizar 5 funciones que realice: suma, resta, multiplicación y división de 2 números, y una última que llame a las funciones suma, resta y multiplicación, y esta a su vez (multiplicación) llame a la función división

M a t L a b

Ejercicios