Programación MATLAB: Programas y Funciones. · 2020-02-28 · Creacion de un fichero de funci´...

Preview:

Citation preview

beamer-tu-logo

Programacion MATLAB: Programas yFunciones.

Curso: Metodos Numericos en IngenierıaProfesor: Dr. Jose A. Otero HernandezCorreo: j.a.otero@tec.mxweb: http://metodosnumericoscem.weebly.comUniversidad: ITESM CEM

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

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

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

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.

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

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

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.

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

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)

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)

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

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

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Sentencia condicional if-end

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 )

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

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Sentencia condicional if-else-end

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 )

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Sentencia condicional if-elseif-else-end

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 )

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

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

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Bucle for-end

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

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

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Bucle while-end

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

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

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Bucles anidados

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) ;

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

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

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)

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Funcion

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

end

beamer-tu-logo

Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones

Funcion

>> y = cuadrado ( 4 )

y =16

>> z = cuadrado ( 5 )

z =25

Recommended