programacion 2014 matlab

45
Facultad: FIAG Escuela: ESGE Año Académico: 2014 Año de estudios: Segundo Docente: MSc. Javier Lozano Marreros Msc. Javier Lozano M. 1 Curso: Programación Aplicada a la Ingeniería

Upload: carlos-alberto-paxi-mamani

Post on 16-Jul-2015

394 views

Category:

Education


9 download

TRANSCRIPT

Page 1: Programacion  2014 matlab

Facultad: FIAG

Escuela: ESGE

Año Académico: 2014

Año de estudios: Segundo

Docente: MSc. Javier Lozano Marreros

Msc. Javier Lozano M. 1

Curso:

Programación Aplicada

a la Ingeniería

Page 2: Programacion  2014 matlab

2 MSc. Javier Lozano Marreros

Page 3: Programacion  2014 matlab

3 MSc. Javier Lozano Marreros

M A T L A B MATrix

LABoratory

Gráficas

Cálculo numérico

computacional

Simulink Toolboxes

Lenguaje de programación

Page 4: Programacion  2014 matlab

4

PROGRAMACIÓN

EN MATLAB

PROGRAMAS QUE SE EJECUTAN EN LA

VENTANA DE COMANDOS

MSc. Javier Lozano Marreros

Page 5: Programacion  2014 matlab

5

Entrada de datos

LA FUNCIÓN input

MSc. Javier Lozano Marreros

LEER

variable

variable = input(‘texto’)

variable = input(‘texto’,'s')

Page 6: Programacion  2014 matlab

6 MSc. Javier Lozano Marreros

Ejemplos

N = input('ingrese el numero de terminos: ')

LEER

N, f(x)

txt=input ('Ingrese la funcion f(x):','s');

f = inline(txt);

Page 7: Programacion  2014 matlab

7

Salida de datos

LA FUNCION disp

MSc. Javier Lozano Marreros

ESCRIBIR

variable

disp(variable)

Page 8: Programacion  2014 matlab

8

Salida de datos

Escribe una cadena con formato.

SINTAXIS

cadena = fprintf(‘formato’,variables)

MSc. Javier Lozano Marreros

LA FUNCION fprintf

Page 9: Programacion  2014 matlab

9 MSc. Javier Lozano Marreros

Ejemplos Ejemplo1:

disp(‘Mi primer programa');

Ejemplo2:

s=sqrt(b^2-4*a*c); disp(s);

Ejemplo3:

x = [2 3 4];

texto1=‘Los valores de x son: ’;

texto2=num2str(x);

texto3=[texto1,texto2];

disp(texto3);

Page 10: Programacion  2014 matlab

10 MSc. Javier Lozano Marreros

Ejemplos

Ejemplo1:

s=sqrt(b^2-4*a*c);

fprintf(' %12.8f ', s)

Ejemplo2:

fprintf('%12.8f\n',pi)

Ejemplo3:

>> x=[-3:.5:3]'; y=x.^2; z=[x y];

>>fprintf('\tX\t\tY\t\n');

>>fprintf('%8.4f %8.4f\n',z')

Page 11: Programacion  2014 matlab

11

variable = expresion

MSc. Javier Lozano Marreros

INSTRUCCIÓN DE ASIGNACIÓN

d=sqrt(b^2-4*a*c);

2 4d b ac

Page 12: Programacion  2014 matlab

12

if condicion

instrucciones o grupo

de instrucciones

end

V F Condicion

Instrucciones

LA SENTENCIA if

MSc. Javier Lozano Marreros

SENTENCIAS CONDICIONALES

Page 13: Programacion  2014 matlab

13

if condicion

Instrucciones1

else

Instrucciones2 end

LA SENTENCIA if else

V F Condicion

Instrucciones1 Instrucciones2

MSc. Javier Lozano Marreros

Page 14: Programacion  2014 matlab

14

LA SENTENCIA switch

switch expresión

case valor 1

Instrucciones1

case valor 2

instrucciones2

. . .

oterwise

Instrucción cuando

no cumple ningún

caso

end

valor 1

Expresion

Inst 1 Inst 2 Inst n-1 Inst n

valor 2 valor n-1 valor n

MSc. Javier Lozano Marreros

Page 15: Programacion  2014 matlab

15

LA SENTENCIA for

for V=VI:I:VF

instrucciones

end

F

Instrucciones

V = VI, VF, I

MSc. Javier Lozano Marreros

SENTENCIAS REPETITIVAS

Page 16: Programacion  2014 matlab

16

LA SENTENCIA while

while condicion

instrucciones

end

V

F Condicion

Instrucciones

MSc. Javier Lozano Marreros

Page 17: Programacion  2014 matlab

17

EJEMPLOS DE PROGRAMAS

EN MATLAB

MSc. Javier Lozano Marreros

Page 18: Programacion  2014 matlab

18

EJEMPLO 1. Diseñar el diagrama de flujo de

programas, y escribir el programa en

MATLAB, que calcule la suma de los

n primeros términos de la sucesión

,4!

x,

3!

x,

2!

xx,1,

432

MSc. Javier Lozano Marreros

Page 19: Programacion  2014 matlab

19

DIAGRAMA

DE FLUJO

i = 1, n-1

INICIO

LEER

n , x

P = 1

F = 1

S = 1

P = P*x

F = F*i

S = S + P/F

ESCRIBIR

S

FIN MSc. Javier Lozano Marreros

Page 20: Programacion  2014 matlab

20

Código en MATLAB

Un script es una secuencia de instrucciones

de MATLAB guardada en un archivo con

extensión .m

MSc. Javier Lozano Marreros

Scripts

Para ejecutar el programa:

Pulsar F5

Escribir el nombre del archivo en el

prompt de la ventana de comandos.

Page 21: Programacion  2014 matlab

21

Código para la entrada de datos

n=input(‘Ingrese n: ’);

x=input(‘Ingrese x: ’);

LEER

n , x

MSc. Javier Lozano Marreros

Page 22: Programacion  2014 matlab

22

Código para el proceso de datos

P=1;

F=1;

S=1;

for i=1:n-1

P=P*x;

F=F*i;

S=S+P/F;

end

i = 1, n-1

P = 1

F = 1

S = 1

P = P*x

F = F*i

S = S + P/F

MSc. Javier Lozano Marreros

Page 23: Programacion  2014 matlab

23

Código para la salida de datos

disp(S);

ESCRIBIR

S

MSc. Javier Lozano Marreros

Page 24: Programacion  2014 matlab

24

CODIGO COMPLETO DEL PROGRAMA

MSc. Javier Lozano Marreros

Page 25: Programacion  2014 matlab

25

Ventana de ejecución del ejemplo

MSc. Javier Lozano Marreros

Page 26: Programacion  2014 matlab

PROGRAMACIÓN VISUAL

GUIDE

CON MATLAB

Page 27: Programacion  2014 matlab

PROGRAMACIÓN VISUAL CON

MATLAB

MSc. Javier Lozano Marreros 27

Page 28: Programacion  2014 matlab

28

ACCESO AL GUIDE DEL

MATLAB

MSc. Javier Lozano Marreros

Page 29: Programacion  2014 matlab

29

EL GUIDE DEL MATLAB

En el formulario se insertan los objetos que formaran parte de la interfaz de usuario

Formulario

Objeto

MSc. Javier Lozano Marreros

Paleta de

componentes

Run

Page 30: Programacion  2014 matlab

30

Inspector de

propiedades

Para cambiar las

propiedades de un objeto

primero se debe de

seleccionar el objeto

MSc. Javier Lozano Marreros

Page 31: Programacion  2014 matlab

31

Objeto static text

Objeto edit text

Objeto push button

INTERFAZ DE USUARIO PARA EL EJEMPLO

VENTANA DE DISEÑO

MSc. Javier Lozano Marreros

Page 32: Programacion  2014 matlab

32

PARA INGRESAR EL CODIGO EN EL

BOTON ACEPTAR

MSc. Javier Lozano Marreros

Page 33: Programacion  2014 matlab

33

FUNCION DONDE SE

INGRESARA EL CÓDIGO

MSc. Javier Lozano Marreros

Page 34: Programacion  2014 matlab

34

Entrada de datos LA FUNCION get Permite consultar y cambiar el valor de las propiedades

de un objeto.

SINTAXIS

get(handles.Nom_obj,'prop');

Donde:

Nom_obj: nombre del objeto

handles.Nom_obj: hace referencia al objeto de la interfaz grafica de usuario.

'prop.’: es la propiedad del objeto.

MSc. Javier Lozano Marreros

Page 35: Programacion  2014 matlab

35

LA FUNCION get

EJEMPLO:

texto=get(handles.edit1,'string');

Esta instrucción captura el dato que se ha ingresado en el

control Edit Text (edit1) y lo asigna a la variable texto.

x=str2double(get(handles.edit2,'string'));

Esta instrucción captura el dato que se ha ingresado

en el control Edit Text (edit2), lo convierte a numero

real y lo asigna a la variable x.

MSc. Javier Lozano Marreros

Page 36: Programacion  2014 matlab

36

Salida de datos LA FUNCION set Muestra el valor de las propiedades de un objeto.

SINTAXIS

set(handles.Nom_obj, 'prop.',v_prop);

Donde:

Nom_obj: Es el nombre del objeto

handles.Nom_obJ: hace referencia al objeto que se encuentra en el formulario.

'prop.‘: es la propiedad del objeto,

V_prop: es el nuevo valor de la propiedad.

MSc. Javier Lozano Marreros

Page 37: Programacion  2014 matlab

37

LA FUNCION set

EJEMPLOS:

set(handles.edit5,'string',120);

Esta instrucción escribe el numero 120 en el

control Edit Text (edit5).

set(handles.edit7,'string','No existe raiz');

Esta instrucción escribe el texto “No existe raiz”

en el control Edit Text (edit7).

MSc. Javier Lozano Marreros

Page 38: Programacion  2014 matlab

38

LA FUNCION sprintf

Escribe una cadena con formato. Retorna una cadena.

SINTAXIS

cadena = sprintf(‘formato’,variables)

EJEMPLO:

sprintf('x%d = %10.6f', 4, pi)

muestra el siguiente resultado: x4 = 3.141593

cad = sprintf('x%d = %10.6f', 4, pi)

El resultado x4 = 3.141593 lo guarda en la cadena cad

MSc. Javier Lozano Marreros

Page 39: Programacion  2014 matlab

39

EJEMPLO

Diseñar el diagrama de flujo de

programas, y escribir el programa

en MATLAB, que calcule la suma

de los n primeros términos de la

sucesión:

,4!

x,

3!

x,

2!

xx,1,

432

MSc. Javier Lozano Marreros

Page 40: Programacion  2014 matlab

40

DIAGRAMA

DE FLUJO

i = 1, n-1

INICIO

LEER

n , x

P = 1

F = 1

S = 1

P = P*x

F = F*i

S = S + P/F

ESCRIBIR

S

FIN MSc. Javier Lozano Marreros

Page 41: Programacion  2014 matlab

41

Código para la entrada de datos

n=str2double(get(handles.edit1,’string’));

x=str2double(get(handles.edit2,’string’));

LEER

n , x

MSc. Javier Lozano Marreros

Page 42: Programacion  2014 matlab

42

Código para el proceso de datos

P=1;

F=1;

S=1;

for i=1:n-1

P=P*x;

F=F*i;

S=S+P/F;

i = 1, n-1

P = 1

F = 1

S = 1

P = P*x

F = F*i

S = S + P/F

MSc. Javier Lozano Marreros

Page 43: Programacion  2014 matlab

43

Código para la salida de datos

set(handles.edit3,'string',S);

ESCRIBIR

S

MSc. Javier Lozano Marreros

Page 44: Programacion  2014 matlab

44

CODIGO COMPLETO DEL

PROGRAMA

MSc. Javier Lozano Marreros

Page 45: Programacion  2014 matlab

45

Ventana de ejecución del ejemplo

MSc. Javier Lozano Marreros