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

25
Seguridad en Internet Orio l R oca F u n c i o n e s FUNCIONES EN MATLAB M a t L a b

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

Page 1: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

Seguridad en InternetOriol R oca

F u n c i o n e s

FUNCIONES EN MATLAB

M a t L a b

Page 2: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 3: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

Seguridad en InternetOriol R oca

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

Page 4: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

Seguridad en InternetOriol R oca

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

Page 5: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 6: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 7: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 8: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 9: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 10: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 11: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 12: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 13: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 14: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 15: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 16: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 17: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 18: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 19: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 20: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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.

Page 21: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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.

Page 22: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 23: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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.

Page 24: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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

Page 25: FUNCIONES EN MATLAB - upibi.netupibi.net/pdf/aula/funciones-ok.pdf · Seguridad en Internet Oriol Roca F u n c i o n e s Funciones Son ficheros con una estructura especial, que definen

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