programación matlab: programas y...

33
beamer-tu-log Programaci ´ on MATLAB: Programas y Funciones. Curso: M´ etodos Num ´ ericos en Ingenier´ ıa Profesor: Dr. Jos´ e A. Otero Hern´ andez Correo: [email protected] web: http://metodosnumericoscem.weebly.com Universidad: ITESM CEM

Upload: vanngoc

Post on 29-Oct-2018

252 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Programacion MATLAB: Programas yFunciones.

Curso: Metodos Numericos en IngenierıaProfesor: Dr. Jose A. Otero HernandezCorreo: [email protected]: http://metodosnumericoscem.weebly.comUniversidad: ITESM CEM

Page 2: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Topicos

1 Operaciones relacionales y logicos

2 Sentencias condicionales

3 Bucles

4 Ficheros de Funciones

Page 3: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Topicos

1 Operaciones relacionales y logicos

2 Sentencias condicionales

3 Bucles

4 Ficheros de Funciones

Page 4: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Operadores relacionales

Operadores Descripcion< Menor que.> Mayor que.<= Menor o igual que.>= Mayor o igual que.== Igual a.∼= Distinto de.

Page 5: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Operadores relacionales

>> a = 3>9a =

0>> a = 3<9a =

1>> b = [12 5 3 ] , c = [13 4 5]b =

12 5 3c =

13 4 5>> d = c>=bd =

1 0 1

Page 6: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Operadores relacionales

>> A = [2 7 9;−2 5 2;4 6 8]A =

2 7 9−2 5 2

4 6 8>> B = A<=3B =

1 0 01 0 10 0 0

Page 7: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Operadores logicos

Operadores Descripcion& AND: A&B. Funciona con dos operadores.

El resultado es:Verdadero (1) si ambos son verdaderos,Falso (0) si almenos uno es falso.

| OR: A|B. Funciona con dos operadores.El resultado es:Verdadero (1) si alguno de los dos es verdadero,Falso (0) si los dos son falsos.

∼ NO: ∼ A. Funciona con un operador.Da la negacion del operador, es decir:Verdadero (1) si A es falso,Falso (0) si A es verdadero.

Page 8: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Operadores logicos

>> a = 4>0&9>0a =

1>> a = 4&9a =

1>> a = 6>0|0>0a =

1>> a = 6 |0a =

1>> ˜20>0ans =

0>> ˜20ans =

0

Page 9: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Orden de preferenciaLos operadores aritmeticos, relacionales y logicos sepueden combinar en expresiones matematicas,Cuando una expresion tiene combinaciones de este tipo,se debe tener en cuenta el siguiente orden de preferenciaestablecido por MATLAB:

Orden Operacion1 Parentesis2 Exponenciacion3 Operacion logica ∼(NO)4 Division y multiplicacion5 Suma y resta6 Operadores relacionales (>,<,>=, <=,==,∼=)7 Operacion logica &(AND)8 Operacion logica |(OR)

Page 10: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Orden de preferencia

>> x = −2; y = 5;>> −5<x<−1ans =

0>> −5<x & x<−1ans =

1>> ˜ ( y<7)ans =

0>> ˜ y<7ans =

1>> ˜ ( ( y>=8) | ( x<−1) )ans =

0>> ˜ ( y>=8) | ( x<−1)ans =

1

Page 11: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Topicos

1 Operaciones relacionales y logicos

2 Sentencias condicionales

3 Bucles

4 Ficheros de Funciones

Page 12: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Sentencia condicional if-end

Page 13: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Salario de un trabajador

%Calculo de l s a l a r i o de un t raba jado rclear ;clc ;t = input ( ’Numero de horas t raba jadas ’ ) ;h = input ( ’ Sa la r i o por hora en euros ’ ) ;PagaSemanal = t ∗h ;i f t>40

PagaSemanal = PagaSemanal + ( t −40)∗0.5∗h ;endSal ida =[ ’ La paga es de ’ ,num2str ( PagaSemanal ) , ’ Euros ’ ] ;disp ( ’ ’ )disp ( Sa l ida )

Page 14: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Salario de un trabajador

Numero de horas t raba jadas 30Sa la r i o por hora en euros 10

La paga es de 300 Euros%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Numero de horas t raba jadas 50Sa la r i o por hora en euros 10

La paga es de 550 Euros

Page 15: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Sentencia condicional if-else-end

Page 16: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Salario de un trabajador

%Calculo de l s a l a r i o de un t raba jado rclear ;clc ;t = input ( ’Numero de horas t raba jadas ’ ) ;h = input ( ’ Sa la r i o por hora en euros ’ ) ;i f t>40

PagaSemanal = t ∗h + ( t −40)∗0.5∗h ;else

PagaSemanal = t ∗h ;endSal ida =[ ’ La paga es de ’ ,num2str ( PagaSemanal ) , ’ Euros ’ ] ;disp ( ’ ’ )disp ( Sa l ida )

Page 17: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Sentencia condicional if-elseif-else-end

Page 18: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Salario de un trabajador

%Calculo de l s a l a r i o de un t raba jado rclear ;clc ;t = input ( ’Numero de horas t raba jadas ’ ) ;h = input ( ’ Sa la r i o por hora en euros ’ ) ;i f t>40

PagaSemanal = t ∗h + ( t −40)∗0.5∗h ;e l s e i f t>30

PagaSemanal = t ∗h+ ( t −30)∗0.2∗h ;else

PagaSemanal = t ∗h ;endSal ida =[ ’ La paga es de ’ ,num2str ( PagaSemanal ) , ’ Euros ’ ] ;disp ( ’ ’ )disp ( Sa l ida )

Page 19: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Salario de un trabajador

Numero de horas t raba jadas 20Sa la r i o por hora en euros 10

La paga es de 200 Euros%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Numero de horas t raba jadas 35Sa la r i o por hora en euros 10

La paga es de 360 Euros%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Numero de horas t raba jadas 50Sa la r i o por hora en euros 10

La paga es de 550 Euros

Page 20: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Topicos

1 Operaciones relacionales y logicos

2 Sentencias condicionales

3 Bucles

4 Ficheros de Funciones

Page 21: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Bucle for-end

Page 22: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Ejemplo Bucle for-end

clear ;clc ;for k = 1:2 :10

x = k ˆ2end

Page 23: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Ejemplo Bucle for-end

x =1

x =9

x =25

x =49

x =81

Page 24: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Bucle while-end

Page 25: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Ejemplo Bucle while-end

clear ;clc ;x = 1 ;while x<=15

x = 2∗xend

Page 26: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Ejemplo Bucle while-end

x =2

x =4

x =8

x =16

Page 27: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Bucles anidados

Page 28: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Ejemplo Bucles anidados

clear ; clc ;n = input ( ’Numero de f i l a s : ’ ) ;m = input ( ’Numero de columnas : ’ ) ;A = [ ] ;for k =1:n

for l =1:mA( k , l ) = k∗ l ;

endenddisp ( ’ ’ ) ;disp ( ’A= ’ ) ;disp (A) ;

Page 29: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Ejemplo Bucles anidados

Numero de f i l a s : 3Numero de columnas : 5

A=1 2 3 4 52 4 6 8 103 6 9 12 15

Page 30: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Topicos

1 Operaciones relacionales y logicos

2 Sentencias condicionales

3 Bucles

4 Ficheros de Funciones

Page 31: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Creacion de un fichero de funcionLos ficheros de funcion se crean y editan como si setrataran de ficheros de comandos (script), es decirutilizando la Ventana de Edicion,La primera lınea ejecutable de un fichero de funcion debeser la definicion de la propia funcion,El fichero de la funcion tiene que tener el mismo nombrede la funcion,La forma que tiene la lınea de definicion de la funcion es:function [Argumentos de Salida] = NombreFuncion(Argumentos de Entrada)

Page 32: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Funcion

function [ y ] = cuadrado ( x )y=x ˆ 2 ;

end

Page 33: Programación MATLAB: Programas y Funciones.metodosnumericoscem.weebly.com/.../mn_173_clase6_matlab_web.pdf · beamer-tu-logo Programacion MATLAB: Programas y´ Funciones. Curso:

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Funcion

>> y = cuadrado ( 4 )

y =16

>> z = cuadrado ( 5 )

z =25