Computacion Funciones en Matlab
description
Transcript of Computacion Funciones en Matlab
![Page 1: Computacion Funciones en Matlab](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/1.jpg)
COMPUTACIÓN
PROGRAMACIÓN EN MATLAB
Funciones
“Con el conocimiento, se acrecientan las dudas”
![Page 2: Computacion Funciones en Matlab](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/7.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/20.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/22.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/24.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022052317/55cf903a550346703ba41140/html5/thumbnails/25.jpg)
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