Sunteți pe pagina 1din 35

Laboratorio de Estadstica (CESA)

MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

1
lgebra Lineal

Matlab
2008
Ejemplos de comandos bsicos de MATLAB

Operaciones Bsicas
>> 5+3
ans = 8
>> 3^2
ans = 9
Almacenamiento de datos en variables
>>a=4;
>>a
a=4
Almacenamiento de un vector en una variable
>> b=[3 5 4 2]
b= 3 5 4 2
>>c=[ 3;6;4]
c=
3
6
4
Almacenamiento de una matriz en una variable
>>A=[ 3 6 5; 4 8 9; 3 6 9;-8 2 17]
A=
3 6 5
4 8 9
3 6 9
-8 2 17
Sistemas de ecuaciones lineales y matrices
Ejemplo 1. Un sistema con una solucin nica:
x-y=7
x+y=5
>> rref([1 -1 7;1 1 5])
Ans=
6
-1
El par (6,-1) satisface al sistema

Ejemplo 2. Un sistema con un nmero infinito de soluciones:
x-y=7
2x-2y=14
>>rref([1 -1 7;2 -2 14])
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

2
lgebra Lineal

Matlab
2008
Ans=
Nmero infinito de soluciones
(7,0),(0,-7),(8,1),(1,-6),(3,-4) y (-2,-9)
Ejemplo 3. Un sistema sin solucin
x-y=7
2x-2y=13
Al multiplicar la primera ecuacin por 2 se obtiene 2x-2y=14, esto contradice la segunda ecuacin. Entonces, el
sistema no tiene solucin

En los problemas 1 al 9 encuentre las soluciones (si las hay) de los sistemas dados. En casa caso calcule el valor
de a11a22-a12a22.



a=input('Ingrese Matriz de coeficientes=');
b=input('Ingrese vector columna de resultados');
t=size(a);
c=t(2); % Numero de Variables
m=rank(a); %Rango de la matriz de coefiencientes
ma=rank([a,b]); % Rango de la matriz ampliada
if m==c
r=rref([a b]);
disp('nica Solucin')
disp('Reduccin por filas Metodo Gauss-Jordan')
disp(r)
elseif ma<c
disp('Infinitas Soluciones')
disp('Reduccin por filas Metodo Gauss-Jordan')
r=rref([a b]);
disp(r)
1. x -3y=4
-4x+2y=6
2. 2x - y=-3
5x+7y=4
3. 2x - 8y=5
-3x +12y=6
4. 2x - 8y=6
-3x+12y=-9
5. 6x+y=3
-4x-y=8
6. 3x +y=0
2x-3y=0
7. 4x - 6y=0
-2x+3y=0
8. 5x +2y=3
2x +5y=3
9. 2x+3y=4
3x+4y=5
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

3
lgebra Lineal

Matlab
2008
elseif m~=ma
disp('No tiene Solucion')
disp('Reduccin por filas Metodo Gauss-Jordan')
r=rref([a b]);
disp(r)
end
En los siguientes problemas encontrar el punto de interseccin (si hay uno) de las dos rectas


Hallar la Fuerza Resultante
R=F1+F2+F3
F=|F|*ef
|F| Mdulo de la fuerza
Ef vector unitario
>> f1=(100*sqrt(13)*([0 6 3]-[2 6 0]))/norm([0 6 3]-[2 6 0]);
>> f2=(50*sqrt(10)*([2 6 0]-[0 0 0]))/norm([2 6 0]-[0 0 0]);
>> f3=(525*([0 0 3]-[2 6 0]))/norm([0 0 3]-[2 6 0]);
>>R=f1+f2+f3
R =
-150 -450 225

Calcular el Angulo formado por los cables AD y AB
>> A=[0,0,48];
>> B=[12,16,0];
>> C=[-24,16,0];
>> D=[0,-14,0];
>> AD=D-A;
>> AB=B-A
AB =
12 16 -48
% acos en radianes, acosd en decimal
>> alpha=acosd(dot(AD,AB)/(norm(AD)*norm(AB)))
alpha =
36.8699

=36.86

1. x - y=7
2x+3y=1
2. y-2x=4
4x-2y=10
3. 4x -6y=7
6x -9y=12
4. 4x-6y=10
6x-9y=15
5. 3x+y=4
y-5x=2
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

4
lgebra Lineal

Matlab
2008
Una fuerza de 120N acta sobre un soporte, determinar el momento respecto del punto A.
M=F*d

>> Fx=120*cosd(30);
>> Fy=120*sind(30);
>> [d1 d2]=[120 140];
>> d1=120;,d2=140;
>>M=-Fx*d1+Fy*d2;
M=-4070,4 [Nmm]

>> F=[Fx,Fy,0];
>> r=[d2,d1,0];
>>M cross(r,F)
M =
1.0e+003 *
0 0 -4.0708
M=-(0, 0, -4070.8) [Nmm]


3 Cables estn sujetos a un soporte segn se indica en la figura, sustituir las fuerzas ejercidas por los cables por
una fuerza equivalente aplicado en A.


>>edit
clear
a=[0 0 100];
b=[50 75 100];
c=[-50 75 100];
d=[0,100,0];

r1=c-a;, r2=b-a;, r3=d-a;

f1=1000*r1/norm(r1);
f2=700*r2/norm(r2);
f3=1200*r3/norm(r3);
R=f1+f2+f3
R =
1.0e+003 *
-0.1664 2.2630 -0.8485

M=cross(r1,f1)+cross(r2,f2)+cross(r3,f3)
M =
1.0e-011 *
0 0 -0.3638

Fuerza Resultante R=(-166.4,2263,-848.5) [N]
Momento Resultante M=(0,0,0) [mmN]
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

5
lgebra Lineal

Matlab
2008
Matlab distingue minsculas y maysculas. Esto es decir que a y A representan variables diferentes.

Introduccin de matrices
Los elementos de un rengln se separan por espacios y las columnas se separan por ;.

Produce la matriz 3x1
>> t=[9;-6; 3]
t =
9
-6
3
Produce la matriz 1x3
>> h=[ 3 6 9]
h =
3 6 9
Produce la matriz de 3x3
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
Notacin para formar las sub-matrices y las matrices aumentadas.
>> a=A(2,3) % a es el segundo elemento, tercera columna de la matriz A.
a =
6
>> b=A(3,:) % b es la tercera fila, todas las columnas
b =
7 8 9
>> c=A(:,3) % c es todas las filas, tercera columna
c =
3
6
9
>> d=A([2 3],:) %d es la segunda y tercera fila, todas las columnas
d =
4 5 6
7 8 9
>> e=[A, b'] % es la matriz ampliada con la matriz b (traspuesta)
e =
1 2 3 7
4 5 6 8
7 8 9 9


Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

6
lgebra Lineal

Matlab
2008
Ejecucin de operaciones con renglones
A =
1 2 3
12 15 18
7 8 9
>> A(2,:)=3*A(2,:) % la fila 2 es multiplicada por 3 R23*R2
A =
1 2 3
36 45 54
7 8 9
>> A(2,:)=A(2,:)/4 % la fila 2 es dividida entre 4 R2 1/4*R2
A =
1.0000 2.0000 3.0000
3.0000 3.7500 4.5000
7.0000 8.0000 9.0000
>> A([2 3],:)=A([3,2],:) % Intercambia los renglones 2 y 3
A =
1.0000 2.0000 3.0000
7.0000 8.0000 9.0000
3.0000 3.7500 4.5000
>> A(3,:)=A(3,:)+A(2,:) %R3=R3+3*R2
A =
1.0000 2.0000 3.0000
7.0000 8.0000 9.0000
10.0000 11.7500 13.5000

Nota: Todos estos comandos cambian a la matriz A. Si se quiere conservar la matriz original A y llamar C a la
matriz cambiada.
>> C=A
C =
1.0000 2.0000 3.0000
7.0000 8.0000 9.0000
10.0000 11.7500 13.5000
>> C(2,:)=3*C(2,:)
C =
1.0000 2.0000 3.0000
21.0000 24.0000 27.0000
10.0000 11.7500 13.5000
>> C=rref(A) % C= forma escalonada reducida por renglones de A.
C =
1 0 -1
0 1 2
0 0 0

Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

7
lgebra Lineal

Matlab
2008
Generacin de matrices aleatorias
>> A=rand(2,3); % matriz 2x3 con elementos entre 0 y 1
>> A=2*rand(2,3)-1; % matriz 2x3 con elementos entre -1 y 1
>> A=4*(2*rand(2)-1); % matriz 2x2 con elementos entre -4 y 4
>> A=round(10*rand(3)); % matriz 3x3 con elementos enteros entre 0 y 10

Otras caractersticas usuales:
Help. Si se teclea help seguido de un comando MATLAB, aparecer una descripcin del comando.

Ejemplo.
Help: Dar una descripcin de cmo se puede usar ;en Matlab.
Help rref dar una descripcin del comando rref.

Comentarios: Si se inicia una lnea con el smbolo %, Matlab interpretar esto como una lnea de comentario.
Ejemplo.
% Este es un comentario

Supresin de la pantalla. Uso de ;: Si se quiere realizar un comando de Matlab y no se desea ver los reultados
desplegados, se finaliza el comando con un ; (punto y coma)

Para desplegar dgitos adicionales: Por defecto matlab despliega slo 4 dgitos despus del punto decimal. As,
4/3 aparece como 1.3333. El comando format long despliega 15 dgitos despus del punto decimal y despus
4/3, aparecer en la pantalla 1.333333333333333. Para regresar al despliegue normal de 4 dgitos despus del
punto decimal se da el comando format short y luego la operacin

Para lneas largas: Para extender una lnea se usa .

Practica 1
1. De la siguientes matrices de dos maneras diferentes.
[

] [



]

2. Forme C matriz aumentada (A\b) para las matrices A y b anteriores.
3. Forme D, una matriz aleatoria de 3x4 con elementos entre -2 y 2.
4. Forme B, una matriz aleatoria de 4x4 con elementos enteros entre -10 y 10
5. Forme K, la matriz obtenida a partir de B intercambiando las filas 1 y 4. No cambie B. (Primero haga K=B.
Despus cambie K).
6. Realice las operaciones con renglones R3R3+(-1/2)*R1 sobre la matriz C.
7. D el comando B([2 4],[1 3]). Use una lnea de comentario para describir la submatriz B que se produce.
8. use el cursor flecha arriba y localiza el comando que utilizo para realizar la operacin de la pregunta 6.
Modifique la lnea para realizar la operacin con renglones R2R2+3R1 y despus ejectela.
9. Encuentre la forma escalonada reducida por renglones de C usando el comando rref. Use este comando
para escribir un sistema equivalente de ecuaciones

Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

8
lgebra Lineal

Matlab
2008
Practica 2
Nota: Use el comando rref para encontrar la forma escalonada reducida por filas.
1. Las matrices siguientes son matrices ampliadas de los sistemas de ecuaciones que tienen un nmero infinito
de soluciones.




2. Utilice Matlab para reducir las matrices ampliadas siguientes a la forma escalonada reducida por filas pasa
por paso realizando las operaciones por filas. Verifique sus resultados usando el comando rref.
Nota: Si llam A a la matriz original, haga B=A al principio y verifique rref(B).


3. Muestre que el sistema con la matriz aumentada [A b] no tiene solucin.


4. Sera posible poner coeficientes para los que no existe una solucin? La pregunta es si la siguiente conjetura
es cierta: un sistema [A b] tiene solucin si b es una suma de mltiplos de las columnas de A- Por qu?

5. Pruebe esta conjetura para A formada por:
A=2*rand(5)-1
A(:,3)=2*A(:,1)-A(:,2)

>> A=2*rand(5)-1
A =
-215/1421 -149/2601 -1021/1470 -971/1888 -2910/6847
-1387/17744 -688/741 -469/1476 551/660 -727/889
1387/2567 -1631/2516 218/1015 -315/682 230/1509
-158/445 1327/2992 -590/957 531/1000 205/559
459/806 -176/3319 1164/2441 -335/538 625/6707

>> A(:,3)=2*A(:,1)-A(:,2)
A =
-215/1421 -149/2601 -131/534 -971/1888 -2910/6847
-1387/17744 -688/741 837/1084 551/660 -727/889
1387/2567 -1631/2516 389/225 -315/682 230/1509
-158/445 1327/2992 -1224/1061 531/1000 205/559
459/806 -176/3319 1279/1073 -335/538 625/6707



i.
9 27 3 3 12
9 27 10 1 19
1 3 5 9 6
ii.
1 0 1 -2 7 -4
1 4 21 -2 2 5
3 0 3 -6 7 2
iii.
1 2 -1 2
2 4 2 8
3 4 -7 0
i.
1 2 3 2
3 4 -1 -3
-2 1 0 4

ii.
1 2 -2 0 1 -2
2 4 -1 0 -4 -19
-3 -6 12 2 -12 -8
1 2 -2 -4 -5 -34

iii.
1 2 -2 0
2 4 -1 0
-3 -6 12 2
1 2 -2 -4
A=
1
-4
-12
3
b=
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

9
lgebra Lineal

Matlab
2008




Nota:
Suponga que se quieren resolver varios sistemas de ecuaciones en los que las matrices de coeficientes (los
coeficientes de las variables) son los mismos pero tiene lados derechos diferentes. Formando una matriz
aumentada ms grande se podrn resolver varios lados derechos. Suponga que A es la matriz de coeficientes y
que b y c son los lados derechos. Suponga que A es la matriz de coeficientes y que b y c son los lados derechos
diferentes; asigne sol=[A b c] y encuentre rref(sol)

6. Resuelva los 3 sistemas siguientes




7. Resuelva los 3 sistemas siguientes




8. Distribucin de calor:
Se tiene una placa rectangular cuyas orillas se mantienen a cierta temperatura. Se tiene inters en encontrar la
temperatura en los puntos interiores. Considere el siguiente diagrama. Se quieren encontrar aproximaciones
para los puntos T1 y T9, o sea, la temperatura de los puntos intermedios. Suponga que la temperatura en un
punto interior es el promedio de la temperatura de los cuatro puntos que lo rodean, arriba, a la derecha, abajo
y a la izquierda.









a) Usando esta suposicin, establezca un sistema de ecuaciones, considerando primero el punto T1, despus
el punto T2, etc. Rescriba el sistema de manera que todas las variables estn de un lado de la ecuacin. Por
ejemplo, para T1 se tiene:
b) T1=(100+T2+T4+50)/4
Que se puede rescribir como:
c) 4T1-T2-T4=150
d) Encuentre la matriz de coeficientes y la matriz aumentada.
e) Resuelva el sistema usando el comando rref. Observe que se obtiene una solucin nica

1 2 -1 2
2 4 2 8
3 4 -7 0
i.
1 2 3 2
3 4 -1 -3
-2 1 0 4

ii.
1 2 -2 0 1 -2
2 4 -1 0 -4 -19
-3 -6 12 2 -12 -8
1 2 -2 -4 -5 -34

iii.
x1 + x2 + x3 = 4
2*x1 + 3*x2 + 4*x3 = 9
-2*x1 + 3*x3 =-7
x1 + x2 + x3 = 4
2*x1 + 3*x2 + 4*x3 = 16
-2*x1 + 3*x3 = 11
x1 + x2 + x3 = -15
2*x1 + 3*x2 + 4*x3 = 0
-2*x1 + 3*x3 = -8
2*x1 + 3*x2 - 4*x3 = 1
x1 + 2*x2 - 3*x3 = 0
-x1 - 5*x2 - 11*x3 =-7
2*x1 + 3*x2 - 4*x3 = -1
x1 + 2*x2 - 3*x3 = -1
-x1 - 5*x2 - 11*x3 = 6
2*x1 + 3*x2 - 4*x3 = 1
x1 + 2*x2 - 3*x3 = 2
-x1 - 5*x2 - 11*x3 =-7
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

10
lgebra Lineal

Matlab
2008
9. Flujo de trfico
a) Considere el siguiente diagrama de una malla de calles de un
sentido con vehculos que entran y salen de las intersecciones. La
interseccin k se denota por [k]. Las flechas a lo largo de las calles
indican la direccin del flujo del trfico. Sea x1= nmero de
vehculos/h que circulan por la calle i. Suponiendo que el trfico
que entra a una interseccin tambin sale, establezca un sistema
de ecuaciones que describa el diagrama del flujo de trfico.

Por ejemplo, en la interseccin [1].
x1+x5+100=trfico que entra=trfico que sale=x3+300, lo que da x1-x3+x5=200

b) Resuelva el sistema usando el comando rref, Habr un nmero infinito de soluciones. Escriba las soluciones
en trminos de las variables que son las naturales para elegirse de manera arbitraria.
c) Suponga que la calle de [1] a [3] necesita cerrarse; es decir, x3=0. Puede cerrarse tambin la calle de [1] a
[4] (x5=0) sin cambiar los sentidos del trnsito? Si no se puede cerrar, Cul es la cantidad ms pequea de
vehculos que debe poder admitir esta calle (de [1] a [4])?

Ajuste de polinomios a puntos
Si se tienen dos puntos en el plano con coordenadas x distintas, existe una recta nica:


que pasa por ambos puntos. Si se tienen tres puntos en el plano con coordenadas x distintas, existe una
parbola nica:


que pasa por los tres puntos. Si se tienen n+1 puntos en el plano con coordenadas x distintas, entonces existe
un polinomio de grado n nico que pasa a travs de los n+1 puntos



Los coeficientes C1Cn+1 se pueden encontrar resolviendo un sistema de ecuaciones lineales.

Ejemplo:
P1=(2,5), P2=(3,10),P3=(4,-3)
Se quiere encontrar c1,c2,c3 de manera que

pase por los puntos P1,P2,P3.



As se tiene






Resolviendo el sistema se obtiene , que dice que la parbola que pasa por cada uno de los puntos es:

2 1

3 1

4 1
1 2 -2 -4
A=
5
10
3
b=
-9
50
-59
b=
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

11
lgebra Lineal

Matlab
2008



a) Para P1=(1,-1), P2=(3,3) y P3=(4,-2), establezca el sistema de ecuaciones para encontrar los coeficientes de
la parbola que se ajusta a los puntos. Sea A=matriz de coeficientes y b el vector columna. Resuelva el
sistema. En un comentario escriba la ecuacin de la parbola que se ajusta a los puntos, es decir, que pasa
por los tres puntos.

>>x=[1;3;4];
>> y=[5;10;-3];
>> V=vander(x) ; % Da la matriz de coeficientes deseada
>> c=V\y % (inv(V)*y); % Resuelve el sistema obteniendo los coef. del polinomio
>> s=min(x):.01:max(x); % Crea un vectores q contiene mucho elementos, cada uno entre el valor mnimo y
mximo de las coordenadas x, de manera que se pueda evaluar el polinomio en
mucho puntos para crear una buena grfica
>> yy=polyval(c,s); % Crea un vector yy que contiene las coordenadas y obtenidas evaluando el polinomio
en los elementos de s.
>> plot(x,y,'*',s,yy, 'k') % Produce una grfica de los puntos originales (con un smbolo * y un dibujo de la
grfica del polinomio.

Debe observarse que la grfica del polinomio pasa a
travs de los puntos (etiquetados con *).










Genere x=rand(7,1) y y=rand(7,1) o genere un vector de coordenadas x y un vector de coordenadas y de su
preferencia. Asegrese de que cambia (o elige) las coordenadas x de manera que sean distintas
>>edit
subplot(2,2,1)
x=rand(7,1);
y=rand(7,1);
V=vander(x);
c=V\y;
s=min(x):.01:max(x);
yy=polyval(c,s);
plot(x,y,'*',s,yy,'k')
grid

subplot(2,2,2)
x=rand(7,1);
y=rand(7,1);
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

12
lgebra Lineal

Matlab
2008
V=vander(x);
c=V\y;
s=min(x):.01:max(x);
yy=polyval(c,s);
plot(x,y,'*',s,yy,'k')
grid
Sistema de ecuaciones homogneos
El sistema general de mxn ecuaciones lineales se llama homogneo si todas las constantes b1,b2,bn son
cero. Es decir, el sistema general homogneo est dado por
a
11
x
1
+a
12
x
2
++a
1n
x
n
=0
a
12
x
1
+a
22
x
2
++a
2n
x
n
=0
a
1m
x
1
+a
m2
x
2
++a
mn
x
n
=0
Para el sistema lineal general existen tres posibilidades: que no tenga soluciones, que tenga una solucin o que
tenga un nmero infinito de soluciones. Para el sistema general homogneo solo se tiene dos posibilidades: la
solucin trivial es la nica solucin o existe un nmero infinito de soluciones adems de la trivial.
Un sistema homogneo que tiene slo la solucin trivial
Resuelva el sistema de ecuaciones homogneo
2x
1
+4x
2
+6x
3
=0
4x
1
+5x
2
+6x
3
=0
3x
1
+ x
2
-2x
3
=0
As, el sistema tiene una solucin nica (0,0,0). Esto es, la nica solucin al sistema es la trivial
Un sistema homogneo con un nmero infinito de soluciones
Resuelve el sistema homogneo
x
1
+ 2x
2
- x
3
=0
3x
1
- 3x
2
+2x
3
=0
-x
1
-11x
2
+6x
3
=0
>> format rat
>> A=[1 2 -1;3 -3 2;-1 -11 6];, b=[0;0; 0];, rref([A,b])
ans =
1 0 1/9 0
0 1 -5/9 0
0 0 0 0
Un sistema homogneo con ms incgnitas que ecuaciones tiene un nmero infinito de soluciones
Resuelva el siguiente sistema
x
1
+ x
2
- x
3
=0
4x
1
-2x
2
+7x
3
=0
>> A=[1 1 -1;4 -2 7],
>> b=[0 0]';
>> rref([A,b])
ans =
1 0 5/6 0
0 1 -11/6 0
Balanceo de reacciones qumicas
Al balancear reacciones qumicas tales como la de la fotosntesis:


Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

13
lgebra Lineal

Matlab
2008

Se buscan enteros positivos x
1
, x
2
, x
3
y x
4
que no tengan un divisor comn diferente de 1, de manera que en



el nmero de tomos de cada elemento qumico involucrado es el mismo en cada lado de la reaccin. El
nmero de tomos de un elemento qumico est indicado por el subndice; por ejemplo, en CO2 hay un tomo
de C (carbono) y dos tomos de O (Oxgeno). Esto conduce a un sistema de ecuaciones homogneo. Por se
obtiene un sistema de ecuaciones homogneo del balanceo
C: x1 = 6x3
O: 2x1+ x2= 6x3+2x4
H: 2x2=12x3

>>A=[1 0 -6 0;2 1 -6 -2;0 2 -12 0];
>> b=[0 ;0 ;0];
>>format rat
>> rref([A b])
1 0 0 -1 0
0 1 0 -1 0
0 0 1 -1/6 0


Solucin:


Ejercicio
Establezca el sistema de ecuaciones homogneas que balancea la reaccin entre:
Pb(N
3
)
2
+Cr(MnO
4
)
2
Cr
2
O
3
+MnO
2
+Pb
3
O
4
+NO
Resuelva el sistema y encuentre los enteros x1 a x6, que balancea la reaccin.

Vectores y Matrices
En los siguientes problemas realice los clculos indicados
a=[-3;1;4], b=[5;-4;7], c=[2;0;-2]
1. a+b 2. 3b 3. -2c
4. b+3c 5. 2a-5b 6. -3b+2c
7. a+b+c 8. 3a-2b-ac 9. 3b-7c+2a

En los siguientes operaciones realice las operaciones indicadas con
a=[1 3; 2 5; -1 2], b=[6;0;-1;4], c=[-2,3;1;5]
1. a+c 2. b-a 3. 4c
4. -2b 5. 2a-c 6. 4b-7a
7. a+b+c 8. c-b+2a 9. 3a-2b-4c

En los siguientes problemas realice los siguientes clculos indicados
A=[1 -1 2;3 4 5;0 1 -1], B=[0 2 1;3 0 5;7 -6 0], C=[0 0 2;3 1 0;0 -2 4]
1. 3A 2. A+B 3. A-C
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

14
lgebra Lineal

Matlab
2008
4. A+B+C 5. 2A-B+2C 6. C-A-B

Encuentre una matriz D tal que A+B+C+D es la matriz cero de 3x3


Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

15
lgebra Lineal

Matlab
2008
Introduccin eficiente de matrices dispersas
a
ij
=1 si el punto i est conectado con el punto j, 0 e otra manera
Para la mayor parte de este tipo de grficas la matriz consiste en muchos ceros y algunos unos. En Matlab se
puede introducir una matriz con ceros en todos sus elementos y despus modificarla rengln por rengln.
Considere la siguiente grfica:












>>a=zeros(5);
a(1,[2 4])=[1 1] % 1 esta conectado con 2 y 4
a(2,[1 3 4])=[1 1 1] % 2 est conectado con 1,3 y 4
Termine de introducir la matriz anterior.

Producto vectorial y matricial
Suponga que un fabricante produce cuatro artculos. Su demanda est da por el vector de demanda d=[30 20
40 10] (una matriz de 1x4). El precio por unidad que recibe el fabricante por los artculos est dado por el
vector de precios p=[$20;$15;$18;$40] (una matriz de 4x1). Si se cumple la demanda, Cunto dinero recibir
el fabricante.
>> d=[30 20 40 10];
>> p=[20;15;18;40];
>> Total=d*p
Total =
2020
Otro forma
>> dot(d,p) % Comando para el producto escalar
Total=
2020
Realice el siguiente producto matricial.
>>A=[2 0 -3;4 1 5];
>>B=[7 -1 4 7;2 5 0 -4;-3 1 2 3];
Nota: Primero observe que A es una matriz de 2x3 y B es una matriz de 3x4. Entonces el nmero de columnas
de A es igual al nmero de renglones de B. Por lo tanto, el producto AB est definido y es una matriz de 2x4.
Sea AB=C=(C
ij
). Entonces.
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

16
lgebra Lineal

Matlab
2008
Producto escalar
>> c11=[2 0 -3]*[7;2;-3]
c11 =
23
>> c12=[2 0 -3]*[-1;5;1]
c12 =
-5
>> c13=[2 0 -3]*[4;0;2]
c13 =
2
>> c14=[2 0 -3]*[7;-4;3]
c14 =
5
Producto escalar comando dot
>> c11=dot([2 0 -3],[7;2;-3])
c11 =
23
>> c12=dot([2 0 -3]*[-1;5;1])
c12 =
-5
>> c13= dot( [2 0 -3]*[4;0;2])
c13 =
2
>> c14= dot( [2 0 -3]*[7;-4;3])
c14 =
5

Genere dos matrices aleatorias, A y B, con elementos entre -10 y 10. Encuentre AB y BA. Repita el proceso para
al menos siete pares de matrices A y B. Cuntos pares satisfacen AB=BA? Qu puede concluir sobre la
probabilidad de que AB=BA?
>> A=round(10*(2*rand(3)-1)),B=round(10*(2*rand(3)-1)), A*B,B*A

Inversa de una matriz
AA
-1
= A
-1
AI
A=[2 -3;-4 5]
A
-1
=[x y; z w]

AA
-1
=


*


=





2x -3z =1
2y -3w=0
-4x +5z =0
-4y +5w=1
>> format rat
>> rref([[2 -3;-4 5],eye(2)])
ans =
1 0 -5/2 -3/2
0 1 -2 -1
x= -5/2
y= -3/2
z= -2
w= -1
>> format rat
>> inv([2 -3;-4 5])
ans =
-5/2 -3/2
-2 -1

Traspuesta de una matriz
>> A=[3 6 5;-8 6 1;3 6 9]
A =
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

17
lgebra Lineal

Matlab
2008
3 6 5
-8 6 1
3 6 9
>> A'
ans =
3 -8 3
6 6 6
5 1 9
Matrices simtricas
>> B=[1 -4 2;-4 7 5;2 5 0]
B =
1 -4 2
-4 7 5
2 5 0

>> B'
ans =
1 -4 2
-4 7 5
2 5 0

Operaciones elementales mediante la multiplicacin por matrices elementales
Para realizar una operacin elemental en una matriz A, se multiplica A por la izquierda por la matriz
elemental adecuada,
Toda matriz elemental es invertible. El inverso de una matriz elemental es una matriz del mismo tipo.
Una matriz cuadrada es invertible. El inverso de una matriz elemental es una matriz del mismo tipo
Una matriz cuadrada es invertible si y slo si es el producto de matrices elementales

>> F=eye(3);F([2 3],:)=F([3 2],:)
F =
1 0 0
0 0 1
0 1 0
>> A=round(10*(2*rand(3)-1))
A =
-2 9 7
8 3 9
6 -9 4
>> F*A
ans =
-2 9 7
6 -9 4
8 3 9
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

18
lgebra Lineal

Matlab
2008
a) De A=round(10*(2*rand(3)-1)). De la manera que se acaba de describir, introduzca las matrices F que
representan las siguientes operaciones con filas. Encuentre F*A para probar que F realiza las operaciones
deseadas.
i. R
3
4R
3
ii. R
1
R
1
-3R
2
iii. Intercambio de R
1
y R
4

b) Encuentre inv(F) para cada F de a). Para F, explique porque inv(F) es una matriz elemental y describa que
operaciones con renglones representa. Por qu es esta operacin la inversa de la operacin con filas
originales.
Se quiere reducir una matriz dada a la forma escalonada reducida por renglones multiplicndola por matrices
elementales, guardando el producto en el orden en el que se usan. Por exactitud debern calcularse los
multiplicadores usando la notacin matricial.
a)
>>A=[7 2 3;-1 0 4;2 1 1]
Introduzca esta matriz y gurdela en A. D B=A. Esto pone una copia de A en B. Se puede reducir B de
manera que contenga rref(A) y quede en A la matriz orifginal.
>>C=-B(2,1)/B(1,1)
>>F1=eye(3);F1(2,1)=c
>>B=F1*B
>>F=F1
>>C=-B(3,1)7B(1,1)
Forme F2 con la posicin correcta
>>B=F2*B
>>F=F2*F
Contine de esta manera hasta que B est en la forma escalonada reducida por filas. Si cualquier elemento
pivote es cero, ser necesario realizar un intercambio de renglones multiplicando por la matriz elemental
adecuada.
b) Encuentre F*A y A*F, donde F es el producto de las matrices elementales usadas y es la matriz original.
Qu le dice esto sobre la relacin entre F y A? (Justifique su respuesta)
c) Encuentre D=F1-1+F2-1**Fm-1, donde F1 es la primera matriz elemental usa y Fm es la ltima. Cul es
la relacin entre D y A? (Justifique su respuesta)

Factorizacin LU de una matriz
>> A=2*rand(3)-1
A =
-0.4283 -0.2391 -0.8921
0.5144 0.1356 0.0616
0.5075 -0.8483 0.5583
>> [L U P]=lu(A)
L =
1.0000 0 0
0.9865 1.0000 0
-0.8327 0.1285 1.0000
U =
0.5144 0.1356 0.0616
0 -0.9821 0.4976
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

19
lgebra Lineal

Matlab
2008
0 0 -0.9047
P =
0 1 0
0 0 1
1 0 0
La razn por la que casi siempre existe un P es para minimizar los errores de redondeo, se intercambian las filas
para que el elemento mayor (en valor absoluto) e una columna (entre las filas que no se han usado) est en la
posicin pivote.
Verificar si cumple LU=PA
>> [L*U P*A]
Determinantes
Sea A una matriz usar det(A)

Vectores en R
2
y R
3

u=[9;3]; % Vector 1
v=[15;16]; % Vector 2
w=u+v;
ww=u-v;
aa=[u' v' w' ww'];
M=max(abs(aa));
axis('square');axis([-M M -M M])
plot([0 v(1)],[0 v(2)],[0 u(1)],[0 u(2)])
hold on
grid


Realice un programa para graficar n vectores en general en R
2
.

Probar
>>edit
x = -pi:pi/10:pi;
y = tan(sin(x))-sin(tan(x));
plot(x,y,'--rs','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g',...
'MarkerSize',10)

Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

20
lgebra Lineal

Matlab
2008
Grficas en 2D y 3D

b blue . point - solid
g green o circle : dotted
r red x x-mark -. dashdot
c cyan + plus -- dashed
m magenta * star (none) no line
y yellow s square
k black d diamond
w white v triangle (down)
^ triangle (up)
< triangle (left)
> triangle (right)
p pentagram
h hexagram

>>edit

subplot(1,2,1)
x = 0:.1:10;
semilogx(x,10.^x)
title('Hoja semilogaritmica en x')
xlabel('Frecuencia [Hz]')
ylabel('Amplitud [db]')
grid

subplot(1,2,2)
x = 0:.1:10;
semilogy(x,10.^x)
title('Hoja semilogaritmica en y')
xlabel('Frecuencia [Hz]')
ylabel('Amplitud [db]')
grid



Comandos para graficar en 2D
plot(x,y)
plot(y)
plot(x,y,'b')
fplot('f',[xmin, xmax])
fplot('f',[xmin, xmax, ymin, ymax])
fplot('f1, f21 f3',[xmin, xmax, ymin, ymax])

ezplot(x,y)
ezplot('f',[xmin, xmax])
ezplot('f')

Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

21
lgebra Lineal

Matlab
2008
>>edit
x=linspace(0,4*pi,50);,y=sin(x);,z=cos(x);

subplot(2,2,1)
plot(x,y,'m')
title('Funcion seno')
xlabel('Frecuencia')
ylabel('Amplitud')
grid

subplot(2,2,2)
plot(x,z,'--g')
title('Funcion coseno')
xlabel('Frecuencia')
ylabel('Amplitud')
grid

subplot(2,2,3)
plot(x,y,'m')
hold on
plot(x,z,'--g')
hold on
title('sin(x) y cos(x)')
legend('y=sin(x)','z=cos(x)')
grid

subplot(2,2,4)
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t,'y')
axis square;
grid on


Coordenadas polares
>>edit
subplot(1,2,1)
t=0:pi/50:2*pi;
r=sin(2*t).*cos(2*t);
polar(t,r,'m')
title('Funcion en modo Rad')


subplot(1,2,2)
t=0:pi/50:4*pi;
r=sind(2*t).*cosd(2*t);
polar(t,r,'m')
title('Funcion en modo Deg')


Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

22
lgebra Lineal

Matlab
2008

Campana de Gauss
>>edit
x=linspace(-3,3,500);
y=exp(-x.^2);
z=2*exp(-x.^2);
%Dibujamos las dos funciones
plot(x,y,'-')
hold on
%para ello se escribe hold on para fucionar
plot(x,z,'--')
%Pone una leyenda
legend('exp(-x^2)','2*exp(-x^2)')
title('Campana de Gauss')
xlabel('Eje de Abscisas')
ylabel('Eje de Ordenadas')

Polinomio interpolador de Lagrange
function [C L]=lagrange(x,y)
w=length(x);
n=w-1;
L=zeros(w,w);

for k=1:n+1
V=1;
for j=1:n+1
if k~=j
V=conv(V,poly(x(j)))/(x(k)-x(j));
end
end
L(k,:)=V;
end
C=V*L;
disp('Polinomio interpolador')
pretty(poly2sym(C))
disp('Si quieres evaluar en el polinomio esta es la forma')
disp('Sea p el punto a evaluar')
disp('>>polyval(C,p)')

Ingreso de puntos desde la pantalla con mouse
>>edit
ezplot('sin(x)')
grid on
[x y]=ginput(10);
plot(x,y,'o')

interpolacin con un trazador cbico
>> x=0:10;
>> y=[-1 0 3 9 5 6 7 -5 7 15 2];
>> xx=0:0.01:10;
>> yy=spline(x,y,xx);
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

23
lgebra Lineal

Matlab
2008
>> plot(x,y,'o',xx,yy)

Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

24
lgebra Lineal

Matlab
2008
Superficie cnica
>>edit
subplot(1,2,1)
[x y]=meshgrid(-5:0.1:5);
z1=sqrt(x.^2+y.^2);
z2=-sqrt(x.^2+y.^2);
plot3(x,y,z1,x,y,z2)

subplot(1,2,2)
ezsurf('x^2+y^2')
hold on
ezsurf('-(x^2+y^2)')






Paraboloide
>>edit
subplot(1,2,1)
[x y]=meshgrid(-5:0.1:5);
z=x.^2+y.^2;
surfc(x,y,z)
title('Paraboloide')

subplot(1,2,2)
ezsurfc('x^2+y^2')
title('Paraboloide')


>>edit
subplot(3,3,1)
ezmesh('sqrt(x^2+y^2-1)')
hold on
ezmesh('-sqrt(x^2+y^2-1)')
title('Hiperboloide de una hoja')

subplot(3,3,2)
ezsurfc('x^2-y^2')
title('Paraboloide de una hoja')

subplot(3,3,3)
ezmesh('y^2*(x-1)^2/(y^2+(x-1)^2)')

subplot(3,3,4)
ezmesh('-sin(sqrt(exp(-x^2-y^2))+4)')

subplot(3,3,5)
ezsurfc('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)')
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

25
lgebra Lineal

Matlab
2008

subplot(3,3,6)
ezsurfc('x*exp(-x^2-y^2)')
subplot(3,3,7)
ezmesh('y/(1+x^2+y^2)')

subplot(3,3,8)
x=0:pi/10:2*pi;
cylinder(2*sin(x));
axis square
title('2*sin(x)')

subplot(3,3,9)
x=0:pi/10:2*pi;
cylinder(2*cosd(x));
axis square
title('2*cosd(x)')





























Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

26
lgebra Lineal

Matlab
2008




Probar los siguientes comandos

>>fplot('sin(x)',[0 2*pi])
>>ezplot('exp(x)')
>>ezplot('sin(x)','cos(x)', [0 pi])
>>ezplot('x^2-y^2-1')
>>ezplot('y/(x^2-y^2-1)')
Texto en una grfica
fplot('[sin(x),sin(2*x),sin(3*x)]',[0,2*pi])
text(3,0.8, 'y=sin(2x)')
text(1,-0.6, 'y=sin(3x)')
text(1.5,1, 'y=sin(4x)')

Movimiento de funciones y superficies
>>edit
x=0:0.01:2*pi;
for j=1:10
plot(x,sin(j*x)/2)
M(j)=getframe
end
movie(M,4,6)

>>edit
n=30;
x=linspace(0,2*pi,200);
for j=1:n
t=(pi/29)*(j-1);
plot(cos(x),sin(t)*sin(x),'gs'),
axis([-1 1 -1 1])
F(j)=getframe;
end
movie(F,5)

>>edit
[x,y]=meshgrid(-1:.1:1);
n=20;
for j=1:n
t=(2*pi/19)*(j-1);
z=2*sin(t)*exp(-x.^2-y.^2);
surf(x,y,z),axis([-1 1 -1 1 -2 2])
F(j)=getframe;
end
movie(F,6)

>>edit
[x y z]=peaks
n=20;
for j=1:n
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

27
lgebra Lineal

Matlab
2008
t=(2*pi/19)*(j-1);
z1=sin(t)*z;
surf(x,y,z1),axis([-3 3 -3 3 -5 5])
F(j)=getframe;
end
movie(F,3);
%Reloj
n=100
for j=1:n
t=linspace(0,2*pi,1000)
plot(cos(t),sin(t))
axis square
hold on
horas=0:12,

plot(.9*cos(horas*2*pi/12),9*sin(horas*2*pi/12),'k*')
hor=pi/2-(j-1)*2*pi/(n-1); %Horario

plot([0 .5*cos(hor)],[0 .5*sin(hor)])
min=pi/2-(j-1)*12*2*pi/(n-1); %Minutero

plot([ 0 .8*cos(min)],[0 .8*sin(min)])
hold off
F(j)=getframe;
end
movie(F)

>>edit
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
for j = 1:20
surf(sin(2*pi*j/20)*Z,Z)
F(j) = getframe;
end
movie(F,10)

>>edit
r = subplot(2,1,1)
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');

s = subplot(2,1,2)
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
for j = 1:20
axes(r)
surf(sin(2*pi*j/20)*Z,Z)
axes(s)
surf(sin(2*pi*(j+5)/20)*Z,Z)
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

28
lgebra Lineal

Matlab
2008
F(j) = getframe(gcf);
pause(.0333)
end
h2 = figure;
movie(F,10)
movie(h2,F,10)
>>edit
figure('position',[100 100 850 600])
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
for j = 1:20
surf(sin(2*pi*j/20)*Z,Z)
F(j) = getframe;
end
[h, w, p] = size(F(1).cdata); % use 1st frame to get dimensions
hf = figure;
set(hf, 'position', [150 150 w h]);
axis off
movie(hf,F,4,30,[0 0 0 0]);

>>edit
n=30;
for j=1:n
x=rand(10);
imagesc(x)
F(j)=getframe;
end
movie(F,5)

Polinomio interpolar que pasa por los puntos de grado n
p=polyfit(x,y,1) %Grado 1
a=p(1); b=p(2);
y1=a*x+b;
plot(x,y,'g',x,y1,'o')

Coeficiente de correlacin
corrcoef(x,y)

Evaluar el polinomio f(x)
>> p=[1 -6 -72 -27];
pretty(poly2sym(p))
x=polyval(p,1)
3 2
x - 6 x - 72 x - 27

x =

-104
Interaccin con otros entornos
Importar una tabla de datos desde Excel a Matlab
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

29
lgebra Lineal

Matlab
2008
a) En Excel crear tabla en formato texto
Ejm.
A.txt
b) En matlab escribir
>>load A.txt
>>A=T
Exportar una matriz desde Matlab a una tabla de Excel
a) En Matlab crear una matriz
Ejm.
>>save T A -ascii
b) En Excel abrir el archivo T


Derivar una funcin
>>diff('x^3',x)

Integrar una funcin indefinida
>>int('1/(x^2-1)','x')

Integrar una funcin definida
>> quadl('sin(x)+exp(-4*x)',-5,-1)

Integral doble
>>dblquad(inline('1./(x+y).^2'),3,4,1,2)

Comandos tiles
diag(A) % Extrae la diagonal de la matriz como vector columna
size(A) % Tamao de la matriz A
inv(A) % Matriz inversa
a % Matriz traspuesta
det(A) % Determinante de la matriz A
length(A) % Longitud de la matriz A
rank(A) % Rango de la matriz A
trace(A) % Suma de los elementos de la diagnonal principa
rref(A) % Matriz reducida por filas (Gauss)
tril(A) % Matriz triangular inferior
triu(A) % Matriz triangular superior
eye(m,n) % Matriz identidad tamao mxn
zeros(m,n) % Matriz de ceros tamao mxn
ones(m,n) % Matriz de unos tamao mxn
magic(c) % Cuadrado mgico


Formatos
Format long 16 cifras decimales
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

30
lgebra Lineal

Matlab
2008
Format short 4 cifras decimals (Por defecto lo usa Matlab)
Format long e 16 cifras decimales + la potencia de 10 necesaria
Format short e 4 cifras decimales + la potencia 10 necesario
Format long g Resultados en formato largo optimo
Format short g Resultados en formato corto optimo
Format bank Resultado con 2 cifras decimales
Format rat Resultado en fracciones
Vpa 'operaciones' n Resultado con n dgitos decimales
Digits(n) Resultados con n dgitos exactos
Nmeros
>>100^50
>>vpa '99^50'
>> vpa '99^50' 100
>> digits(20); vpa '174/13'

Funciones con nmeros enteros y divisibilidad
Rem(n,m) Resto de la divisin
Sign(n) Signo de n
Max(m,n) Mximo de los nmeros m y n
Min(m,n) Mnimo de los nmeros m y n
Gcd(m,n) Mximo comn divisor de m y n
Lcm(m,n) Mnimo comn mltiplo de m y n
Factorial(n) Factorial de n
Factor(n) Descompone en factores primos

Introduccin a la programacin

%Mensaje de bienvenida
clear
a=input('Ingrese su nombre');
disp('Hola como estas')
disp(a)

%Cuenta cuantos pares hay en un vector
clear
n=input('Ingrese un vector');
a=size(n);
j=a(2);
pares=0;
for i=1:j
if rem(n(i),2)==0
pares=pares+1;
else
end
end
fprintf('El numero de elementos pares es: %g \n',pares)

%Verifica nmeros
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

31
lgebra Lineal

Matlab
2008
clear
nro=input('Ingrese un nmero');
if nro==1
disp('Usted ingreso el nro 1')
elseif nro==2
disp('Usted ingreso el nro 2')
elseif nro==3
disp('Usted ingreso el nro 3')
else
disp('El numero es > a 3')
end

%Codigo
clear
a=input('Ingrese cdigo');
if a==12345
disp('Codigo aceptado')
else
disp('Codigo rechazado')
end

%Sumando elementos de un vector
clear
v=[ 2 6 9 8 5 4];
suma=0;
for i=1:6
suma=suma+v(i);
end
fprintf('La suma es: %g \n', suma)
%fprintf('La suma es: %g radians.\n', 2*pi)
%fprintf('La suma es: %g \n', 2*pi)

%Matriz traspuesta
clear
A=[3 6 5 4 1; 3 6 9 -8 7;-6 3 5 7 12];
[m n]=size(A);
B=zeros(n,m);
for i=1:m
for j=1:n
B(j:i)=A(i,j);
end
end
disp(B)

%Verifica si es un numero positivo o negativo
clear
nro=input('Ingrese un nmero');
if rem(nro,2)==0
disp('es par')
else
disp('es impar')
end
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

32
lgebra Lineal

Matlab
2008

%Funciones
clear
function [Area Volumen]=cilindro(r,h)
area=2*pi*r(h+r);
volumen=pi*r^2*h;
fprintf('Area de un cilindro: %g \n',area)
fprintf('Volumen de un cilindro: %g \n',volumen)




%Calculo del rea y dimetro estructura While
clear
r=input('Ingrese el radio o cero para terminar');
while r>0
are=pi*r^2;
dia=r/2;
fprintf('Area= %g \n',are)
fprintf('volumen= %g \n',dia)
r=input('Ingrese el radio o cero para terminar');
end

%Uso de la estructura While
clear
n=input('Ingrese una matriz cuyo rango sea menor al nro de filas:');
a=sise(n);
while rank(n)==a(1)
n=input('Matriz incorrecta!!, vuelva a intentarlo');
end
disp('gracias')


%Genera puntos desde el mouse y se traza una nueva grafica con spline
axis([0 10 0 10])
hold on
% Initially, the list of points is empty.
xy = [];
n = 0;
% Loop, picking up the points.
disp('Left mouse button picks points.')
disp('Right mouse button picks last point.')
but = 1;
while but == 1
[xi,yi,but] = ginput(1);
plot(xi,yi,'ro')
n = n+1;
xy(:,n) = [xi;yi];
end
% Interpolate with a spline curve and finer spacing.
t = 1:n;
ts = 1: 0.1: n;
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

33
lgebra Lineal

Matlab
2008
xys = spline(t,xy,ts);

% Plot the interpolated curve.
plot(xys(1,:),xys(2,:),'b-');
hold off







%programa donde se fusiona el bucle if, for y while
disp('Eliga una opcin')
disp('1. Inversa')
disp('2. Determinante')
disp('3. Derechos')
op=input('Que opcin has elegido: ');
if op==1
b=input('Cuantas operaciones deceas realizar: ');

for i=1:b
fprintf('Ejercicio nro: %g \n', i)
a=input('Ingrese una matriz cuadrada: ');
[f c]=size(a);

while f~=c
disp('----------------------------------')
disp(' Cometiste un error')
a=input('Ingrese una matriz cuadrada: ');
[f c]=size(a);
end
inversa=inv(a);
disp('Inversa:'), disp(inversa)
end
inver
elseif op==2

for i=1:b
fprintf('Ejercicio nro: %g \n', i)
a=input('Ingrese una matriz cuadrada: ');
[f c]=size(a);

while f~=c
disp('----------------------------------')
disp(' Cometiste un error')
a=input('Ingrese una matriz cuadrada: ');
[f c]=size(a);
end
determinante=det(a);
disp('Determinante:'), disp(determinante)
end
inver
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

34
lgebra Lineal

Matlab
2008
elseif op==3
pause(0.3), disp(' Universidad Mayor de San Simn')
pause(0.3), disp(' Facultad de Ciencias y Tecnologa')
pause(0.3), disp(' Ing. Electromecnica')
pause(0.3), disp(' Laboratorio de Estadistica Aplicada "CESA"')
pause(0.3), disp('----------------------------------------------')
pause(0.3), disp('Curso Matlab')
pause(0.3), disp('Materia: Algebra II')
pause(0.3), disp('Instructor: Jos Luis Pacara Nicolas')

else
disp('Solo ingrese opciones del 1 al 3')
inver
end
%Programa para graficar n matrices
b=input('Cuantas matrices quieres graficar: ');
disp('Ingrese las filas y columnas para dividir la ventana de graficas')

ta=input('[fila columna]=');
ff=ta(1);
cc=ta(2);
[f c]=size(ta);
clc
while c~=2
disp('Ingrese fila y columa: ')
ta=input('[fila columna]=');
[f c]=size(ta);
end
for i=1:b
fprintf('Ejercicio # %g \n',i)
a=input('Ingrese una matriz de 2x2: ');
[f1 c1]=size(a);
while f1~=c1

disp(' Cometiste un error')
disp('----------------------')
a=input('Ingrese una matriz de 2x2: ');
[f1 c1]=size(a);
end
disp('Elija una opcin')
disp('Rojo --> r')
disp('Verde --> g')
disp('Amarillo --> y')
disp('Azul --> b')
disp('Violeta --> m')
co=input('Color de fondo: ');
syms x y
F=[x y]*a*[x;y];
subplot(ff,cc,i)
ezsurfc(F)
set(gca,'Color',strcat(co)) % El color de fondo se puede cambiar con el comando
set
clc
Laboratorio de Estadstica (CESA)
MATLAB
Dirigido a estudiantes de Algebra II
Instructor: Jos Luis Pacara Nicolas Semestre II-2009

35
lgebra Lineal

Matlab
2008
end

hold off
pause(0.3), disp(' Universidad Mayor de San Simn')
pause(0.3), disp(' Facultad de Ciencias y Tecnologa')
pause(0.3), disp(' Ing. Electromecnica')
pause(0.3), disp(' Laboratorio de Estadistica Aplicada "CESA"')
pause(0.3), disp('----------------------------------------------')
pause(0.3), disp('Curso Matlab')
pause(0.3), disp('Materia: Algebra II')
pause(0.3), disp('Instructor: Jos Luis Pacara Nicolas')

S-ar putea să vă placă și