01 matlab basico

01 – PRIMEROS PASOS CON MATLAB Lic. Amado Malca Villalobos I. Introducción a MATLAB El programa MATLAB MATLAB es el n

Views 48 Downloads 0 File size 437KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

01 – PRIMEROS PASOS CON MATLAB

Lic. Amado Malca Villalobos

I. Introducción a MATLAB

El programa MATLAB MATLAB es el nombre abreviado de “MATrix LABoratory”. MATLAB es un programa para realizar cálculos numéricos con vectores y matrices. Aquí se presenta la ventana usual que aparece al iniciar Windows, en la cual se ejecutan las operaciones básicas.

Si por alguna razón la pantalla de MatLab no fuese la indicada, basta con acceder en la barra de herramientas al menú Desktop, escoger la opción Desktop Layout y a continuación Default.

RECOMENDACIONES BASICAS DE TRABAJO EN MATLAB - Para teclear un comando el cursor debe estar después del símbolo „>>‟. - Una vez que se teclea el comando en el formato indicado, pulsar la tecla intro, para ejecutar tal orden. - Con las teclas: „‟ y „‟, se pueden invocar comandos tecleados anteriormente, y ejecutarlos parcial o totalmente. - Si un comando es demasiado grande y ocupa más de una línea, se puede redistribuir en dos líneas, para lo cual al final de la primera se colocan puntos suspensivos (…), luego se pulsa la tecla intro y se continúa en la siguiente línea. - Las salidas en pantalla que produce la ejecución de un comando, se visualizara en la ventana de comandos. Pero si se teclea punto y coma (;) al final del comando este se ejecutara, pero ya no se visualizara. - En una misma línea se pueden teclear varios comandos, pero separado por comas. Si se separan por punto y coma, no se visualizara el resultado. - Cuando se teclea el símbolo % al inicio de una línea, MatLab considera la línea como un comentario, lo cual significa que no se ejecutara.

1

01 – PRIMEROS PASOS CON MATLAB

Lic. Amado Malca Villalobos

- Si se coloca el símbolo % seguido de un comentario, después de un comando , tampoco se ejecuta este comentario. Es decir no tiene efecto sobre el comando. - El comando clc limpia la pantalla de MatLab, solo deja en blanco la pantalla y todo lo ejecutado permanece intacto. - Para ejecutar una operación o terminar una línea en MATLAB se presiona la tecla  (enter)

CALCULOS SIMPLES CON MATLAB MatLab puede trabajar como si fuese una calculadora científica con todas las funciones posibles. Operación Potenciación Multiplicación División División inversa Suma Resta

signo ^ * / \ + -

Tecla abreviada alt 94 alt 42 alt 47 alt 92 alt 43 alt 45

ORDEN DE PRECEDENCIA Precedencia Primero Segundo Tercero Cuarto

Operación Matemática Paréntesis Exponenciación Multiplicación y división (igual precedencia) Suma y resta

MATLAB COMO CALCULADORA >> 4+5-8*4 >> (50+14)/4 >> sin(pi) >> sin(pi/2) >> (sin(pi/2))^2+(cos(pi/2))^2 >> sqrt(25) >> log10(1000000000) >> exp(1) >> log(exp(76)) >> i^3+3*(4-i)^2-5 >> j^3+3*(4-j)^2-5 >> abs(-4) >> 5\25 >> 2^8+26*(26+1)/2 >> 10000^1/4 >> 10000^(1/4) FORMATOS DE VISUALIZACIÓN DE NÚMEROS El usuario puede controlar la forma de cómo se presentan los números en pantalla, esto se controla con el comando format. Por defecto es el formato short. 2

01 – PRIMEROS PASOS CON MATLAB

Lic. Amado Malca Villalobos

Otros formatos se pueden hallar tecleando „help format‟, en la ventana de comandos. Comando format short format long Format hex format short e format long e format short g format long g format bank format compact format loose Format rational

Descripción Punto fijo con 4 dígitos decimales. 0.001 log(40) >> exp(1) >> log(exp(40)) >> log10(123456) >> log10(100000000000) >> factorial(6) >> sin(pi/2)+cos(pi)-tan(pi/4) >> tan(pi/4)+cot(pi/4)

DEFINICION DE VARIABLES y ESCALARES Una variable es un nombre compuesto por una o mas letras y/o digitos al cual se le asigna un valor numérico. A partir de ese momento ya se puede usar tal variable en cualquier operación, función o comando de MatLab. Una vez definida y asignado un valor a una variable, este valor puede ser modificado y asignado un nuevo valor para ahorrar memoria. El operador de asignación En MatLab, el símbolo = se llama operador de asignación. El asigna un valor a una variable nombre _ de _ var iable = valor El valor asignado puede ser numerico, o alguna expression con la cual operar. Tambien puede ser alguna variable ya definida y compatible con la actual. >> x=5+6 %asignacion >> x=2*x+8 %reasignando valor a la varible >> y=x-8 % asignacion >> A=[1 2 3;4 5 6;8 4 1] >> B=x*A >> C=y+B >> a=6,b=4,c=7 >> s=a+b-c >> d=c+4; >> m=d+20

4

01 – PRIMEROS PASOS CON MATLAB

Lic. Amado Malca Villalobos

Reglas sobre el nombre de las variables: - Pueden tener una longitud de de hasta 63 caracteres. - Pueden contener letras, dígitos y el carácter de subrayado. - Deben empezar por una letra. - En MatLab se distinguen entre mayúsculas y minúsculas en las variables. - Evitar poner el nombre de funciones del sistema o variables predefinidas en MatLab. Variables predefinidas en MatLab Variable Descripción ans Esta variable contiene el resultado de la última sentencia que no ha sido asignada a un valor especifico pi Representa al numero  eps Representa la diferencia más pequeña entre dos números de máquina. Es igual a 2^(-52), que es aproximadamente 2.2204e-0.16 Representa al infinito. inf Es la unidad imaginaria, la raíz cuadrada de i 1. j Equivale a i abreviatura de Not a Number(no numerico) NaN Comandos útiles sobre variables Limpia la ventana de comandos clc Borra todas las variables de memoria clear clear x y z Borra solo las variables x, y, z Muestra un listado de variables who Muestra un listado con sus whos características

GUARDANDO UNA SESIÓN Y SUS VARIABLES Para guardar lo que uno ha escrito, tenemos básicamente dos opciones. Guardar todo lo escrito, para lo cual se usa el comando: diary(‘nombre_fecha.txt’) Hasta que se ingresa el comando: diary off Se puede seguir grabando en este mismo archivo con: diary on Y cerrando nuevamente con diary off >> clear >> x=5 >> y=45 >> z=13 >> w=x-y >> diary('malca.txt') >> Z=x+y+z >> A=[1 2 3;5 2 8;7 4 2] >> B=[5 1 3;8 2 8;7 4 9] 5

01 – PRIMEROS PASOS CON MATLAB

Lic. Amado Malca Villalobos

>> det(A) >> diary off >> B' >> A-B' >> diary on >> D=A+4*B >> E=A.*B >> diary off >> F=A/B Luego abriendo el archivo en: C:\MATLAB7\work\malca.txt

Vea bien que se grabo y que no, en el archivo malca.txt. Tenemos que también se puede guardar solo las variables con save, y luego leerlas con load. >> clear >> x1=6 >> x5=8 >> y=x1+x5 >> save('sesion 01') Ahora leemos estas variables: >> load('sesion 01') >> who

Ejemplos de aplicación con MatLab Ejemplo 1.1: Identidad Trigonométrica

6

01 – PRIMEROS PASOS CON MATLAB

Lic. Amado Malca Villalobos

Se tiene la siguiente identidad trigonométrica: sen(2 x) = 2sen( x) cos( x) Verificar dicha identidad para x = p / 3 Solución: >> x=pi/3 x = 1.0472 >> 2*sin(x)*cos(x) ans = 0.8660 >> sin(2*x) ans = 0.8660 >> Ejemplo 1.2: Geometría y trigonometría Se tienen cuatro circunferencias tangentes exteriormente dos a dos. B C

A D

Donde: radio de A es 16 cm, radio de B es 6,5 cm, radio de C es 12 cm y radio de D es 9,5 cm. Determinar la distancia entre los centros B y D. Solución: Por la condición de ser tangentes dos a dos tenemos que: AB = 22,5 BC = 18,5 CD = 21,5 AD = 25,5 AC = 28 B C

A D

Luego tenemos la ley de cosenos, en el triangulo ABC: BC 2 = AB2 + AC 2 - 2(AB)(AC)cos (RBAC) De igual modo en el triangulo ACD: CD2 = AC 2 + AD2 - 2(AC)(AD)cos (RCAD) Ahora en el triangulo ABD: BD2 = AB2 + AD2 - 2(AB)(AD)cos (RBAD) >> AB=22.5 AB = 22.500000000000000 >> BC=18.5 BC = 18.500000000000000 >> CD=21.5 CD = 21.500000000000000 >> AD=25.5 AD = 25.500000000000000 >> AC=28 AC = 28

7

01 – PRIMEROS PASOS CON MATLAB

Lic. Amado Malca Villalobos

>> alfa1=acos((AB^2+AC^2-BC^2)/(2*AB*AC)) % alfa1 = angulo(BAC) alfa1 = 0.719127201933065 >> alfa2=acos((AC^2+AD^2-CD^2)/(2*AC*AD)) % alfa2 = angulo(CAD) alfa2 = 0.822116419951938 >> alfa3=alfa1+alfa2 % alfa3 = angulo(BAD) alfa3 = 1.541243621885003 >> BD=sqrt(AB^2+AD^2-(2*AB*AD*cos(alfa3))) BD = 33.505122102523131 >> Ejemplo 1.3: Transferencia de Calor Un objeto con una temperatura inicial T0, se introduce en un instante inicial t = 0 dentro de una cámara que tiene una temperatura constante Ts. Entonces, el objeto experimenta un cambio de temperatura que esta dado por la ecuación: - kt

T (t )= Ts + (T 0 - Ts)e

Considérese una lata de refresco de coca-cola, pero alguien se olvido en la maletera de un auto que viaja de Chiclayo a Piura, al llegar tiene una temperatura de 120ºF, y se la coloca en un congelador que esta a una temperatura de 38ºF. Calcular la temperatura de la lata después de 3 horas, considerar k = 0,45. Solución: >> T0=120 T0 = 120 >> Ts=38 Ts = 38 >> k=0.45 k = 0.450000000000000 >> t=1:5 t= 1 2 3 4 5 >> T=Ts+(T0-Ts)*exp(-k*t) T = 90.285508432985409 71.338712098729133 59.257701372963105 51.554508834170093 46.642736414072871 >> round(T) ans = 90 71 59 52 47 >> Ejemplo 1.4: Interés compuesto El saldo o monto M de una cuenta de ahorros después de t años cuando se deposita un capital C a una tasa de interés anual r, con n periodos de capitalización anuales, bien dado por la siguiente función: nt

æ rö M (t ) = C çç1 + ÷ ÷ ÷ çè n ø

Si los intereses se capitalizan anualmente, el monto esta dado por la función

M (t )= C (1+ r )

t

Si en una cuenta de ahorros se invierte 5000 soles durante un periodo de 17 años, con un interés compuesto con capitalización anual. En una segunda cuenta se 8

01 – PRIMEROS PASOS CON MATLAB

Lic. Amado Malca Villalobos

invierten otros 5000 soles, pero esta vez con un interés compuesto con capitalización mensual. En ambas cuentas la tasa de interés es del 8,5 %. Utilizar MatLab para determinar cuánto tiempo (en años y meses) tarda el monto de la segunda cuenta en ser igual que el de la primera después del periodo de 17 años. Solución: Vamos a ver cómo evolucionan las cuentas a través de los años En la primera cuenta veremos cuál es el monto después de los 17 años. >> C=5000,r=0.085,ta=17,n=12 C= 5000 r = 0.0850 ta = 17 n = 12 >> M=C*(1+r).^ta M = 2.0011e+004 >> format long >> M=C*(1+r).^ta M = 2.001131155260091e+004 >> Ahora veremos con este monto a que tiempo equivale en la formula de capitalización mensual: >> t=(1/n)*(log(M/C))/(log(1+(r/n))) t = 16.373715243760337 >> anos=fix(t) % la letra ñ no lo acepta MatLab anos = 16 >> meses=ceil((t-anos)*12) meses = 5 >>

9