35
beamer-tu-logo 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

Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Page 4: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 5: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 6: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 7: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 8: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 9: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 10: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Orden de preferencia

Los operadores aritmeticos, relacionales y logicos se puedencombinar en expresiones matematicas,Cuando una expresion tiene combinaciones de este tipo, sedebe 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 11: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Orden de preferencia

Los operadores aritmeticos, relacionales y logicos se puedencombinar en expresiones matematicas,Cuando una expresion tiene combinaciones de este tipo, sedebe 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 12: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 13: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 14: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Sentencia condicional if-end

Page 15: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 16: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 17: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Sentencia condicional if-else-end

Page 18: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 19: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Sentencia condicional if-elseif-else-end

Page 20: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 21: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 22: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 23: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Bucle for-end

Page 24: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 25: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 26: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Bucle while-end

Page 27: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 28: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 29: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Bucles anidados

Page 30: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 31: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 32: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 33: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

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 se trataran deficheros de comandos (script), es decir utilizando la Ventana deEdicion,La primera lınea ejecutable de un fichero de funcion debe ser ladefinicion de la propia funcion,El fichero de la funcion tiene que tener el mismo nombre de lafuncion,La forma que tiene la lınea de definicion de la funcion es:function [Argumentos de Salida] = NombreFuncion(Argumentos de Entrada)

Page 34: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Funcion

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

end

Page 35: Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´ on´ Los ficheros de funcion se crean y editan como si se trataran de´ ficheros

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Funcion

>> y = cuadrado ( 4 )

y =16

>> z = cuadrado ( 5 )

z =25