Professional Documents
Culture Documents
1. Crear una rutina en MATLAB para determinar si una matriz tiene diagonal
estrictamente dominante.
sol.
A= [2 4; 12 4]
disp('Autovalores de A')
lambda=eig(A)
disp('Radio espectral')
ro=max(abs(eig(A)))
disp('norma cuadrada A')
max(abs(eig(A*A')))^0.5
norm(A,2)
disp('Verificando si A es estrictamente diagonalmente dominante');
n=4;
A=round(rand(n)*20-10)+5*diag(diag(round(rand(n)*20-10)))
fil=sum(abs(A'))-diag(abs(A))'
dia=diag(abs(A))'
if sum(dia>fil)==length(A)
fprintf('1 \n');
else
fprintf('0\n');
end
2. Crear una rutina en MATLAB para determinar si una matriz es simtrica,definida
positiva y tridiagonal.
][ ] [ ]
a+2 1 x 1 = 3
1
a x2 1
a) Halle todos los valores de a que aseguren convergencia al aplicar el mtodo de Jacobi.
T j=
[ ]
0
1
a+ 2
1
a
([ ])
|T j I|=det
1
a
1
a+2 = 2 1 =0
a2 +2 a
1
<1
a +2 a
2
a +2 a1> 0
(0)
x 1 =0 ; x 2 =0 :
SOL:
(k+1)
x1
(k+1)
x2
1
k
( 3x 2 )
a+2
1
(k+1)
= (1x 1 )
a
Para k=0 y
(0)
x(0)
1 =0 ; x 2 =0 :
x 1(1)=
5
( 30 )=15 /13
13
x 2( 1)=
3
15 6
1
=
5
13 65
Para k=1 y
(1)
(1)
x 1(2)=
5
6
201
3(
)=
13
65
169
x 2( 2)=
3
201 96
1
=
5
169
845
Para k=2 y
(2)
x(2)
1 =201 /169 ; x 2 =96 /845 :
x 1(3)=
5
96
2631
3(
)=
13
845
2197
x 2( 3)=
3
2631 1302
1
=
5
2197
10985
x 1(3)=
2631
1302
=1.1975 ; x 2( 3)=
=0.1185
2197
10985
011
A= 2 11
2 22
( )
(0)
(0)
x(0)
1 =1 ; x 2 =1 y x3 =1 :
function [z,l,x]=potencia(A,x0,MAXITE,TOL)
x=x0; z=[ ];
for i=1:MAXITE
y=A*x;
[m,p]=max(abs(y));
l=y(p);
err=norm(y/l-x,2);
x=y/l;
z=[z;x' l];
if err<TOL
break
end
end
>>A= [0 -1 -1;-2 1 -1;-2 2 2]
>> x0 = [1; 1; 1]
>> [z,l,x]=potencia(A,x0,50,1e-5)
z=
1.0000
0
1.0000 -2.0000
-0.5000 -0.5000
1.0000
2.0000
-0.2500 -0.2500
1.0000
2.0000
-0.3750 -0.3750
1.0000
2.0000
-0.3125 -0.3125
1.0000
2.0000
-0.3438 -0.3438
1.0000
2.0000
-0.3281 -0.3281
1.0000
2.0000
-0.3359 -0.3359
1.0000
2.0000
-0.3320 -0.3320
1.0000
2.0000
-0.3340 -0.3340
1.0000
2.0000
-0.3330 -0.3330
1.0000
2.0000
-0.3335 -0.3335
1.0000
2.0000
-0.3333 -0.3333
1.0000
2.0000
-0.3334 -0.3334
1.0000
2.0000
-0.3333 -0.3333
1.0000
2.0000
-0.3333 -0.3333
1.0000
2.0000
-0.3333 -0.3333
1.0000
2.0000
-0.3333 -0.3333
1.0000
2.0000
-0.3333 -0.3333
1.0000
2.0000
I=2
x=
-0.3333
-0.3333
1.0000
5. Teniendo en cuenta que el mtodo de Gauss Seidel es convergente cuando la matriz
A es simtrica y definida positiva encuentre para que valores de a es convergente la
siguiente matriz:
a) a > 9
b) -1< a < 1
c) a >8
d) -2 a 2
e) a > 2
SOL.
6.Sea:
A=
1 4
1 1
[] [ ] [ ] []
a 1 b 1 c 2 d 1 e N . A
2
2
1
1
A = [-1 4;1 -1]
[Q,D] = eig(A)
Q=
0.8944 -0.8944
0.4472
0.4472
D=
1.0000
0 -3.0000
[ ][ ] [ ]
10
+4
2
+5
2
x1 1
=
1
x
2
20
|T j I|=det
([
+ 4
40
])
+5
(+ 5)( + 4)
20
= 2
=0
800
( +5)( +4 )
<1
800
2+ 9 780< 0
1=32.7886 2=23.78869
8. Considere la matriz
[ ]
11 1
A= 2 2 0
1aa
, a parmetro real
1 1 1
p ( x )=det ( A I ) = 22 0 =0
1 a a
( 1 ) ( 2 ) ( a )+2a-(( 2 )-2( a ))
Si
=0 :
a=1/3
b)
A=
11 1
22 0
11/ 3 1/ 3
D=
1.6667 + 1.1056i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 1.6667 - 1.1056i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 + 0.0000i
[ ]
A= a b
c d
|bcad| 1
][ ] [ ]
1 3 x =4
2 1 y
1
][ ] [ ]
2 1 x
=1
1 3 y
4
clear
A=[2 -1;1 3]
b=[1 4]'
xx=inv(A)*b
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
%Usando metodo de Jacobi
T=inv(D)*(L+U);
c=inv(D)*b;
format long
x=[0 0]';
xa=x
TOL=1e-2;
NMAX=10;
for i=1:NMAX
x=T*x+c;
er=norm(x-xa,inf);
xa=x
if er<TOL
break
end
end
i
[x xx]
radio_espectral=max(abs(eig(T)))
xx =
1
1
xa =
0
0
xa =
0.500000000000000
1.333333333333333
xa =
1.166666666666667
1.166666666666667
xa =
1.083333333333333
0.944444444444444
xa =
0.972222222222222
0.972222222222222
xa =
0.986111111111111
1.009259259259259
xa =
1.004629629629630
1.004629629629630
xa =
1.002314814814815
0.998456790123457
i=
7
ans =
1.002314814814815 1.000000000000000
0.998456790123457 1.000000000000000
radio_espectral = 0.408248290463863
11. Dada la matriz
[ ]
1bc
b 2c
0c1