You are on page 1of 10

El entorno MatLab Sesin 1: El origen y entorno de MatLab.

Objetivo: Describir el origen y entorno de trabajo de MatLab y el uso de operaciones aritmticas con escalares y variables. 1) Introduccin. El software MatLab es el nombre abreviado de Matrix Laboratory. Se desarroll como un Laboratorio de matrices, para realizar clculos numricos con vectores y matrices. Permite la resolucin de problemas sencillos sin escribir un programa y con facilidades de representacin grfica de los resultados en dos o tres dimensiones. Adems incorpora un lenguaje de programacin propio que permite implementar programas complejos de modo relativamente simple. Actualmente, el software MatLab se usa tanto a nivel acadmico, dentro de la universidad, como a nivel de investigacin en la industria para la resolucin de complicados problemas cientficos o de ingeniera, mediante los comandos apropiados implementados en MatLAb. Es empleado para el desarrollo de clculo numrico de propsito general y resolucin de problemas con formulacin matricial que aparecen en lgebra, control, mtodos numricos, estadstica y procesado de seales, entre otros. Matlab aporta, por medio del los paquetes de ampliacin o toolboxes (que no se incorporan en el sistema base sino que se adquieren separadamente), funciones para resolver problemas especficos como por ejemplo procesado de seales y de imgenes, diseo de sistemas de control, identificacin de sistemas, simulacin de sistemas dinmicos, optimizacin, redes neuronales, etc. MatLab se puede arrancar como cualquier otra aplicacin de Windows, (haciendo clic dos veces en el icono correspondiente en el escritorio o por medio del men Inicio). Al arrancar MatLab se abre una ventana como se muestra en la Figura 1.

Fig. 1: Ventana inicial de MatLab 7.0

El entorno MatLab 2) Ventanas principales de MatLab 7.0. Ventana Command Window (Ventana de comandos) Descripcin Ventana principal. Ejecuta las funciones. (Entrada de variables, ejecucin de programas, salida de resultados). Presenta una historia de todas las funciones introducidas en la ventana de comandos y permite copiarlas y ejecutarlas. Muestra archivos y ejecuta operaciones entre archivos, tales como abrir y buscar contenido. Provee informacin acerca de las variables que son usadas. Muestra acceso a herramientas, demos y documentacin instalados. Contiene salidas de comandos grficos. Muestra y busca documentacin para la familia completa de productos MatLab.

Command History (Historial de comandos)

Current Directory (Directorio actual) Workspace (espacio de trabajo) Whats New (Productos Math Works) Figure Window Help (Ayuda)

3) Trabajando en la ventana Command Window. Es la ventana ms importante para comunicarse con MatLab y aqu se ejecutan los comandos. Las instrucciones o comandos a ejecutar se escriben a continuacin del prompt (>>) en donde se posiciona el cursor. Algunos comandos pueden ser escritos en la misma lnea, escribiendo una coma (,) entre los comandos y presionando la tecla enter. Los comandos son ejecutados de izquierda a derecha y se visualizan en la pantalla. Si no se desea ver su salida en la pantalla se usa punto y coma (;) entre los comandos o al final de la lnea si se trata de un solo comando. No es posible ir a una lnea previa en el Command Window para hacer correcciones, es necesario llamar la lnea, corregirla y volverla a ejecutar. Un comando previo puede ser llamado estando en el prompt (>>), usando las teclas () y (), entonces se hacen las correcciones y el comando se vuelve a ejecutar, presionando enter. Las teclas anteriores, tambin se usan para mover el orden de los comandos. Si un comando o instruccin es demasiado largo y no cabe en una lnea, se escriben puntos suspensivos al final (), se presiona enter y se contina escribiendo en otra lnea y as sucesivamente hasta un mximo de 4096 caracteres. Se usa el smbolo de porcentaje (%) al inicio o al final de una lnea de un comando para hacer comentarios sobre el problema y no es ejecutado. En el Command Window casi no se usa, su aplicacin es mayor en la programacin. Para salir de MatLab, use quit o exit o la forma tradicional por medio de las instrucciones de Windows. El comando clc limpia la ventana de comandos. El comando clf borra la figura actual y por tanto limpia la ventana de grficos. El comando clear no afecta a las ventanas, pero si borra todas las variables de la memoria. Para ver algunas de las capacidades de MatLab, usar el comando demo, que inicia el MATLAB EXPO, un entorno grfico de demostracin que ilustra algunos tipos de operaciones que se pueden realizar con MatLab.

El entorno MatLab

Para abortar un comando en MatLab, mantener presionada la tecla de control y oprima c (Ctrl+ c). Esto ocasiona una interrupcin local dentro del MatLab. MatLab utiliza colores para ayudar a escribir las instrucciones. Los parntesis, corchetes y llaves se mantienen brevemente iluminados hasta que no finalice la escritura de su contenido. El comentario con % aparece en color verde. El ! aparece en color dorado y los errores aparecen en color rojo entre otros.

4) Operaciones aritmticas. La jerarqua de los operadores aritmticos en MatLab es la misma que en el lenguaje de alto nivel C y se resume en la siguiente tabla: ESCALAR ^ * / \ + = MATRIZ ^ * / \ + [] VECTOR .^ .* ./ \. + [] DESCRIPCIN Exponenciacin Multiplicacin Divisin hacia la derecha Divisin hacia la izquierda Adicin Sustraccin Para asignar valores

El orden de ejecucin de los operadores anteriores es primero la exponenciacin; segundo la multiplicacin y divisin (igual prioridad) y tercero la adicin y sustraccin (igual prioridad). Si en la expresin hay varias operaciones con la misma prioridad, se ejecutan primero de izquierda a derecha. El uso de parntesis puede modificar el orden de los operadores aritmticos. 5) Usando MatLab como una calculadora. Despus de escribir las expresiones y presionando enter se despliega el resultado con la respuesta ans = y en la siguiente lnea el resultado. Haga lo siguiente:

>>7 + 8/2 >>(7 + 8)/2 >>4 + 5/3 +2 >>5^3/2 >>27^(1/3) + 32^0.2 >>27^1/3 + 32^0.2 >>0.7854 (0.7854)^3/(1*2*3) + 0.785^5/(1*2*3*4*5) -(0.785)^7/(1*2*3*4*5*6*7)

6) Formatos de salida para valores numricos. Matlab presenta los resultados con exactitud, pero aunque internamente siempre trabaja con clculos exactos para no arrastrar errores de redondeo, pueden habilitarse diferentes formatos de representacin aproximada, que en ocasiones facilitan la interpretacin de los resultados.

El entorno MatLab

COMANDO format short

format long format long e format short e format long g format short g format bank format rat format + format hex vpa operaciones n numeric (expr) double(x) digits (n)

DESCRIPCIN Se trata del formato por defecto de Matlab. Ofrece los resultados con 4 cifras decimales, para nmeros entre 0.001 y 1000. (Ver short e) Ofrece los resultados con 16 cifras decimales, para nmeros entre 0.001 y 100. (Ver long e) Ofrece los resultados con 16 decimales mas la potencia de 10 necesaria. Ofrece los resultados con 4 decimales mas la potencia de 10 necesaria. Ofrece los resultados en formato largo ptimo. Ofrece los resultados en formato corto ptimo. Ofrece los resultados con 2 cifras decimales. Ofrece los resultados en forma de nmero racional aproximado. Ofrece el signo de los resultados (+,-) e ignora la parte imaginaria de los nmeros complejos. Ofrece los resultados en el sistema hexadecimal. Ofrece el resultado de las operaciones con n dgitos decimales exactos. Ofrece el valor de la expresin de forma numrica aproximada segn el formato actual activo. Ofrece los resultados con n dgitos exactos.

Ejemplo: Veamos varias representaciones en diferentes formatos de la divisin: 257 13 rea de trabajo de la ventana COMMAND WINDOW de Matlab. >> 257/13 >> format long; 257/13 >> format long e; 257/13 >> format long g; 257/13 >> format short e; 257/13 >> format short g; 257/13 >> format bank; 257/13 >> format hex; 257/13 >> format rat;1/2+1/3+1/4 >> vpa '257/13' 12 >> vpa '257/13' 17 >> digits(25); vpa '257/13' >> vpa 'pi' 20 >> vpa 'pi' 50 >> vpa 'exp(1)' 25 >> vpa 'exp(1)' 55 >> digits(55); vpa 'exp(1)' >> vpa '6^400' 465 El resultado de la operacin es exacto, siempre que aparezca un punto al final del resultado. Si se quieren menos cifras Matlab redondea la cifra y completa el resultado con potencias de 10. >> vpa '6^400' 45 >> format rat; 10/23+ 2.45/44

El entorno MatLab 7) Funciones matemticas, trigonomtricas y de redondeo. Funcin sqrt(x) exp(x) abs(x) log(x) log10(x) factorial(x) sinh(x) cosh(x) tanh(x) sec(x) sech(x) acsc(x) sind(x) factor(x) lcm(x,y) factorial(x) round(x) ceil(x) rem(x,y) Descripcin Raz cuadrada Exponencial (ex ) Valor absoluto Logaritmo natural Logaritmo decimal Factorial de x! Seno hiperblico de x Coseno hiperblico de x Tangente hiperblica de x Secante de x Secante hiperblica de x Arco cosecante de x Seno de x en grados Encuentra los factores primos de x Encuentra el mnimo comn mltiplo de x e y. Calcula el valor de factorial de x Redondea hacia el entero ms prximo Valor entero ms prximo hacia + Residuo de la divisin (2 argumentos que no tienen que ser enteros) Funcin sin(x) cos(x) tan(x) cot(x) asin(x) acos(x) atan(x) acot(x) coth(x) asec(x) csc(x) csch(x) asind gcd(x,y) rats(x) primes(x) fix(x) floor(x) sign(x) Descripcin Seno del ngulo x en radianes Coseno del ngulo x en radianes Tangente de x en radianes Cotangente de x en radianes Arco seno de x en radianes Arco coseno de x en radianes Arco tangente de x en radianes Arco cotangente de x en radianes Cotangente hiperblica de x en rad Arco secante de x en radianes Cosecante de x en radianes Cosecante hiperblica de x en rad Arco seno de x en grados Encuentra el mximo comn denominador Representa a x como un quebrado Encuentra todos los nmeros primos menores que x Redondea hacia el entero ms prximo a 0 Valor entero ms prximo hacia - Devuelve -1 si x<0; 0 si x=0 y 1 si x>0. Aplicada a un nmero complejo, devuelve un vector unitario en la misma direccin

Haga lo siguiente:

>>round(17/5) >>floor(-9/4) >>fix(13/5) >>rem(13,5) >> ceil(11/5) >>sign(5) >> round(8.6) >> fix(8.6) >> fix(-8.6)

>> factor(12) >>gcd(10,15) >> floor(-8.6) >> ceil(-8.6) >>factorial(6) >>primes(10) >> sin(0) >> cos(pi) >> tan(pi)

>> lcm(2,5) >> lcm(2,10) >>rats(1.5) >>asin(-1) >>sinh(pi) >>asinh(1) >>sind(90) >>asind(90)

El entorno MatLab 8) Definiendo el nombre de la variable y su asignacin. En MatLab el signo = significa asignacin nombre_variable = un valor numrico o una expresin calculada.

El lado derecho se asigna al nombre _ variable del lado izquierdo y aqu solo se pueden escribir variables. El nombre de una variable debe comenzar con una letra y puede tener dgitos y el guin bajo. Se permite un mximo de 63 caracteres en el nombre de una variable. Matlab si hace diferencia entre las minsculas y maysculas en el nombre de la variable. No se permite el nombre de funciones para definir variables. No se requiere definir las variables. x = 0:0.05:10; >> a = 12 >> B = 4 >> C = (a-B) + 40 a/B*10 >> a = 12, B = 4;C = (a-B) + 40 a/B*10;

Realice las siguientes operaciones: >> x = 15 >> x = 3*x 12

>> a = 12; >> B = 4; >> C = (a-B) + 40 a/B*10; >> C >> ABB = 72; >> ABB = 9; >> ABB

>> x = 0.75; >> E = sin(x)^2 + cos(x)^2

Otras operaciones de nmeros irracionales y reales:

NUMERO pi exp(1) Inf NaN realmin realmax

DESCRIPCIN Nmero = 3.1415926 Nmero e = 2.7182818 Infinito Indeterminacin Menor nmero real positivo utilizable Mayor nmero real positivo utilizable

El entorno MatLab >> format long >> 1/0 Warning: Divide by zero. ans = Inf >> 0/0 Warning: Divide by zero. ans = NaN >> realmin ans = 2.225073858507201e-308 >> realmax ans = 1.797693134862316e+308

Problema 1.1 Identidad trigonomtrica. Una identidad trigonomtrica est dada por:
cos 2 tan x senx x 2 2 tan x

Verifique que la identidad es correcta calculando cada lado de la ecuacin, sustituyendo el valor x= / 5. Solucin: Utilizando el rea de trabajo Command Window de MatLAb tenemos:

>> x = pi/5; >> LI = cos(x/2)^2 LI = 0.9045

% Define x % Calcula el lado izquierdo

>> LD = (tan(x) + sin(x))/(2*tan(x)) LD = 0.9045

%Calcula el lado derecho

Con lo cual se demuestra que la identidad es correcta.

El entorno MatLab Problema 1.2 Geometra y trigonometra.

Cuatro crculos estn circunscritos, como se muestra en la figura. En cada punto de dos crculos estn en contacto por la tangente de cada uno. Determine la distancia entre los centros C2 y C4. El radio de los crculos son: R1 = 16 mm, R2 = 6.5 mm, R3 = 12 mm y R4 = 9.5 mm.

Solucin:

Las lneas que conectan al centro de los crculos crean cuatro tringulos. En dos de los tringulos C1C2C3 y C1C3C4, las longitudes de todos los lados son conocidas. Esta informacin es usada para calcular el ngulo 1 y 2 en estos tringulos usando la ley de los cosenos. Por ejemplo, 1, es calculado por: (C2C3 )2 = ( C1C2 )2 + (C1C3 )2 2(C1C2 )(C1C3 ) cos 1 1 = acos[( C1C2 )2 + (C1C3 )2 (C2C3 )2 / 2(C1C2 )(C1C3 )] Tambin, la longitud de cada lado C2C4 es calculada considerando el tringulo C1C2C4. Nuevamente, usando la ley de los cosenos, las longitudes C1C2 y C1C4 son conocidas y el ngulo 3 es la suma de los ngulos 1 y 2. Utilizando el rea de trabajo Command Window de MatLAb tenemos:

El entorno MatLab

>> R1 = 16; R2 = 6.5; R3 = 12; R4 = 9.5; % Define los radios >> C1C2 = R1 + R2; C1C3 = R1 +R3; C1C4 = R1 +R4; %Calcula la longitud de los lados >> C2C3 = R2 + R3; C3C4 = R3 + R4; >> gama1 = acos((C1C2^2 + C1C3^2 - C2C3^2)/(2*C1C2*C1C3)); >> gama2 = acos((C1C3^2 + C1C4^2 - C3C4^2)/(2*C1C3*C1C4)); >> gama3 = gama1 + gama2; % Calcula 1, 2 y 3 >> C2C4 = sqrt(C1C2^2 + C1C4^2 - 2*C1C2*C1C4*cos(gama3)) % Calcula la distancia C2C4 = 33.5051

La distancia entre C2 y C4 es 33.5051 mm. Problema 1.3: Transferencia de calor. Un objeto con una temperatura inicial T0 en el tiempo t = 0 dentro de un compartimiento que tiene una temperatura constante de Ts, experimentar un cambio acorde a la ecuacin: T = Ts + ( T0 - Ts ) e-kt Donde: T es la temperatura del objeto en el tiempo t, y k es una constante. Una lata de refresco con una temperatura de 120F (estuvo en el coche) es colocada dentro de un refrigerador donde la temperatura es 38F. Determina el grado ms cercano a la temperatura de la lata despus de tres horas. Asuma k = 0.45. Primero defina todas las variables y luego calcule la temperatura usando un comando Matlab. Solucin: Utilizando el area de trabajo Command Window de MatLAb tenemos:

>> Ts =38; T0 = 120; k = 0.45; t = 3; >> T = round(Ts + (T0 - Ts)*exp(-k*t)) % Redondea al entero ms cercano T= 59

La temperatura despus de tres horas es 59 F.

Problema 1.4 Inters Compuesto. El balance B de una cuenta de ahorro despus de t aos con un principal P es invertido a una tasa de inters r y el inters compuesto n aos despus, est dado por: B = P( 1 + r/n)n t Si el inters compuesto es anualmente, esta dado por: (1)

El entorno MatLab B = P(1 + r)t (2)

10

En una cuenta $5,000 son invertidos a 17 aos donde el inters compuesto es anualmente. En una segunda cuenta $5,000 son invertidos con un inters compuesto mensualmente. En ambas cuentas la tasa de inters es 8.5%. Utiliza Matlab para determinar en cunto tiempo(en aos y meses) tomar el balance de la segunda cuenta para ser igual que el balance de la primera cuenta despus de 17 aos. Solucin: Realice los siguientes pasos: a) Calcule B para $5,000 invertido en una tasa de inters compuesto en la cuenta despus de 17 aos usando la ecuacin (2). b) Calcule t para B calculado en el inciso a), con un inters compuesto mensualmente con la frmula (1). c) Determine el nmero de aos y meses que corresponden a t.

Utilizando el rea de trabajo Command Window de MatLAb tenemos:

>> P = 5000; r = 0.085; ta = 17;n = 12; >> B = P*(1 + r)^ta % Calcula B de la ec. (2) B= 2.0011e+004 >> t = log(B/P)/(n*log(1 + r/n)) %Resuelve la ec.(1) para t y lo calcula t= 16.3737 >> aos = fix(t) aos = 16 % Determina el nmero de aos

>> meses = ceil((t - aos)*12) meses = 5

% Determina el nmero de meses

El tiempo corresponde a 16 aos y 5 meses.

You might also like