You are on page 1of 18

MTODOS NUMRICOS CON SOFTWARE MATLAB

LGEBRA MATRICIAL
Matrices Numricas.- MATLAB permite trabajar con matrices numricas de forma muy cmoda y extensa. No
obstante, se trata de un programa especializado en clculo matricial. La tabla que se presenta a continuacin
muestra las funciones matriciales numricas que pueden realizarse con MATLAB.
logm (A)
Logaritmo neperiano de la matriz A
sqrt(A)
Raz cuadrada de la matriz cuadrada A
funm.(A,funcin)
Aplica la funcin a la matriz cuadrada A
transpose(A) o A
Matriz transpuesta de A
inv(A)
Matriz inversa de la matriz cuadrada A ( A 1 )
det(A)
Determinante de la matriz cuadrada A
rank(A)
Rango de la matriz A
trace(A)
Suma de los elementos de la diagonal de A
norm(A)
Norma de A o 2-norma (mayor valor singular de la matriz A)
norm(A,1)
1-norma de A (mayor suma de la columnas de A)
norm(A,inf)
Norma infinita de A (Mayor suma de las filas de A)
A^p
Matriz A elevada a la potencia escalar p
p^A
Escalar p elevado a la matriz A
rand(n)
Matriz aleatoria de orden n
magic(n)
Matriz mgica de orden n
eig(A)
Halla los autovalores de la matriz cuadrada A
[V,D]=eig(A)
Halla la matriz diagonal D de autovalores de A y una matriz V cuyas columnas son
los autovectores correspondientes, cumplindose que A*V=V*D
eig(A,B)
Devuelve un vector con los autovalores generalizados de las matrices cuadradas A y
B. Los autovalores generalizados de A y B son las races del polinomio en

det( * C
[V,D]=eig(A,B)
hess(A)
poly(A)
eye(m)
zeros(m)
zeros(m,n)
ones(m,n)
size(A)
tril (A)
triu(A)
diag(A)
A(a,:)
A(:,b)
[L,U]=lu(A)

[L,U,P]=lu(A)
R=chol(A)

jordan(A)
[V,J]=jordan(A)

A)

Halla la matriz diagonal D de autovalores generalizados de A y B y una matriz V


cuyas columnas son los autovectores correspondientes, cumplindose A*V=B*V*D
Devuelve la matriz de Hessemberg H
Devuelve el polinomio caracterstico de la matriz A
Devuelve una matriz identidad de orden mxm
Devuelve una matriz nula de orden mxm
Devuelve una matriz nula de orden mxn
Devuelve una matriz de unos de orden mxn
Devuelve el orden de la matriz A
Devuelve la parte triangular inferior de la matriz A
Devuelve la parte triangular superior de la matriz A
Extrae la diagonal de la matriz A como vector columna
Define la fila a-sima de la matriz A
Define la columna b-sima de la matriz A
Descompone la matriz A en el producto A=L*U , siendo U una matriz triangular
superior y L una matriz pseudotriangular inferior (triangularizable mediante
permutacin)
Da una matriz triangular inferior L, una matriz triangular superior U y una matriz
de permutacin P tales que P*A=L*U
Devuelve la matriz triangular superior R tal que R*R=A (Descomposicin de
cholesky de A) en caso de que A sea definida positiva. Si A no es definida positiva
devuelve un error
Halla la matriz cannica de jordan J de la matriz A (J tiene los autovalores de A en
la diagonal)
Halla la matriz cannica de Jordan J de la matriz A y la matriz de paso V cuyas
columnas son los autovectores de A cumplindose que V 1 * A *V J

DR. SORIA QUIJAITE JUAN JESS

Operadores Matriciales.A+B , A-B , A*B


A\B
B/A

An
pA

Suma, resta y producto de matrices


Si A es cuadrada, A \ B =inv(A)*B. Si A no es cuadrada, A\B es la solucin en el
sentido de mnimos cuadrados del sistema A.X=B
Coincide con (A \ B)
Coincide con A*A*A*A* *A n veces (n=escalar)
Realiza el clculo slo si p es un escalar

4
E-1) Introducir la matriz A

2 5
3

6
1 entonces al utilizar los comandos de la tabla se tiene:
3

A=[4 2 6;-2 5 -1;3 5 -3]


A=
4 2 6
-2 5 -1
3 5 -3
diag(A)
% calcula la diagonal de la matriz A como vector columna
ans =
4
5
-3
diag(A)'
% calcula la diagonal de la matriz A como vector fila
ans = 4 5 -3
transpose(A)
% calcula la transpuesta de la matriz A
ans =
4 -2 3
2 5 5
6 -1 -3
inv(A)
% calcula la matriz inversa de la matriz A
ans =
0.0481 -0.1731 0.1538
0.0433 0.1442 0.0385
0.1202 0.0673 -0.1154
trace(A)
% calcula la traza de la matriz A
ans = 6
eig(A)
% calcula los valores propios de la matriz A
ans =
5.5536 + 3.1439i
5.5536 - 3.1439i
-5.1072
det(A)
% calcula el determinante de la matriz A
ans =
-208
[V,D]=eig(A)
% construye una matriz D de valores propios de la matriz A
V=
0.5737 + 0.4973i 0.5737 - 0.4973i -0.5461
-0.4737 + 0.2961i -0.4737 - 0.2961i -0.0252
0.0458 + 0.3307i 0.0458 - 0.3307i 0.8373
D=
5.5536 + 3.1439i
0
0
0
5.5536 - 3.1439i
0
0
0
-5.1072
tril(A)
% calcula la matriz triangular inferior de la matriz A

DR. SORIA QUIJAITE JUAN JESS

ans =
4 0 0
-2 5 0
3 5 -3
triu(A)
ans =
4 2 6
0 5 -1
0 0 -3
size(A)
ans = 3 3

% calcula la matriz triangular superior de la matriz A

% calcula el orden de la matriz A

poly(A)
% calcula el polinomio caracterstico de la matriz A
ans = 1.0000 -6.0000 -16.0000 208.0000
norm(A)
% calcula la norma de la matriz A
ans = 7.7240
>> I=[ones(3,4),zeros(3,4),eye(3,4)]
I=
1 1 1 1 0 0 0 0
1 1 1 1 0 0 0 0
1 1 1 1 0 0 0 0
I(1,:)
ans =
1 1 1 1 0 0 0 0
I(:,11)
ans = 0 0 1
% grfico de la matriz A

% calcula la matriz particionada de orden 3x12


1
0
0

0 0 0
1 0 0
0 1 0
% identifica la primera fila de la matriz I

0 0 0
% identifica la columna N 11 de la matriz I

Grficos Matriciales.1)%Grfica de la matriz de orden 10x10


A=[2 4 5 2 5 7 8 7 4 6
;
2 7 -4 4 6 -7 8 9 5 7
;
5 4 -6 4 7 9 -4 7 9 6
;
2 1 -5 -9 3 5 -2 1 5 -4 ;
1 3 6 -8 4 3 -6 4 2 3
;
3 -4 5 6 3 7 4 7 4 5
;
9 2 4 -6 4 4 7 5 -8 8
;
2 3 4 7 2 13 4 9 5 -3 ;
4 5 -7 -5 5 7 2 -1 3 -4 ;
2 -4 6 3 -3 3 -9 7 -8 4 ]
mesh(A)
title('MATRIZ DE ORDEN
10X10','FontSize',[16],'color','b')
xlabel('EJE ABSCISAS (i)','FontSize',[12],'color','r');
ylabel('EJE ORDENADAS (j)','FontSize',[12],'color','r');
zlabel('EJE DE ALTURAS (aij)','FontSize',[12],'color','r');
grid on
zoom on

DR. SORIA QUIJAITE JUAN JESS

2) %Grfica de una matriz generada por A1(i,j)=i+sin(i+j);


%A1(i,j)es de orden 15x15
clear all
figure('units','Normal','pos',[0 0 1 1],'MenuBar','None', ...
'Name',' PLOTEOS DE MATRICES GENERADAS
');
n=20;
m=20;
for i=1:m
for j=1:n
A1(i,j)=i+sin(i+j);
end
end
mesh(A1)
title('MATRIZ GENERADA','FontSize',[17],'color','g')
xlabel('EJE i','FontSize',[15],'color','b');
ylabel('EJE j','FontSize',[15],'color','b');
zlabel('EJE aij','FontSize',[15],'color','b');
grid on
zoom on

LABORATORIO CON MATLAB

1
2

3
1

1
2
1

3
3
1

I.- Dadas las siguientes matrices de orden 6x6

1
1

1
2

2
4

4
3

2
4

3
2

1
1

1
2

2
3

5
3

4
1
1

3
2
1

1
3
2

3
2
5

3
3
5

3
1
2

4
1
1

3
2
1

1
5
7

2
1
3

2
6

6
3

3
5

4
3

3
4

3
4

7
8
9

2
6
4

2
3
4

1
4
1

1
2
2

3
1
2

1) Calcular las siguientes operaciones matriciales :


a) A+B
b) B-C
c) A-BxC
d) A 1
e) B
i) Diagonal de B j) AxB k) BxC
l) Ax(BxC)

f) C 1
g) AT xB 1
ll) (AxB)xC
m) A
2

xB

h) Diagonal de A
n) valores propios

q) A B
B)
2) Graficar las matices generadas por A(i, j ) cos (i) 2 sin( i j ) ; B(i, j ) j cos3 (i j ) sin 3 (i j ) ;
C(i, j ) 1/(i j 1) ; D(i, j ) ei j sin(i j ) ; E (i, j ) esen(i j ) sen( j ) 3) Graficar las matrices de
de A, B y C

o) Determinante de A, B y C

p) ( A B)( A
2

orden 10x10 definidas por :

aij

ij ; i

i i. j

j ;i

bij

cos(ij) ; i
i i. j

j ;i

DR. SORIA QUIJAITE JUAN JESS

j
j

; cij

sin( i

j) ; i

i i. j

j ;i

MTODOS NUMRICOS CON SOFTWARE MATLAB


SISTEMAS TRIANGULARES
Sistemas Lineales Triangulares
Definicin.1) Se dice que la matriz A [aij ] de orden nxn es triangular superior cuando sus elementos verifican

aij

0 ;

2) Se dice que la matriz A

aij

0 ;

[aij ] de orden nxn es triangular inferior cuando sus elementos verifican


i

Si A es una matriz triangular superior, entonces se dice que el sistema de ecuaciones AX=B es un sistema
triangular superior de ecuaciones lineales, sistema que tiene la forma:

a11 x1

a13 x3 a1 n 1 xn

a1 n xn

b1

a23 x3 a2 n 1 xn

a2 n xn

b2

a33 x3 a3 n 1 xn

a3 n xn

b3

a12 x2
a22 x2

an

(1)

1 n 1 n 1

an

bn

an n xn

bn

1n n

Teorema.- (Sustitucin regresiva)


Supongamos que AX=B es un sistema triangular superior como el dado en (1). Si akk
,entonces existe una solucin nica de (1) .
Teorema.Si una matriz A

1,2,, n

0 ; para k

[aij ] de orden nxn es triangular superior o inferior, entonces el determinante de la matriz A es:
n

a11 . a22 .a33 . . ann

det( A)

aii
i 1

E-1) Usar el mtodo de sustitucin regresiva para resolver el sistema lineal:

4 x1

x2

2 x3

3 x4

20

2 x2

7 x3

4 x4

6 x3

5 x4

3 x4

6
Resolucin

Llevndolo a la forma matricial AX=B, se tiene:

4
0

1 2
2 7

3
4

x1

x2
x3

x4

20
7
4
6

, donde A

4
0

3
4

a) ploteo de la matriz A

1 2
2 7

DR. SORIA QUIJAITE JUAN JESS

x1
; X

x2
x3
x4

20
7
4
6

b) Usando el programa backsub


%Sustitucin regresiva
%Soluciona un sistema triangular superior AX=B
%por el mtodo de sustitucin regresiva
function X=backsub(A,B)
n=length(B);
X=zeros(n,1);
X(n)=B(n)/A(n,n);
for k=n-1:-1:1
X(k)=(B(k)-A(k,k+1:n)*X(k+1:n))/A(k,k);
end
-------------------------------------------------------------------------------------

Compilarlo con :
A=[4 -1 2 3;
0 -2 7 -4;
0 0 6 5;
0 0 0 3]
B=[20;-7;4;6]
backsub(A,B)
------------------------------------------------------------------------------------%resultados
backsub(A,B)
A = 4
-1
2
3
0
-2
7
-4
0
0
6
5
0
0
0
3
B = 20
-7
4
6
ans= 3
-4
-1
2
Luego la solucin del sistema es:

{( x1; x2 ; x3 ; x4 )} {(3 ; 4 ; 1 ;2)}

E-2) Usar el mtodo de sustitucin regresiva para resolver el sistema lineal:

sen1 x1

sen2 x2

sen3 x3

cos1 x2

sen4 x4

cos 2 x3

senh1x3

sen5

cos 3 x4

senh2 x4
log 2 x4

cos 4

senh3
log 4

Llevndolo a la forma matricial AX=B, se tiene:

sen1
0

sen2 sen3
cos1 cos 2

sen4
cos 3

x1

senh1

senh2

x2
x3

log 2

x4

sen5
cos 4
senh3
log 4

-------------------------------------------------------------------------------------------------------------------------------------%Lo compilamos con:


A=[sin(1) -sin(2) sin(3) -sin(4);
0 -cos(1) cos(2) cos(3);
0 0 sinh(1) sinh(2);
0 0 0 log10(2)]
B=[sin(5);cos(4);sinh(3);log10(4)]
backsub(A,B)
-----------------------------------------------------------------------------------

DR. SORIA QUIJAITE JUAN JESS

%Resultados:
backsub(A,B)
A =
0.8415
-0.9093
0.1411
0.7568
0
-0.5403
-0.4161
-0.9900
0
0
1.1752
3.6269
0
0
0
0.3010
B =-0.9589
-0.6536
10.0179
0.6021
ans=-7.9431
-4.2664
2.3521
2.0000

LABORATORIO CON MATLAB


E-1) Resuelva el sistema triangular superior y halle el valor del determinante de la matriz de los coeficientes as
como el ploteo.

3x1 2 x2
4 x2

a)

tan1 x1

x3

x4

x3

2 x4

2 x3

3x4

11

5 x4

15

tan 2 x2

2 tan 3 x3

tan 4 x2

d)

2 ln 5 x3

5 x1 3x2
b)

11x2

7 x3

x4

9 x3

5 x4

3x3 13x4

Ln4

log 3x4

sen4

5 cos 8 x3 3 log 2 x4

sen9

cos15 x4

[bi 1 ]10 x1 siendo bi 1

11
14

[bi 1 ]30 x1 siendo bi 1

2 x4

7 x5

x4

2 x5

2 x4

x5

10

3x5

[aij ]15 x15

[aij ]20 x 20

8 cos 7 x3

ln 3x4

senh4

2senh5 x4

cosh 9

cos 3 x4

senh3

cos(ij) ; i

sen(i j ) ; i
cos(i. j )
;i
i

j
j
j

log( i j ) ; i
Ln(i. j )
;i
i

j
j
j

sen(i ) , resolver AX=B.

A [aij ]30 x 30

log( i 1) , resolver AX=B.

DR. SORIA QUIJAITE JUAN JESS

sen214

log 5 x4

5 cos 8 x3

[uij ]10 x10 con uij

x5

cot(i ) , resolver AX=B.

d) Resolver el sistema de ecuaciones AX=B siendo

y B

2sen8 x3

tan 5 x2

e)

0
[bi 1 ]20 x1 siendo bi 1

x3

2 x4

tan(i )

c) Resolver el sistema de ecuaciones AX=B siendo


y B

6 x3

c)

0
[bi 1 ]15 x1 siendo bi 1

2 x3

ln 7

b) Resolver el sistema de ecuaciones AX=B siendo


y B

x2

2 x2

log 2 x1 ln 2 x2

E-2) a) Resolver el sistema de ecuaciones UX=B, siendo U


y B

22

7 x4

log 3x4

4 x1

14

1
;i
i j 1
senh(i j )
0
i

j
;i
j

Tarea Domiciliaria
E-1) Se dice que un sistema lineal AX=B es triangular inferior cuando aij

0 siempre que i<j. Construya un

programa forsub , anlogo al programa backsub para resolver el siguiente sistema triangular inferior.

a11 x1

b1

a21 x1

a22 x2

a31 x1

a3 2 x2

an

an 11 x1
an1 x1

b2
a33 x3

b3

12 2

an 2 x2

an

x an

13 3

bn

1n 1 n 1

an 3 x3 an n 1 xn

an n xn

bn

E-2) Resolver los siguientes sistemas triangulares inferiores y calcular det(A) as como su ploteo.

2 x1
a)

x1

6
4 x2

3 x1 2 x2

x3

x1 2 x2

6 x3

4
3 x4

b)

5 x1

10

x1 3x2

3x1

4 x2

2 x3

x1 3x2

6 x3

2
x4

sen2 x1
c)

log 4

cos 3 x1 sinh 5 x2

sen6

tan 2 x1 2sen6 x2
log 4 x1

tanh 2 x2

4 x3
2 cos 6 x3

ln 6
3x4

E-3) Usar el programa forsub (creado por Ud) para resolver los siguientes sistemas de ecuaciones triangulares
Inferiores :
a) Resolver el sistema de ecuaciones LX=B, siendo L
y B

[bi 1 ]20 x1 siendo bi 1

[lij ]20 x 20 con lij

[aij ]15 x15

[bi 1 ]30 x1 siendo bi 1

j
j
j

[aij ]20 x 20

j
j
j

sen(i ) , resolver AX=B.

d) Resolver el sistema de ecuaciones AX=B siendo

y B

log( i j ) ; i
Ln(i. j )
;i
0

[bi 1 ]20 x1 siendo bi 1

cot(i ) , resolver AX=B.

c) Resolver el sistema de ecuaciones AX=B siendo


y B

sen(i j ) ; i
cos(i. j )
;i
0

[bi 1 ]15 x1 siendo bi 1

j ;i

b) Resolver el sistema de ecuaciones AX=B siendo


y B

A [aij ]30 x 30

log( i 1) , resolver AX=B.

DR. SORIA QUIJAITE JUAN JESS

1
;i j
i j 1
senh(i j )
;i j
0
; i j

MTODOS NUMRICOS CON SOFTWARE MATLAB

SISTEMAS DE ECUACIONES LINEALES


Descomposicin triangular.-

Dada la matriz

a11

a12

a13

a21
a31

an 11

a22
a32

an 12

an1

an 2

a1n

b1

a23 a2 n
a33 a3n

an 13 an 1n

b2
b3

bn 1

bn

an 3

ann

Sea el sistema A. X b , puede ser almacenado en un arreglo de nx(n+1), donde los coeficientes del vector b se
almacenan en la columna (n+1) del arreglo. Esta nueva matriz se le conoce como matriz aumentada y se la denota
como Aa [ A | b ] .
Las operaciones con filas, pueden aplicarse a la matriz aumentada que son:
fj
Intercambio.- El orden de dos filas puede ser cambiado , f i
Escalamiento.- Una fila se puede multiplicar por una constante diferente de cero fi

. fi
Reemplazo.- Una fila puede reemplazada por la suma de esa fila y un mltiplo de otra fila f i

fi

k fj

I.- Mtodo de eliminacin de GAUSS


Algoritmo
Gauss
for i=1 to n-1
if a[i , i] =0 then
Intercambio de filas
for j=i+1 to n
m=a[ j, i] / a[i , i]
for k=i to n+1
a[j,k]=a[ j,k]-m*a[i , k]
end Gauss
El nmero arr o el valor en la celda (r , r) cuando es usado para eliminar la variable xr en la filas r+1; r+2; ; n es
conocido como el elemento pivotal r, siendo la fila r la fila pivotal.
E-1) Resolver el sistema de ecuaciones lineales por el mtodo de eliminacin de GAUSS

x1 2 x2

x3 3x4

x5

2 x1

x2

3x3

x4

2 x5

x1 3x2

2 x3

x4

x5

3x1

2 x3

x4
x4

x5

x2

2 x1 4 x2

x3

x5

2
4
3
1
8
Resolucin

Llevando a la forma matricial se tiene :

x1

1
2

2
1

1
3

3
1

1
2

x2

2
4

x3

1
1

x4
x5

entonces se tiene A. X

1
8

i) Ploteando la matriz A se tiene :

DR. SORIA QUIJAITE JUAN JESS

A=[1 -2 1 -3 1;2 1 -3 1 -2;1 -3 2 -1 1;3 -1 2 -1 -1;2 -4 1 -1 1];


mesh(A)
title('MATRIZ "A" DE ORDEN 5x5','FontSize',[16],'color','g')
xlabel('EJE ABSCISAS (i)','FontSize',[10],'color','b');
ylabel('EJE ORDENADAS (j)','FontSize',[10],'color','b');
zlabel('EJE DE ALTURAS (aij)','FontSize',[10],'color','b');
grid on
zoom on

El programa Eliminacin soluciona este sistema de ecuaciones lineales (De cualquier orden)
%guardarlo en una ventana con Eliminacin.m
function x=Eliminacion(AA,b)
[n n]=size(AA);
x=zeros(n,1);
A=[AA b'];
n1=n+1;
for i=1:n
if A(i,i)==0
A=Intercambio(A,i);
end
for k=i+1:n
Pivote=A(k,i)/A(i,i);
for j=i:n1
A(k,j)=A(k,j)-Pivote*A(i,j);
end
end
end
x(n)=A(n,n1)/A(n,n);
for i=n-1:-1:1
suma=A(i,n1);
for j=i+1:n
suma=suma-A(i,j)*x(j);
end
x(i)=suma/A(i,i);
end

----------------------------------------------------------------------------------------------------------------------------------Crear una nueva ventana y guardarlo con Intercambio.m :


function A=Intercambio(A,i)
[n n1]=size(A);
k=i+1;
while (k<=n)&(A(k,i)==0)
k=k+1;
end
if k<=n
for j=1:n1
temp=A(i,j);
A(i,j)=A(k,j);
A(k,j)=temp;
end
end

10

DR. SORIA QUIJAITE JUAN JESS

----------------------------------------------------------------------------------------------------------------------------------Compilarlo con
A=[1 -2 1 -3 1;2 1 -3 1 -2;1 -3 2 -1 1;3 -1 2 -1 -1;2 -4 1 -1 1];
b=[2 4 3 -1 8];
Eliminacion(A,b)

Cuyos resultados son :


ans = 2
-1
-2
1
3
II.- Mtodo de GAUSS-JORDAN
Para invertir una matriz, el mtodo de Gauss-Jordan es el ms eficiente; esto quiere decir que para el sistema
A. X b usando la matriz aumentada, el mtodo de Gauss-Jordan produce la solucin.
Del sistema A. X b y sabiendo que A es invertible, entonces :

A 1 ( A. X )
A 1.b

I .X
X

A 1.b

A 1.b

Si se aplica Gauss-Jordan a una matriz aumentada Aa


O. E

A b

A | b se tendra entonces :

I b* , donde b* es la solucin del sistema de ecuaciones.

Es una variante del mtodo de eliminacin de Gauss; siendo la principal diferencia, que cuando se elimina una
incgnita no slo se elimina de las ecuaciones siguientes sino de todas las otras ecuaciones. Es decir:
Sea W

A b

a11
a21

a12
a22

a13
a23

a31

a32

a33

b1
b2 , se transforma en
b3

1 0 0 b1'
W

I b'

0 1 0 b2'
0 0 1 b3'

y la solucin es x b '
ALGORITMO
Gauss-Jordan
for i=1 to n
if a[i,i]=0 then
Intercambiar filas
m=a[i , i]
for k=i to n+1
a[i,k]=a[i,k]/m
for j=1 to n
if i <> j then
m=a[j,i]
for k=i to n+1
a[j,k]=a[j,k]-m*a[i,k]
end Gauss-Jordan
E-1) Resolver el sistema de ecuaciones lineales por el mtodo de GAUSS-JORDAN

x1 2 x2

x3 3x4

x5

2 x1

x2

3x3

x4

2 x5

x1 3x2

2 x3

x4

x5

3x1

2 x3

x4
x4

x5

x2

2 x1 4 x2

x3

x5

2
4
3
1
8
Resolucin

Llevando a la forma matricial se tiene :

11

DR. SORIA QUIJAITE JUAN JESS

x1

1
2

2
1

1
3

3
1

1
2

x2

2
4

x3

x4

x5

entonces la matriz aumentada Aa

1
8

1
2

2
1

1
3

3
1

1
2

2
4

1
1

1
8

Que con las operaciones elementales se lleva dicha matriz aumentada a la solucin.

1 0 0 0 0
0 1 0 0 0
Aa

0 0 1 0 0

2
1
2 lo que implica que solucin del sistema AX=b es X=(2 ; -1 ; -2 ; 1 ; 3)

0 0 0 1 0

0 0 0 0 1

El programa Gauss-Jordan resuelve este sistema de ecuaciones lineales:


%soluciona un sistema lineal de cualquier orden
%Guardarlo con GaussJordan.m
function x=GaussJordan(AA,b)
[n n]=size(AA);
x=zeros(n,1);
A=[AA b'];
n1=n+1;
for i=1:n
if A(i,i)==0
A=Intercambio(A,i);
end
Piv=A(i,i);
for j=i:n1
A(i,j)=A(i,j)/Piv;
end
for k=1:n
if k~=i
Pivote=A(k,i);
for j=i:n1
A(k,j)=A(k,j)-Pivote*A(i,j);
end
end
end
end
for i=1:n
x(i)=A(i,n1);
end
------------------------------------------------------------------------------------

Compilarlo con
A=[1 -2 1 -3 1;2 1 -3 1 -2;1 -3 2 -1 1;3 -1 2 -1 -1;2 -4 1 -1 1];
b=[2 4 3 -1 8];
GaussJordan(A,b)
------------------------------------------------------------------------------------

Cuyos resultados son:


ans = 2.0000
-1.0000
-2.0000
1.0000
3.0000

12

DR. SORIA QUIJAITE JUAN JESS

LABORATORIO CON MATLAB


E-1) Utilice el mtodo de eliminacin de Gauss y el mtodo de Gauss-Jordan para resolver los siguientes sistemas
de ecuaciones lineales:

x1
a)

4 x2

x3

2 x1 7 x2

x4

x3

x1 4 x2

x1

2 x4

x3

3x1 10 x2

2 x4
2 x3

16

b)

1
5 x4

15

4 x2

9 x3 16 x4

4 x1 9 x2 16 x3
9 x1 16 x2
16 x1

25 x4

25 x3

25 x2

30

x1

54

36 x4

36 x3

86

49 x4

126

x1

3x3

4 x4

5 x5

13

x1

x2

2 x1

x2

2 x3

3x4

4 x5

10

x1

2 x2

d) 2 x1

2 x2

x3

2 x4

3x5

11

2 x1

2 x2

2 x3

x1

20 x4

35 x5

126

2 x1

2 x2

2 x3

x4 2 x5
2 x4 x5

x1 5 x2 15 x3 35 x4

70 x5

210

f)

x2

x3
x4

x5

x3

x6

x6

0
g)

10 x2 10 x3 15 x5 5 x6
5 x1 10 x2 20 x4 200
sen1 x1

sen2 x2

3 x1 3 x2
h)

x1 3x2

3x4

x3

2 x4

x3

x4

3x3

x4

15

4 x4

5 x5

35

6 x3 10 x4 15 x5

4 x2 10 x3

2 x2

2 x3

70

x2
x5

3x3

x5

x2

2 x1 3x2

2 x2

x1

x4

3x1

x1

e)

x3

c)

x2

5 x3

sen3 x3

2 x4

4 x5

sen4 x4
7 x6

0.05 x1 0.07 x2

0.06 x3

0.05 x4

0.23

0.07 x1 0.10 x2

0.08 x3

0.07 x4

0.32

0.06 x1 0.08 x2

0.10 x3

0.09 x4

0.33

0.05 x1 0.07 x2

0.09 x3

0.10 x4

0.31

sen5 x5

sen6 x6

sen7

10

cos 2 x1 cos 3 x2

cos 4 x3

cos 5 x4

cos 6 x5

cos 7 x6

cos 8

senh1x1

senh3 x3

senh4 x4

senh5 x5

senh6 x6

senh7

senh2 x2

log 1x1 log 2 x2

log 3 x3

log 4 x4

log 5 x5

log 6 x6

log 7

tan 1x1

tan 3 x3

tan 4 x4

tan 4 x5

tan 5 x6

tan 6

tan 2 x2

TAREA DOMICILIARIA
E-1) Utilice el mtodo de eliminacin de Gauss y el mtodo de Gauss-Jordan para resolver los siguientes sistemas
de ecuaciones lineales:

x1

2 x2

2 x1 3x2
a) 3x1

5 x5

4 x2

4 x1 2 x2

6 x1 6 x2

7 x3 10 x4 13x5
7 x3
5 x3

ln 2 x1 ln 3 x2

c)

4 x4

5 x2 11x3 16 x4

2 x1 7 x2
x1

3x3

7 x4

21x5
2 x5

3x4 10 x5
ln 4 x3

5 x3 3 x4

12
17

5 x3 18 x4

10 x1 9 x2

7 x3

b) 12 x1 12 x2

24 x4

13x3

30 x5

27 x4

18

35 x5

8 x1 6 x2

6 x3

20 x5

16

4 x1 5 x2

4 x3 15 x4 15 x5

11

ln 5 x4

ln 6 x5

6 x5 8 x6

ln 7 x6

15 x4

14

57

ln 8

20

cos 2 x1 cos 3 x2

cos 4 x3

cos 5 x4

cos 6 x5

cosh1x1 cosh 2 x2

cosh 3 x3

cosh 4 x4

cosh 5 x5

cos 7 x6
cosh 6 x6

log 1x1 log 2 x2

log 3 x3

log 4 x4

log 5 x5

log 6 x6

log 7

cot1x1 cot 2 x2

cot 3 x3

cot 4 x4

cot 4 x5

cot 5 x6

cot 6

13

20 x5

DR. SORIA QUIJAITE JUAN JESS

cos 8
cosh 7

32

MTODOS NUMRICOS CON SOFTWARE MATLAB


SISTEMAS DE ECUACIONES LINEALES ITERATIVOS
I. MTODO ITERATIVO DE JACOBI
Consideremos una ecuacin lineal Ax y , donde A es una matriz cuadrada , x es un vector desconocido y y
es el trmino de origen. Todos los mtodos iterativos requieren una estimacin inicial para comenzar la iteracin,
mismo que denotaremos por x( 0) . La estimacin inicial puede ser cualquier vector arbitrario. Si se dispone de una
buena estimacin, la convergencia de la resolucin iterativa ser rpida; si no, se puede utilizar como estimacin
inicial un vector nulo.
Condicin de Convergencia.Una condicin suficiente para que la resolucin iterativa converja es:
n

ai ,i

ai ,i

, i

j 1
j i

Si embargo, si A es irreducible , es decir; sin ninguna parte de la ecuacin puede resolverse independientemente del
resto, una condicin suficiente es:
n

ai ,i

ai ,i

, i

j 1
j i

Con desigualdad estricta para por lo menos una i.


El mtodo Iterativo de Jacobi se escribe como:

xi(t )

1
. yi
aii

ai , j x (jt

1)

j 1
j i

Donde t es la cuenta de iteraciones. Cuando t=1 en la ecuacin anterior, x del miembro derecho tiene superndice 0
,lo que significa que el valor es una estimacin inicial. En cada ciclo de iteracin se evala xi en orden creciente
segn i.
II. MTODO ITERATIVO DE GAUSS-SEIDEL.El mtodo de Gauss-Seidel es un poco diferente del mtodo iterativo de Jacobi y se escribe como :

xi( t )

1
. yi
aii

i 1

ai , j x (jt )
j 1

ai , j x (jt

1)

1,2,3

j i 1

III. MTODO DE SOBRERRELAJACIN SUCESIVA (SOR) .La Sobrerrelajacin Sucesiva (SOR) es uan mejora del esquema de Gauss-Seidel y su expresin matemtica es

xi( t )

w
. yi
aii

i 1

ai , j x (jt )
j 1

ai , j x (jt

1)

(1 w) xi( t

1)

j i 1

Donde w es un parmetro de sobrerrelajacin que satisface 1 w 2


como regla emprica, se puede asignar a w un valor entre 1.2 y 1.7
E-1) Resolver el sistema de ecuaciones lineales por el mtodo iterativo de Jacobi

10 x1

x2

x3

12

x1 10 x2

x3

12

x1 x2 10 x3

12
Resolucin

Llevando a la forma matricial Ax=b se obtiene

14

DR. SORIA QUIJAITE JUAN JESS

1,2,3

10 1
1 10

1
1

x1
x2

12
12

10

x3

12

%MTODO ITERATIVO DE JACOBI


function x=Jacobi(A,b)
[n n]=size(A);
x=zeros(n,1);
y=zeros(n,1);
error=0.0005;
NTOL=50;
k=0;
fprintf('%5d',k);
for m=1:n
fprintf('%10.5f',x(m));
end
while 1
flag=1;
for i=1:n
suma=0;
for j=1:n
if i~=j
suma=suma+A(i,j)*x(j)/A(i,i);
end
end
y(i)=b(i)/A(i,i)-suma;
end
k=k+1;
fprintf('\n%5d',k);
for i=1:n
if abs(y(i)-x(i))>error
flag=0;
end
x(i)=y(i);
fprintf('%10.5f',x(i));
end
if (NTOL==k)|(flag==1)
break
end
end

----------------------------------------------------------------------------------------------------------------------------------------Compilarlo con
%compilacin de Jacobi
A=[10 1 1;1 10 1;1 1 10];
b=[12 12 12 ];
Jacobi(A,b)

-----------------------------------------------------------------------------------------------------------------------------------------Resultados
Jacobi(A,b)
0 0.00000 0.00000 0.00000
1 1.20000 1.20000 1.20000
2 0.96000 0.96000 0.96000
3 1.00800 1.00800 1.00800
4 0.99840 0.99840 0.99840
5 1.00032 1.00032 1.00032
6 0.99994 0.99994 0.99994
ans =
0.9999
0.9999
0.9999

15

DR. SORIA QUIJAITE JUAN JESS

%Solucin exacta por el programa eliminacin.m (verificando)


Eliminacion(A,b)
ans =
1
1
1
E-2) Resolver el sistema de ecuaciones lineales por el mtodo iterativo de Gauss-Seidel

20 x1

x2

2 x1 10 x2
x1 x2

x3
x3

20 x3

20
11
18
Resolucin

Llevando a la forma matricial Ax=b se obtiene

20
1
2 10

1
1

x1
x2

20

x3

20
11
18

%PROGRAMA ITERACIN DE GAUSS-SEIDEL


function x=GaussSeidel(A,b)
[n n]=size(A);
x=zeros(n,1);
y=zeros(n,1);
error=0.0005;
NTOL=50;
k=0;
fprintf('%5d',k);
for m=1:n
fprintf('%10.5f,x(m)');
end
while 1
flag=1;
for i=1:n
suma=0;
for j=1:n
if i~=j
suma=suma+A(i,j)*x(j)/A(i,i);
end
end
y(i)=b(i)/A(i,i)-suma;
if abs(y(i)-x(i))>error
flag=0;
end
x(i)=y(i);
end
k=k+1;
fprintf('\n%5d',k);
for i=1:n
fprintf('%10.5f',x(i));
end
if (NTOL==k)|(flag==1)
break
end
end

-----------------------------------------------------------------------------------------------------------------------------------Compilarlo con
A=[20 -1 1;2 10 -1;1 1 -20];
b=[20 11 -18];
GaussSeidel(A,b)
---------------------------------------------------------------------------------

16

DR. SORIA QUIJAITE JUAN JESS

Resultados por Gauss-Seidel


GaussSeidel(A,b)
0
1 1.00000 0.90000 0.99500
2 0.99525 1.00045 0.99979
3 1.00003 0.99997 1.00000
4 1.00000 1.00000 1.00000
ans =
1.0000
1.0000
1.0000
Resultados por Jacobi
Jacobi(A,b)
0 0.00000 0.00000 0.00000
1 1.00000 1.10000 0.90000
2 1.01000 0.99000 1.00500
3 0.99925 0.99850 1.00000
4 0.99992 1.00015 0.99989
5 1.00001 1.00000 1.00000
ans =
1.0000
1.0000
1.0000
Resultados por Eliminancin
Eliminacion(A,b)
ans =
1
1
1
LABORATORIO CON MATLAB
E-1)En los ejercicios del 1 al 8 :
a) Empiece con x(0) 0 , use el mtodo iterativo de Jacobi y calcule x (t ) para t=1,2,3. Converge la iteracin
de Jacobi a la solucin ?
b) Empiece con x(0) 0 , use el mtodo iterativo de Gauss-Seidel y calcule x (t ) para t=1,2,3. Converge la
iteracin de Gauss-Seidel a la solucin ?
1.-

4 x1

x2

15

x1 5 x2

5 x1

x3

x2

5.- 2 x1 8 x2

x1 x2

17

x3
4 x3

2.-

10
11 6.3

8 x1 3 x2

10

x1 4 x2

2 x1 8 x2
5 x1

x2

x1 x2

x3
x3
4 x3

3.-

11
10
3

DR. SORIA QUIJAITE JUAN JESS

x1 3 x2
6 x1

4.-

2 x2

x1 5 x2

x3

x3

13

7.- 4 x1

x2

2 x1 x2

6 x3

2 x1 3 x2

7 x1

4 x1
8.-

2 x2

x2

x3

13

x1 5 x2

x3

2 x1 x2

6 x3

TAREA DOMICILIARIA
E-1) En los ejercicios
c) Empiece con x(0) 0 , use el mtodo iterativo de Jacobi y calcule x (t ) Converge la iteracin de Jacobi a
la solucin ?
d) Empiece con x(0) 0 , use el mtodo iterativo de Gauss-Seidel y calcule x (t ) Converge la iteracin de
Gauss-Seidel a la solucin ?

x1
a)

4 x2

x3

2 x1 7 x2

x3

x1 4 x2

c)

x2

x1

2 x2

x1

2 x4

x1
16

5 x4

x4

x5

3x3

b)

2 x3

x3

x1 3x2

2 x4

x3

3x1 10 x2

x1

x4

4 x4

15

5 x5

35

6 x3 10 x4 15 x5

4 x2 10 x3

70

d)

9 x3 16 x4

4 x1 9 x2 16 x3
9 x1 16 x2
16 x1

15

4 x2

49 x4

86
126

x1

2 x2

3x3

4 x4

5 x5

13

2 x1

x2

2 x3

3x4

4 x5

10

2 x1

2 x2

x3

2 x4

3x5

11

x4 2 x5
2 x4 x5

35 x5

126

2 x1

2 x2

2 x3

x1 5 x2 15 x3 35 x4

70 x5

210

2 x1

2 x2

2 x3

DR. SORIA QUIJAITE JUAN JESS

54

36 x4

36 x3

20 x4

18

25 x4

25 x3

25 x2

30

You might also like