programación matlab: programas y...
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/1.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/2.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/3.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/4.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/5.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/6.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/7.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/8.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/9.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/10.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/11.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/12.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/13.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/14.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/15.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/16.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/17.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/18.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/19.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/20.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/21.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/22.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/23.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/24.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/25.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/26.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/27.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/28.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/29.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/30.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/31.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/32.jpg)
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:](https://reader031.vdocuments.net/reader031/viewer/2022013120/5bd630fa09d3f2733e8d386d/html5/thumbnails/33.jpg)
beamer-tu-logo
Operaciones relacionales y logicos Sentencias condicionales Bucles Ficheros de Funciones
Funcion
>> y = cuadrado ( 4 )
y =16
>> z = cuadrado ( 5 )
z =25