Computacion Funciones en Matlab

25
COMPUTACIÓN PROGRAMACIÓN EN MATLAB Funciones “Con el conocimiento, se acrecientan las dudas”

description

MATLAB

Transcript of Computacion Funciones en Matlab

Page 1: Computacion Funciones en Matlab

COMPUTACIÓN

PROGRAMACIÓN EN MATLAB

Funciones

“Con el conocimiento, se acrecientan las dudas”

Page 2: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Agenda

Funciones en MatLab

Programación de Funciones

Funciones Recursivas

Parámetros Predeterminado

Page 3: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Funciones en MatLab

El primer paso en la correcta programación es la

Programación Estructurada, la cual se sustenta en

tres estructuras básicas (secuenciales, selectivas y

repetitivas).

El siguiente paso es la programación funcional, esta

basada en el paradigma “divide y triunfaras”. Un

programa se divide en n funciones cada una de las

cuales ejecuta una operación.

Page 4: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Funciones en MatLab

Programación

Estructurada

Page 5: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Funciones en MatLab

Conceptos:

1. MatLab sólo posee funciones.

2. MatLab como cualquier otra aplicación pose un conjunto de

funciones propias y otras definidas por el usuario.

3. Las funciones las propias de MatLab, pueden ser asignadas

(“llamadas”) desde la ventana de comandos (Command

Window), como por funciones creadas por el usuario.

4. Las funciones creadas por el usuario pueden operan en

forma similar, pueden ser asignadas (“llamadas”) desde la

ventana de comandos (Command Window), como por

funciones creadas por el mismo usuario. Ya que las

funciones son tratadas como programas independientes.

Page 6: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Funciones en MatLab

Conceptos:

5. Las funciones creadas por el usuario pueden ser Recursivas.

6. La programación de funciones deben cumplir con todas las

normas de los programas en MatLab.

7. Guardados en un archivo que se denominan genéricamente

M-File.

8. Estos archivos deberá llevara el mismo nombre que el

nombre de la función y su extensión será M.

9. Los archivos M-File, MatLab los almacena por

predeterminado en la carpeta Work.

Page 7: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Funciones en MatLab

Programa

Función 1 Función 2 Función 3

Función 5Función 4 Función 6

Page 8: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Funciones en MatLab

Función

Programa

Page 9: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Funciones en MatLab

Conceptos:

Una función puede recibir de quien la llama,

uno, varios o ningún valor.

Una función devuelve siempre a quien la

llamo una variable.

Una función debe ejecutar una sola

operación.

Page 10: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Programación de Funciones

Pasos a seguir:

1. Se abre MatLab (si no se halla abierto).

2. Se abre el Editor de programas.

3. Se escribe el código (sobre la ventana

nueva).

4. Se guarda con el nombre de la función.

Page 11: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Programación de Funciones

Ejemplo:

Se va a crear una función (sumar) que

recibe dos valores y devuelve su suma.

function k = sumar(w,x)

K=w+x;

Código:

Page 12: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Programación de Funciones

function variable=nombref (p1, p2);

R:= nombref (va1, va2); Asignación

Cuerpo.

<cuerpo de la función>

variable := valor de la función; {*sentencia de asignación*}

CabeceraParámetros formales su tipos y tipo de datos que

devuelve

Nombre del archivo es el de la función

Page 13: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Programación de Funciones

Page 14: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Programación de Funciones

Page 15: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Programación de Funciones

Page 16: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Programación de Funciones

Ejemplo 2:

Se va a crear una función (fun_ejemplo) que

recibe un valor y devuelve el resultado de la

siguiente operación.

xex

xsenoxxxf

32

3

24

)(532)(

Page 17: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Programación de Funciones

Page 18: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Programación de Funciones

Page 19: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Funciones Recursivas

Cumplen con las mismas condiciones de las

ya vistas en Pascal.

Funciones Recursivas

Dentro del cuerpo de la

función hay un llamado a

si misma.

Tiene una salida por

último caso.

Page 20: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Funciones Recursivas

begin

if p<=1 factorialR = 1;

else factorialR = p * factorialR(p-1);

end;

function v = factorialR (p);

Page 21: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Parámetros Predeterminados

MatLab permite crear funciones tales que

cuando son invocadas no sea necesario pasarle

todos los parámetros. Y la misma pueda

reemplazar las variables no recibidas, por

valores predeterminados por el programador.

Page 22: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Parámetros Predeterminados

Page 23: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Parámetros Predeterminados

Page 24: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

Preguntas

y

Respuestas

Page 25: Computacion Funciones en Matlab

Mg. Ing. Fernando J. Lage“Con el conocimiento, se acrecientan las dudas”

Facultad de INGENIERÍA U B A Enero-Febrero, 2010

F I N