Você está na página 1de 19

GUA MATLAB ALGEBRA II Aux. Univ.

Erick Balderrama


GUIA BASICA MATLAB - ALGEBRA II



1. INTRODUCCIN

La primera versin de matlab data de los aos 70, y fue diseada como herramienta de apoyo para los cursos de Teora
de Matrices, lgebra Lineal y Anlisis Numrico. El nombre matlab es un acrnimo: MATrix LABoratory. Hoy en da,
matlab es un programa muy potente, con un entorno agradable, que incluye herramientas de clculo cientfico y tcnico
y de visualizacin grfica, as como un lenguaje de programacin de alto nivel.


En los ltimos aos, el uso del MATLAB se ha extendido, tanto por su fcil manejo como por su rpida visualizacin de
grficas. La Ingeniera no est ajena a esta forma de programar.
El presente curso tratar de cubrir los aspectos bsicos de MATLAB, as como ver las bondades de su uso en la disciplina
de la Ingeniera.

2. INTERFAZ GRFICA



GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

3. OPERACIONES BSICAS EN MATLAB
En el cuadro siguiente se ilustran las operaciones aritmticas bsicas, el smbolo que emplea MATLAB y un ejemplo:

El orden en que estas operaciones se evalan en una expresin est dada por la siguiente regla de precedencia:

Las expresiones se evalan de izquierda a derecha, con la operacin de potencia teniendo el
orden de precedencia ms alto, seguido por la multiplicacin y divisin que tienen ambas igual
precedencia y seguidas finalmente, por suma y resta que tienen igual precedencia.

Se pueden emplear parntesis para alterar esta usual ordenacin, en cuyo caso la evaluacin se inicia dentro del
parntesis ms interno y procede hacia afuera.
Ejemplos:
a) 2 ^ 3 - 5 - 6 / 3 * 2 (2^3)-5-((6/3)*2 ) resp= -1
b) 2 ^ 3 - 5 - 6 /( 3 * 2) (2^3)-5-(6/(3*2)) resp= 2
c) (2 ^ 3 - 5 6) / 3 * 2 ( ((2^3)-5-6)/3)*2 resp = -2

Otras operaciones matemticas


Ejemplos:

GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama


4. VARIABLES
Al igual que cualquier lenguaje de computadora MATLAB tiene reglas acerca de los nombres de las variables.
MATLAB distingue minsculas de maysculas, esto quiere decir que A y a representan variables diferentes.
Las variables pueden contener hasta 19 caracteres y comenzar por una letra seguida de cualquier nmero de
letras, dgitos o guiones de subrayado. Ejemplo: suma, A, B, c, S3, CIRCULO, Circulo, valor_propio,etc.
El nombre de la variable no debe incluir caracteres especiales como ser: + - * / > < = , etc.
Ejemplo:
En el siguiente rectngulo:
b=altura; a=base; d=diagonal
Dar valores a las variables de altura y base
Y calcular:
Area=base*altura diagonal =


Ejemplo 2
Si queremos calcular el espacio recorrido por un mvil en movimiento rectilneo y uniforme de velocidad v0 = 5 m/s,
para distintos tiempos, es necesario actualizar la variable espacio para cada valor del tiempo:

>> v0=5, t=1, s=v0*t
>> t=3 %Cambiamos el valor de t
>> s %s no se ha actualizado
>> s=v0*t %actualizacin de s


4.1 VARIABLES PREDEFINIDAS











GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

4.1.1. Informacin sobre las variables
Para obtener informacin sobre las variables definidas en una sesin de trabajo se utilizan las rdenes who y whos.
La primera muestra las variables que tienen valores asignados, la segunda nos da adems informacin sobre el tamao y
el tipo de dato.
>> who
>> whos
Puede observarse que MATLAB utiliza los escalares como matrices 11.

4.1.2 Cmo borrar variables
La orden clear all borra de la memoria todas las variables definidas hasta el momento; si a la orden clear se le
aade una lista de variables (separadas por espacios en blanco) slo se borrarn las variables de la lista.
>> clear t
>> s=v0*t
>> who
5. FUNCIONES TRIGONOMETRICAS

6. OPERACIONES CON IMAGINARIOS

Comandos para trabajar con variables que contengan nmeros imaginarios:




GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

VECTORES











Otras formas de asignar vectores


Ejemplo .- Supongamos que queremos calcular los espacios recorridos por un mvil a velocidad v0 = 5 m/s, para 5
instantes correspondientes a los 2 primeros segundos del movimiento:

>> t=linspace(0,2,5)
>> v0=5
>> s=v0*t

Obsrvese que, como caba esperar, el resultado del producto de un escalar por un vector es el vector de las posiciones en
los instantes correspondientes.
Si nos interesa conocer las posiciones en instantes de tiempo separados por 0.3 segundos

>> t=[0:0.3:2]
>> s=v0*t
1
3
-5
8
-9
1 3 -5 8 -9
Vector Columna
Vector Fila
V=[1;3;-5;8;-9]
V1=[1,3,-5,8,-9]
V2=[1 3 -5 8 -9]
GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

MATRICES







Ejemplo: Introducir las siguientes matrices:


NOTACIN PARA FORMAR SUBMATRICES Y MATRICES AUMENTADAS
Ejemplo:
Introduce las siguientes matrices





1 2 0
3 -3 4
5 7 -1

M=[1,2,0;3,-3,4;5,7,-1]
GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

OPERACIONES CON MATRICES

FUNCIONES ESPECFICAS PARA MATRICES

Ejemplo: Introduzca las siguientes matrices.

Resolver las siguientes operaciones:






Ejemplo 2: Introduzca las siguientes matrices.

GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

Realie las siguientes operaciones




PRODUCTO ENTRE DOS MATRICES







OTROS COMANDOS PARA MATRICES


GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama




PROPIEDADES DE LAS MATRICES
Introduzca las siguientes matrices

1. (A+B)+C = A+(B+C) Asociatividad
2. (A+B)= A+ B donde es un nmero entero
3. A(B+C)=AB+AC Distributividad
4. (A')'=A traspuesta
5. (A+B)'=A'+B'



GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

SISTEMAS DE ECUACIONES
Ejemplo
2x y + z = 3
x + y =3
y -3z = -7

Existen tres formas de resolver un sistema de ecuaciones.
PRIMERO DEBEMOS DEFINIR DOS MATRICES UNA MATRIZ A CON LOS INDICES DE LAS INCOGNITAS Y UNA
MATRIZ b CON LOS VALORES INDEPENDIENTES.
A =



b =


PRIMERA FORMA.- matriz ampliada
La matriz ampliada ser
Ab =




>> Ab = [ ]
>> rref(Ab)
Entonces el resultado ser:
(



)
Lo que significa x=1 , y=2, z=3
SEGUNDA FORMA.-INVERSA x =


>>X=inv(A)*b
El resultado ser:
X= donde x=1, y=2, z=3
1
2
3




GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

TERCERA FORMA.- DIVISIN INVERSA
>>X1= A\b
El resultado ser:
X= donde x=1, y=2, z=3
1
2
3

Ejemplos
2 -4
Resp. -3 Resp 7
1 0.5

2. GRFICAS EN MATLAB


PARMETROS DE COLORES Y FORMAS PARA DIBUJO EN MATLAB





GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

COMANDOS PARA DIBUJO EN MATLAB
COMANDO ACCIN
grid on Muestra el enrejado de los ejes
grid off Oculta el enrejado de los ejes
xlabel(texto para el eje x) Muestra el texto sobre el eje x
ylabel(texto para el eje y) Muestra el texto sobre el eje y
zlabel(texto para el eje z) Muestra el texto sobre el eje z
title(Ttulo de la grfica) Muestra el ttulo de la grfica
axis on Muestra los ejes de coordenadas
axis off Oculta los ejes de coordenadas
axis([x1,x2,y1,y2,z1,z2]) Determina los lmites de la grfica. En grficos bidimensionales
no se incluyen z1, z2.
axis auto impone los lmites establecidos por defecto por MATLAB
([-10,10,-10,10,-0.5,1])
view(r,e)


en las grficas tridimensionales permite cambiar el
punto de observacin del objeto representado.
Los valores por defecto son r=-37.5, e=30

hold on Todas las rdenes de dibujo entre ambos comandos se
. . . ejecutan sobre la misma ventana grfica, sin borrar lo anterior.
hold off
Crea una nueva ventana grfica, la activa y la trae al frente,
figure delante de todas las ventanas abiertas.
figure(h) En el primer caso le asigna un nmero de forma automtica.
En el segundo caso le asigna el nmero h, es decir, el nombre
Figure No. h

close Cierra la ventana grfica activa, en el primer caso, o la de
close(h) nmero h, en el segundo.

subplot(m,n,p) Este comando permite dividir la ventana grfica en una
matriz mxn de sub-ventanas grficas, activando para dibujar
la p-sima de ellas.

Ejemplo subplot.
>> subplot(2,2,1); ezcontour('x*exp(-x^2 - y^2)');
>> subplot(2,2,2); ezmeshc('sin(u/2)*sin(v/2)');
>> subplot(2,2,3); ezmesh('x*exp(-x^2 - y^2)');
>> subplot(2,2,4); ezplot('sin(3*x)');

GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

Otros comandos de dibujo
COMANDO ACCION EJEMPLO
plot(x,y) Si x e y son dos vectores de la misma dimensin, n, >> x=0:pi/100:4*pi; y=sin(x).*cos(x/3);
dibuja una curva (lineal a trozos) que pasa por los >> plot(x,y)
puntos (xi , yi), i=1, n

plot(x1,y1,x2,y2) Dibuja las dos curvas (x1i , y1i), i=1, n1 y >> x=0:pi/100:4*pi;
(x2i , y2i), i=1, n2 en la misma ventana y en los >> y=sin(x).*cos(x/3); z=sin(x).*cos(x/2);
mismos ejes >> plot(x,y,x,z)

plot(x,A) donde x es un vector-columna (resp. fila) y A es una >> x=0:pi/100:4*pi;
matriz, dibuja tantas curvas (xi , Aij), i=1, n (como >> A=[sin(x);sin(x/2);sin(x/3);sin(x/4)];
columnas (resp. filas) tenga la matriz A >> plot(x,A)

plot(x,y,param) donde param es una cadena de caracteres como >> x=0:pi/100:4*pi; y=sin(x).*cos(x/3);
mximo, >> plot(x,y,r*)

plot3(x,y,z) Si x , y , z son tres vectores de la misma dimensin, >> alpha=0:pi/80:8*pi; z=alpha/8;
plot3(x,y,z,param) n, dibuja una curva tridimensional (lineal a trozos) >> x=z/(8*pi)+z.*cos(alpha);
que pasa por los puntos (xi , yi , zi), i=1, n >> y=z/(8*pi)+z.*sin(alpha);
>> plot3(x,y,z)

semilogy grafica en escala semilogaritmica

log log Grafica en escala logaritmica


Ejemplo aplicado para laboratorios de fsica bsica
Suponga que registra el crecimiento, L en cm, de cierto roedor y que a su vez registra su masa, m en g. La siguiente tabla muestra los resultados
obtenidos:

t (semanas) 1 2 3 4 5
L (cm) 1.0 1.6 3.0 6.2 12.8
m (g) 0.1 0.3 2.1 19.0 168.7

Defina los vectores t, L y m:
Iniciar el editor de comandos
>> t=[1.0 2.0 3.0 4.0 5.0];
>> L=[1.0 1.6 3.0 6.2 12.8];
>> m=[0.1 0.3 2.1 19.0 168.7];

GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

grafique L como funcin de t:
>> figure(1)
>> hold on
>> subplot(2,2,1);plot(t,L,'bo')
>> hold on
>> xlabel('Tiempo')
>> ylabel('Longitud')
>> title('PUNTOS L vs t')
>> hold off
Observe su grfica, parece que los puntos se ajustan a una lnea recta? Para poder ajustarlos a una recta, hagamos lo siguiente; grafiquemos los
puntos con una escala semilogartmica. Para ello, ejecute la siguiente sentencia:
>> subplot(2,2,2);semilogy(t,L,rd)
>> hold on
>> xlabel('Tiempo')
>> ylabel('Longitud')
>> title('PAPEL SEMILOG)
>> hold off
Ahora los datos debern de observarse sobre una lnea recta. Note que la escala horizontal (el eje de tiempo) es lineal y la escala vertical (el eje de
crecimiento) es logartmico. A este tipo de grfica se le denomina semilogartmica.
Empleando polyfit podemos encontrar la funcin que se ajusta a la lnea que se muestra en la grfica. Debemos recordar que L tiene una
relacin logartmica (log
10
) con t. Entonces, se debe emplear el comando de la siguiente forma:
>> polyfit(t,log10(L),1)
ans =

0.2803 -0.3246

>> a=0.2803;b=-0.3246;

Nuevamente MATLAB da como resultado un par de nmeros. Cmo interpretar estos resultados? De la siguiente manera:
log L at b
dado que L est siendo graficado logartmicamente. Para obtener L, tenemos:


log
10 10
10
at b L
at b
L


por lo tanto, el crecimiento de los roedores resulta aumentar exponencialmente con respecto al tiempo.
Para verificar que nuestro modelo es correcto, pruebe lo siguiente:
>> subplot(2,2,3);plot(t,L,gx)
>> hold on
>> xlabel('Tiempo')
>> ylabel('Longitud')
>> title(GRAFICA L vs t)
>> x=[1:0.01:5];
>> y=10.^(a*x+b);
>> plot (x,y,r)
>> hold off
>> hold off % cerrando el comando abierto al comienzo

Nuevamente, no olvide sustituir los valores numricos de a y b. Agregue etiquetas a los ejes y en el ttulo incluya su nombre, grupo y fecha.
Imprima su grfica.
Finalmente exploraremos la relacin entre la longitud L y la masa del roedor m. Para graficar L en funcin de m escriba:

GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

>> figure(2)
>> hold on
>> subplot(2,2,1);plot(L,m,gs)
>> hold on
>> xlabel('Longitud')
>> ylabel('Masa')
>> title('PUNTOS M vs L')
>> hold off

Los puntos marcados por crculos rojos no parecen en esta ocasin ajustarse por medio de una lnea recta. Cmo poder aproximarlos a una lnea
recta? Grafquelos probando una grfica semilogartmica, como por ejemplo:

>> subplot(2,2,2);semilogy(L,m,m+)
>> hold on
>> xlabel('Longitud')
>> ylabel('Masa')
>> title('GRAFICA SEMILOG)
>> hold off

Es ahora una lnea recta? Pruebe graficar los puntos en una grfica log-log (logartmica).

>> subplot(2,2,3);loglog(L,m,c*)
>> hold on
>> xlabel('Longitud')
>> ylabel('Masa')
>> title('GRAFICA PAPEL LOG-LOG)
>> hold off

Sin duda, ahora los datos parecern ajustarse a una lnea recta. Note que en este ejercicio las escalas de ambos ejes son logartmicas. Podemos
emplear la funcin polyfit para encontrar la ecuacin de esta recta, para ello escriba:

>> polyfit(log10(L),log10(m),1)
ans =

2.9537 -1.0636

>> c=2.9537;d=-1.0636;

MATLAB obtendr un par de valores que corresponde a la pendiente y la interseccin con el eje y. Esto significa que los datos estn relacionados de
la siguiente manera:
d L c m log log
de aqu que entonces:

d c
d
c
L
d L c
d L c m
L m
m
m
10
10 10
10 10
10 10
log
log
log log






y por lo tanto:
c d
L m 10
GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

lo cual quiere decir que la masa del roedor debe de ser aproximadamente proporcional a la a potencia de su longitud. Para comprobar este
modelo, haga lo siguiente:
>> subplot(2,2,4);plot(L,m,ko)
>> hold on
>> x1=[0:0.01:14];
>> y1=(10^d*x1.^c);
>> plot(x1,y1,m)
>> hold off
>> hold off % cerrando el comando abierto al comienzo

3. PROGRAMACIN BSICA
Operadores de relacin o comparacin
Los siguientes operadores producen como resultado un valor lgico:

true (cualquier valor distinto de cero)
false (cero)

Cuando estos operadores se utilizan para comparar dos matrices de las mismas dimensiones, el resultado es otra matriz
de la misma dimensin y la comparacin se realiza elemento a elemento.
Cuando se utilizan para comparar un escalar con una matriz, el resultado es una matriz, y se compara el escalar con cada
uno de los elementos.
== Igual a
~= No igual a
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
ALGORITMO
S CON SENTENCIAS IF
En su forma ms simple se escribe en la forma siguiente:



if condicin

Sentencias
end



Tambin se puede utilizar en la forma:


if condicion
sentencias-1
else
sentencias-2
end

GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama


Su forma ms compleja es:

if condicion-1
sentencias-1
elseif condicion-2
sentencias-2
elseif condicion-3
sentencias-3
else
sentencias-4
end

Ejemplos con algoritmos sencillos:
COMANDOS
COMANDO ACCION EJEMPLO
disp Imprimir o mostrar en pantalla disp('texto que se quiere observar')

input Introduce datos desde teclado c=input('sentencia para introducir el dato')
y los asigna a una variable c

For Comado para asignar un rango de datos

if
else sentencia IF
end
switch Utilizado para elegir una opcion en
case caso de varias sentencias
otherwise

Ejemplo1:Realizar un programa que permita calcular



GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

SOLUCIN:
clc
'TRANSFORMACIN DE CIRCUITOS TRIFASICOS' %Muestra el ttulo del programa
disp('1. Transformacin de estrella a delta')
disp('1. Transformacin de delta a estrella ')
operacion=input('Elija una opcin:')
switch operacion
case 1
R10=input('Introduce el valor de R10:')
R20=input('Introduce el valor de R20:')
R30=input('Introduce el valor de R30:')
Num=(R10*R20)+(R10+R30)+(R20*R30);
'R12='
Num/R30
'R13='
Num/R20
'R23='
Num/R10
case 2
R12=input('Introduce el valor de R12:')
R13=input('Introduce el valor de R13:')
R23=input('Introduce el valor de R23:')
Den=(R12+R13+R23);
'R10='
(R12*R13)/Den
'R20='
(R23*R12)/Den
'R30='
(R23*R13)/Den
otherwise
disp('Escogi mal su opcin')
end

GUA MATLAB ALGEBRA II Aux. Univ. Erick Balderrama

Bibliografa de apoyo
Algebra Lineal - Stanley Grossman (6ta Edicion)
Manual de Matlab - Dr. Rafael Hernndez Walls
Aprenda Matlab 7.0 como si estuviera en primero - Javier Garca de Jaln

Você também pode gostar