sistemas_lineales mÉtodos numericos
DESCRIPTION
ESTUDIANTES DEL CURSO DE MÉTODOS NUMÉRICOS (MATLAB); INGENIERÍA CIVIL, SISTEMASTRANSCRIPT
1 DR. SORIA QUIJAITE JUAN JESÚS
MÉTODOS NUMÉRICOS CON SOFTWARE MATLAB
ÁLGEBRA MATRICIAL Matrices Numéricas.- MATLAB permite trabajar con matrices numéricas de forma muy cómoda y extensa. No
obstante, se trata de un programa especializado en cálculo matricial. La tabla que se presenta a continuación
muestra las funciones matriciales numéricas que pueden realizarse con MATLAB.
logm (A) Logaritmo neperiano de la matriz A
sqrt(A) Raíz cuadrada de la matriz cuadrada A
funm.(A,’función’) Aplica la función a la matriz cuadrada A
transpose(A) o A’ Matriz transpuesta de A
inv(A) Matriz inversa de la matriz cuadrada A (1A )
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 mágica 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, cumpliéndose 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 raíces del polinomio en
)*det( AC
[V,D]=eig(A,B) Halla la matriz diagonal D de autovalores generalizados de A y B y una matriz V
cuyas columnas son los autovectores correspondientes, cumpliéndose A*V=B*V*D
hess(A) Devuelve la matriz de Hessemberg H
poly(A) Devuelve el polinomio característico de la matriz A
eye(m) Devuelve una matriz identidad de orden mxm
zeros(m) Devuelve una matriz nula de orden mxm
zeros(m,n) Devuelve una matriz nula de orden mxn
ones(m,n) Devuelve una matriz de unos de orden mxn
size(A) Devuelve el orden de la matriz A
tril (A) Devuelve la parte triangular inferior de la matriz A
triu(A) Devuelve la parte triangular superior de la matriz A
diag(A) Extrae la diagonal de la matriz A como vector columna
A(a,:) Define la fila a-ésima de la matriz A
A(:,b) Define la columna b-ésima de la matriz A
[L,U]=lu(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
permutación)
[L,U,P]=lu(A) Da una matriz triangular inferior L, una matriz triangular superior U y una matriz
de permutación P tales que P*A=L*U
R=chol(A) Devuelve la matriz triangular superior R tal que R’*R=A (Descomposición de
cholesky de A) en caso de que A sea definida positiva. Si A no es definida positiva
devuelve un error
jordan(A)
[V,J]=jordan(A)
Halla la matriz canónica de jordan J de la matriz A (J tiene los autovalores de A en
la diagonal)
Halla la matriz canónica de Jordan J de la matriz A y la matriz de paso V cuyas
columnas son los autovectores de A cumpliéndose que JVAV **1
2 DR. SORIA QUIJAITE JUAN JESÚS
Operadores Matriciales.-
A+B , A-B , A*B Suma, resta y producto de matrices
A \ B Si A es cuadrada, A \ B =inv(A)*B. Si A no es cuadrada, A\B es la solución en el
sentido de mínimos cuadrados del sistema A.X=B
B / A Coincide con (A’ \ B’)’ nA Coincide con A*A*A*A*… *A n veces (n=escalar)
Ap Realiza el cálculo sólo si p es un escalar
E-1) Introducir la matriz
353
152
624
A entonces al utilizar los comandos de la tabla se tiene:
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
3 DR. SORIA QUIJAITE JUAN JESÚS
ans =
4 0 0
-2 5 0
3 5 -3
» triu(A) % calcula la matriz triangular superior de la matriz A
ans =
4 2 6
0 5 -1
0 0 -3
» size(A) % calcula el orden de la matriz A
ans = 3 3
» poly(A) % calcula el polinomio característico 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)] % calcula la matriz particionada de orden 3x12
I =
1 1 1 1 0 0 0 0 1 0 0 0
1 1 1 1 0 0 0 0 0 1 0 0
1 1 1 1 0 0 0 0 0 0 1 0
» I(1,:) % identifica la primera fila de la matriz I
ans =
1 1 1 1 0 0 0 0 1 0 0 0
» I(:,11) % identifica la columna Nº 11 de la matriz I
ans = 0 0 1
% gráfico de la matriz A
Gráficos Matriciales.- 1)%Gráfica 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
4 DR. SORIA QUIJAITE JUAN JESÚS
2) %Gráfica 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 I.- Dadas las siguientes matrices de orden 6x6
521111
232132
313431
342112
421131
421312
A ;
371125
152113
213433
332124
521132
753241
B
221449
124368
311227
443536
334362
158634
C
1) Calcular las siguientes operaciones matriciales :
a) A+B b) B-C c) A-BxC d) 1A e)
1B f) 1C g)
1xBAT h) Diagonal de A
i) Diagonal de B j) AxB k) BxC l) Ax(BxC) ll) (AxB)xC m) 32 BxA n) valores propios
de A, B y C o) Determinante de A, B y C p) ))(( BABA q) 22 BA
2) Graficar las matices generadas por )sin(2)(cos),( 2 jiijiA ; )(sin)(cos),( 33 jijijjiB ;
)1/(1),( jijiC ; )sin(),( jiejiD ji; )(),( )( jsenejiE jisen
3) Graficar las matrices de
orden 10x10 definidas por :
jijjii
jiijaij
;.
; ;
jijjii
jiijbij
;.
;)cos( ;
jijjii
jijicij
;.
;)sin(
5 DR. SORIA QUIJAITE JUAN JESÚS
MÉTODOS NUMÉRICOS CON SOFTWARE MATLAB
SISTEMAS TRIANGULARES
Sistemas Lineales Triangulares Definición.-
1) Se dice que la matriz ][ ijaA de orden nxn es triangular superior cuando sus elementos verifican
jiaij ;0
2) Se dice que la matriz ][ ijaA de orden nxn es triangular inferior cuando sus elementos verifican
jiaij ;0
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:
nnnn
nnnnnnn
nnnn
nnnn
nnnn
bxa
bxaxa
bxaxaxa
bxaxaxaxa
bxaxaxaxaxa
11111
33113333
22112323222
11111313212111
……………… (1)
Teorema.- (Sustitución regresiva)
Supongamos que AX=B es un sistema triangular superior como el dado en (1). Si nkparaakk ,,2,1;0
,entonces existe una solución única de (1) .
Teorema.-
Si una matriz ][ ijaA de orden nxn es triangular superior o inferior, entonces el determinante de la matriz A es:
n
i
iinn aaaaaA1
332211 ....)det(
E-1) Usar el método de sustitución regresiva para resolver el sistema lineal:
63
456
7472
20324
4
43
432
4321
x
xx
xxx
xxxx
Resolución
Llevándolo a la forma matricial AX=B, se tiene:
6
4
7
20
3000
5600
4720
3214
4
3
2
1
x
x
x
x
, donde
3000
5600
4720
3214
A ;
4
3
2
1
x
x
x
x
X y
6
4
7
20
B
a) ploteo de la matriz A
6 DR. SORIA QUIJAITE JUAN JESÚS
b) Usando el programa backsub %Sustitución regresiva
%Soluciona un sistema triangular superior AX=B
%por el método de sustitución 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 solución del sistema es: )}2;1;4;3{()};;;{( 4321 xxxx
E-2) Usar el método de sustitución regresiva para resolver el sistema lineal:
4log2log
321
º4cosº3cosº2cosº1cos
º54º3º2º1
4
43
432
4321
x
senhxsenhxsenh
xxx
senxsenxsenxsenxsen
Llevándolo a la forma matricial AX=B, se tiene:
4log
3
º4cos
º5
2log000
2100
º3cosº2cosº1cos0
º4º3º2º1
4
3
2
1
senh
sen
x
x
x
x
senhsenh
sensensensen
-------------------------------------------------------------------------------------------------------------------------------------- %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)
-----------------------------------------------------------------------------------
7 DR. SORIA QUIJAITE JUAN JESÚS
%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.
a)
155
1132
324
823
4
43
432
4321
x
xx
xxx
xxxx
b)
147
11133
225911
14735
4
43
432
4321
x
xx
xxx
xxxx
c)
63
102
32
07262
4224
5
54
543
5432
54321
x
xx
xxx
xxxx
xxxxx
d)
7lnº15cos
º92log3º8cos5
º43log5ln2º4tan
43logº3tan2º2tanº1tan
4
43
432
4321
x
senxx
senxxx
Lnxxxx
e)
3º3cos
9cosh52º8cos5
43lnº7cos8º5tan
º145logº822ln2log
4
43
432
2
4321
senhx
xsenhx
senhxxx
senxxsenxx
E-2) a) Resolver el sistema de ecuaciones UX=B, siendo 1010][ xijuU con ji
jiijuij
0
;)cos(
y 1101][ xibB siendo )tan(1 ibi
b) Resolver el sistema de ecuaciones AX=B siendo
ji
jiji
jijisen
aA xij
0
;).cos(
;)(
][ 1515
y 1151][ xibB siendo )cot(1 ibi , resolver AX=B.
c) Resolver el sistema de ecuaciones AX=B siendo
ji
jijiLn
jiji
aA xij
0
;).(
;)log(
][ 2020
y 1201][ xibB siendo )(1 isenbi , resolver AX=B.
d) Resolver el sistema de ecuaciones AX=B siendo
ji
jijisenh
jiji
aA xij
0
;)(
;1
1
][ 3030
y 1301][ xibB siendo )1log(1 ibi , resolver AX=B.
8 DR. SORIA QUIJAITE JUAN JESÚS
Tarea Domiciliaria
E-1) Se dice que un sistema lineal AX=B es triangular inferior cuando 0ija siempre que i<j. Construya un
programa forsub , análogo al programa backsub para resolver el siguiente sistema triangular inferior.
nnnnnnnnnn
nnnnnnn
bxaxaxaxaxa
bxaxaxaxa
bxaxaxa
bxaxa
bxa
11332211
1111313212111
3333223131
2222121
1111
E-2) Resolver los siguientes sistemas triangulares inferiores y calcular det(A) así como su ploteo.
a)
2362
423
54
62
4321
321
21
1
xxxx
xxx
xx
x
b)
563
2243
43
105
4321
321
21
1
xxxx
xxx
xx
x
c)
53º6cos22tanh4log
6ln4º62º2tan
º65sinhº3cos
4logº2
4321
321
21
1
xxxx
xxsenx
senxx
xsen
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 2020][ xijlL con ji
jijilij
0
;
y 1201][ xibB siendo ibi 1
b) Resolver el sistema de ecuaciones AX=B siendo
ji
jiji
jijisen
aA xij
0
;).cos(
;)(
][ 1515
y 1151][ xibB siendo )cot(1 ibi , resolver AX=B.
c) Resolver el sistema de ecuaciones AX=B siendo
ji
jijiLn
jiji
aA xij
0
;).(
;)log(
][ 2020
y 1201][ xibB siendo )(1 isenbi , resolver AX=B.
d) Resolver el sistema de ecuaciones AX=B siendo
ji
jijisenh
jiji
aA xij
;0
;)(
;1
1
][ 3030
y 1301][ xibB siendo )1log(1 ibi , resolver AX=B.
9 DR. SORIA QUIJAITE JUAN JESÚS
MÉTODOS NUMÉRICOS CON SOFTWARE MATLAB
SISTEMAS DE ECUACIONES LINEALES Descomposición triangular.-
Dada la matriz
nnnnnn
nnnnnn
n
n
n
baaaa
baaaa
baaaa
baaaa
baaaa
W
321
11131211
33333231
22232221
11131211
Sea el sistema bXA. , 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 ]|[ bAAa .
Las operaciones con filas, pueden aplicarse a la matriz aumentada que son:
Intercambio.- El orden de dos filas puede ser cambiado , ji ff
Escalamiento.- Una fila se puede multiplicar por una constante diferente de cero ii ff .
Reemplazo.- Una fila puede reemplazada por la suma de esa fila y un múltiplo de otra fila jii fkff
I.- Método de eliminación 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 número rra o el valor en la celda (r , r) cuando es usado para eliminar la variable rx 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 método de eliminación de GAUSS
842
123
323
4232
232
54321
54321
54321
54321
54321
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
Resolución
Llevando a la forma matricial se tiene :
8
1
3
4
2
11142
11213
11231
21312
13121
5
4
3
2
1
x
x
x
x
x
entonces se tiene bXA.
i) Ploteando la matriz “A” se tiene :
10 DR. SORIA QUIJAITE JUAN JESÚS
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 Eliminación soluciona este sistema de ecuaciones lineales (De cualquier orden) %guardarlo en una ventana con Eliminación.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
11 DR. SORIA QUIJAITE JUAN JESÚS
-----------------------------------------------------------------------------------------------------------------------------------
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.- Método de GAUSS-JORDAN Para invertir una matriz, el método de Gauss-Jordan es el más eficiente; esto quiere decir que para el sistema
bXA. usando la matriz aumentada, el método de Gauss-Jordan produce la solución.
Del sistema bXA. y sabiendo que A es invertible, entonces :
bAX
bAXI
bAXAA
.
..
.).(
1
1
11
Si se aplica Gauss-Jordan a una matriz aumentada bAAa | se tendría entonces :
*.
~ bIbAEO
, donde b* es la solución del sistema de ecuaciones.
Es una variante del método de eliminación de Gauss; siendo la principal diferencia, que cuando se elimina una
incógnita no sólo se elimina de las ecuaciones siguientes sino de todas las otras ecuaciones. Es decir:
Sea
3333231
2232221
1131211
baaa
baaa
baaa
bAW , se transforma en
'
3
'
2
'
1
100
010
001
'
b
b
b
bIW
y la solución es 'bx
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 método de GAUSS-JORDAN
842
123
323
4232
232
54321
54321
54321
54321
54321
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
Resolución
Llevando a la forma matricial se tiene :
12 DR. SORIA QUIJAITE JUAN JESÚS
8
1
3
4
2
11142
11213
11231
21312
13121
5
4
3
2
1
x
x
x
x
x
entonces la matriz aumentada
8
1
3
4
2
11142
11213
11231
21312
13121
aA
Que con las operaciones elementales se lleva dicha matriz aumentada a la solución.
3
1
2
1
2
10000
01000
00100
00010
00001
aA lo que implica que solución del sistema AX=b es X=(2 ; -1 ; -2 ; 1 ; 3)
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
13 DR. SORIA QUIJAITE JUAN JESÚS
LABORATORIO CON MATLAB
E-1) Utilice el método de eliminación de Gauss y el método de Gauss-Jordan para resolver los siguientes sistemas
de ecuaciones lineales:
a)
1552103
124
16272
24
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
b)
12649362516
863625169
54251694
301694
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
c)
432
632
423
132
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
d)
32222
62222
113222
104322
135432
54321
54321
54321
54321
54321
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
e)
2107035155
1263520104
70151063
355432
15
54321
54321
54321
54321
54321
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
f)
20020105
05151010
0
0
0
0
421
6532
65
63
542
321
xxx
xxxx
xx
xx
xxx
xxx
g)
31.010.009.007.005.0
33.009.010.008.006.0
32.007.008.010.007.0
23.005.006.007.005.0
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
h)
6tan5tan4tan4tan3tan2tan1tan
7log6log5log4log3log2log1log
7654321
º8cosº7cosº6cosº5cosº4cosº3cosº2cos
10742533
º7º6º5º4º3º2º1
654321
654321
654321
654321
654321
654321
xxxxxx
xxxxxx
senhxsenhxsenhxsenhxsenhxsenhxsenh
xxxxxx
xxxxxx
senxsenxsenxsenxsenxsenxsen
TAREA DOMICILIARIA
E-1) Utilice el método de eliminación de Gauss y el método de Gauss-Jordan para resolver los siguientes sistemas
de ecuaciones lineales:
a)
710354
5727772
1721161153
121310732
25432
54321
54321
54321
54321
54321
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
b)
111515454
162015668
323527131212
1830247910
142018566
54321
54321
54321
54321
54321
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
c)
6cot5cot4cot4cot3cot2cot1cot
7log6log5log4log3log2log1log
7cosh6cosh5cosh4cosh3cosh2cosh1cosh
º8cosº7cosº6cosº5cosº4cosº3cosº2cos
20863524
8ln7ln6ln5ln4ln3ln2ln
654321
654321
654321
654321
654321
654321
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
xxxxxx
14 DR. SORIA QUIJAITE JUAN JESÚS
MÉTODOS NUMÉRICOS CON SOFTWARE MATLAB
SISTEMAS DE ECUACIONES LINEALES ITERATIVOS I. MÉTODO ITERATIVO DE JACOBI
Consideremos una ecuación lineal yAx , donde A es una matriz cuadrada , “x” es un vector desconocido y “y”
es el término de origen. Todos los métodos iterativos requieren una estimación inicial para comenzar la iteración,
mismo que denotaremos por )0(x . La estimación inicial puede ser cualquier vector arbitrario. Si se dispone de una
buena estimación, la convergencia de la resolución iterativa será rápida; si no, se puede utilizar como estimación
inicial un vector nulo.
Condición de Convergencia.-
Una condición suficiente para que la resolución iterativa converja es:
iaan
ijj
iiii ,1
,,
Si embargo, si A es irreducible , es decir; sin ninguna parte de la ecuación puede resolverse independientemente del
resto, una condición suficiente es:
iaan
ijj
iiii ,1
,,
Con desigualdad estricta para por lo menos una i.
El método Iterativo de Jacobi se escribe como:
n
ijj
t
jjii
ii
t
i xaya
x1
)1(
,
)( .1
Donde t es la cuenta de iteraciones. Cuando t=1 en la ecuación anterior, x del miembro derecho tiene superíndice 0
,lo que significa que el valor es una estimación inicial. En cada ciclo de iteración se evalúa ix en orden creciente
según i.
II. MÉTODO ITERATIVO DE GAUSS-SEIDEL.-
El método de Gauss-Seidel es un poco diferente del método iterativo de Jacobi y se escribe como :
n
ij
t
jji
i
j
t
jjii
ii
t
i xaxaya
x1
)1(
,
1
1
)(
,
)( .1
, 3,2,1t
III. MÉTODO DE SOBRERRELAJACIÓN SUCESIVA (SOR) .-
La Sobrerrelajación Sucesiva (SOR) es uan mejora del esquema de Gauss-Seidel y su expresión matemática es
)1(
1
)1(
,
1
1
)(
,
)( )1(. t
i
n
ij
t
jji
i
j
t
jjii
ii
t
i xwxaxaya
wx , 3,2,1t
Donde w es un parámetro de sobrerrelajación que satisface 21 w
como regla empírica, se puede asignar a w un valor entre 1.2 y 1.7
E-1) Resolver el sistema de ecuaciones lineales por el método iterativo de Jacobi
1210
1210
1210
321
321
321
xxx
xxx
xxx
Resolución
Llevando a la forma matricial Ax=b se obtiene
15 DR. SORIA QUIJAITE JUAN JESÚS
12
12
12
1011
1101
1110
3
2
1
x
x
x
%MÉTODO 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 %compilación 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
16 DR. SORIA QUIJAITE JUAN JESÚS
%Solución exacta por el programa eliminación.m (verificando)
Eliminacion(A,b)
ans =
1
1
1
E-2) Resolver el sistema de ecuaciones lineales por el método iterativo de Gauss-Seidel
1820
11102
2020
321
321
321
xxx
xxx
xxx
Resolución
Llevando a la forma matricial Ax=b se obtiene
18
11
20
2011
1102
1120
3
2
1
x
x
x
%PROGRAMA ITERACIÓN 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)
---------------------------------------------------------------------------------
17 DR. SORIA QUIJAITE JUAN JESÚS
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 Eliminanción
Eliminacion(A,b)
ans =
1
1
1
LABORATORIO CON MATLAB
E-1)En los ejercicios del 1 al 8 :
a) Empiece con 0)0(x , use el método iterativo de Jacobi y calcule )(tx para t=1,2,3. ¿Converge la iteración
de Jacobi a la solución ?
b) Empiece con 0)0(x , use el método iterativo de Gauss-Seidel y calcule )(tx para t=1,2,3. ¿Converge la
iteración de Gauss-Seidel a la solución ?
1.- 95
154
21
21
xx
xx 2.-
64
1038
21
21
xx
xx 3.-
226
13
21
21
xx
xx 4.-
127
132
21
21
xx
xx
5.-
34
1182
105
321
321
321
xxx
xxx
xxx
6.-
34
105
1182
321
321
321
xxx
xxx
xxx
7.-
262
134
85
321
321
321
xxx
xxx
xxx
8.-
262
85
134
321
321
321
xxx
xxx
xxx
18 DR. SORIA QUIJAITE JUAN JESÚS
TAREA DOMICILIARIA
E-1) En los ejercicios
c) Empiece con 0)0(x , use el método iterativo de Jacobi y calcule )(tx ¿Converge la iteración de Jacobi a
la solución ?
d) Empiece con 0)0(x , use el método iterativo de Gauss-Seidel y calcule )(tx ¿Converge la iteración de
Gauss-Seidel a la solución ?
a)
1552103
124
16272
24
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
b)
12649362516
863625169
54251694
301694
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
c)
2107035155
1263520104
70151063
355432
15
54321
54321
54321
54321
54321
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
d)
32222
62222
113222
104322
135432
54321
54321
54321
54321
54321
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx