programas” vidal “estructura de programas”cvalle/caplicada/capitulo2.pdf · a todas las...

23
“Estructura de Programas” Carlos Valle Vidal Introducci ´ on Script Funciones Gr´ aficos “Estructura de Programas” Carlos Valle Vidal [email protected] Departamento de Inform ´ atica - Universidad T ´ ecnica Federico Santa Mar´ ıa Rancagua, Agosto 2009 1 / 23

Upload: lykien

Post on 22-Sep-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

“Estructura de Programas”

Carlos Valle [email protected]

Departamento de Informatica -Universidad Tecnica Federico Santa Marıa

Rancagua, Agosto 2009

1 / 23

Page 2: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Temario

1 Introduccion

2 Script

3 Funciones

4 Graficos

2 / 23

Page 3: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Temario

1 Introduccion

2 Script

3 Funciones

4 Graficos

3 / 23

Page 4: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Introduccion

Para resolver problemas simples en Matlab, basta ingresarcomandos en la ventana de comandos.

Si el numero de comandos es muy grande esto no resultapractico principalmente por la posibilidad de cometer errores

4 / 23

Page 5: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Temario

1 Introduccion

2 Script

3 Funciones

4 Graficos

5 / 23

Page 6: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Script

Un script (guion), es una secuencia de comandos escritos esun archivo.

Un script se escribe con un editor de textos.

En MATLAB un script se denomina M-file.

Un M-file es un archivo que tiene extension .m. Por ejemplo:ejemplo.m

Para utilizar el editor de textos de Matlab, desde el menu Fileseleccionar New, M-file.

El script se puede correr desde el editor seleccionando RunM-file, o escribiendo el nombre del script en la ventana decomandos

6 / 23

Page 7: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Ejemplo

% ecuacion: script para ecuacion segundo gradoformat compact;a=1b=5c=6x = -b/(2*a);y = sqrt(bˆ2-4*a*c)/(2*a);s1 = x+ys2 = x-y

7 / 23

Page 8: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Ejemplo

Para ejecutar el script M-file, escribir el nombre del archivo

� ecuaciona =1

b =5

c =436

s1 =-2

s2 =-3

8 / 23

Page 9: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Ejemplo: Comentarios

% ecuacion: % permite agregar comentario

format compact: Elimina lıneas extras en salida

a=1, b=5, c=6: Fijar valores de a, b, c, mostrara resultados

x & y: Punto y coma al final del comando no muestraresultados

s1, s2: Calcula y muestra raıces

9 / 23

Page 10: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Observaciones

Todos los comandos dentro de un script M-file tienen accesoa todas las variables del espacio de trabajo (Workspace)

Todas las variables creadas en un M-file forman parte delespacio de trabajo

10 / 23

Page 11: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Ingreso de datos

En el ejemplo anterior, ¿Que pasa si queremos hacer elcalculo con otros valores de a, b y c?

Una alternativa es editar nuevamente el archivo y cambiar losvalores de a, b y c. ¿Hay una alternativa mas facil?

Veremos como se pueden ingresar datos

c=input(’ingrese el coeficiente a: ’);

Al ingresar el dato desde el teclado, el valor ingresado quedaen la variable c.

Observar que al terminar con “;” el valor que se ingresa no semuestra al terminar el comando

Si se quieren ingresar cadenas de caracteres se debecolocar la cadena entre ’ ’, o sino, usar c=input(’ingresecadena: ’,’s’);. ’s’ transforma lo ingresado en el teclado acadena de caracteres.

11 / 23

Page 12: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Funciones de Entrada y Salida

A continuacion se muestran funciones utiles:

disp(ans): Muestra resultados sin identificar nombre devariables

echo [on|off]: Permite mostrar o no mostrar nombres decomandos

input(’prompt’): Acepta entradas hasta oprimir Enter

pause: Pausa hasta que usuario oprime cualquier tecla

pause(n):Pausa por n segundos

waitforbuttonpress: Pausa hasta oprimir cualquier tecla uoprimir tecla del mouse

12 / 23

Page 13: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Nueva version de la ecuacion

% ecuacion: Nuevo script para ecuacion de segundo gradoformat compact;% prompt para coeficientes de entradaa = input(’Ingrese coeficiente a: ’);b = input(’Ingrese coeficiente b: ’);c = input(’Ingrese coeficiente c: ’);disp(’ ’)% calculo de valores intermedios x & yx = -b/(2*a);y = sqrt(bˆ2-4*a*c)/(2*a);% calcular y mostrar raicess1 = x+y;disp(’Valor de la primera raiz: ’),disp(s1);s2 = x-y;disp(’Valor de la segunda raiz: ’),disp(s2);

13 / 23

Page 14: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Temario

1 Introduccion

2 Script

3 Funciones

4 Graficos

14 / 23

Page 15: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Funciones

Un archivo que contiene codigo MATLAB se denomina M-file.Las M-files pueden ser scripts que ejecutan una serie deinstrucciones MATLAB, o funciones que acepten argumentosy generen valores de salida.

En ambos casos la extension del archivo debe ser .m

Pueden aceptar argumentos de entrada y devolverargumentos de salida.

Las variables internas de una funcion por defecto son localesa la funcion.

Las funciones sirven para extender las funcionalidades deMATLAB adaptandola a nuestros propios requerimientos.

15 / 23

Page 16: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Ejemplo

1. function f=suma(a,b)2. % SUMA Suma3. % SUMA(a,b) retorna la suma de a y b4. % En otras palabras, SUMA(A,B) es A+B5. f=a+b;

La funcion anterior tiene varios elementos comunes a todaslas funciones

1 Una lınea de definicion2 La lınea H1: help13 Texto de ayuda4 Texto de ayuda5 Cuerpo de la funcion o codigo

16 / 23

Page 17: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Funciones: Ejemplo

Construir funciones para convertir grados Fahrenheit engrados Celsius

TC =59(TF−32)

17 / 23

Page 18: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Solucion

function celsius=far_to_cel(f)%FAR_TO_CEL Fahrenheit a Celsius%FAR_TO_CEL(t) retorna el equivalente en%faherenheit de t en ◦Ccelsius=5/9*(f-32);

18 / 23

Page 19: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Temario

1 Introduccion

2 Script

3 Funciones

4 Graficos

19 / 23

Page 20: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Graficos

MATLAB dispone de funciones que permiten hacer graficos2-D

La funcion basica es plot()

El elemento basico es el vector.

Se pueden incluir textos, grillas y cambiar colores de lıneas.

help graph2d

20 / 23

Page 21: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Graficos: Ejemplo

>> x=[1 3 2 4 5 3]

x =

1 3 2 4 5 3

>> plot(x)>>

21 / 23

Page 22: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Graficos: Ejemplo 2

%Script de ejemplo para graficarx=[-pi:0.1:pi]y=sin(x)plot(x,y)title(’Grafico de y=sin(x)’)xlabel(’x en radianes’)ylabel(’eje y’)

22 / 23

Page 23: Programas” Vidal “Estructura de Programas”cvalle/CAplicada/Capitulo2.pdf · a todas las variables del espacio de trabajo ... 1 Una l´ınea de definici on ... Construir funciones

“Estructura deProgramas”

Carlos ValleVidal

Introduccion

Script

Funciones

Graficos

Consultas y Comentarios

23 / 23