Laboratorio 1 de metodos numericos
-
Upload
edwin-callejas -
Category
Documents
-
view
3 -
download
0
description
Transcript of Laboratorio 1 de metodos numericos
-
INFORME
LABORATORIO 1
Edwin Callejas Pinto
3 de diciembre de 2015
-
INFORME
LABORATORIO 1
1. Implementar los seis algoritmos de multiplicacion de matrices en funcion de ladimension n de una matriz cuadrada que debe generar aleatoriamente y calcularlos tiempos de ejecucion de cada uno de los mismos con tic y toc y presentar ungrafico comparativo de los tiempos estimados para n = 100; 200; 300; 400; 500; 600.
Solucion.- El programa principal se denomina matxmatrun.m es:
% archivo matxmatrun.m
clc
clear all
ncols = 10*[1,2,3,4,5,6];
ns=length(ncols); %numero de ns proporcionado
tp1=zeros(ns,1); tp2=tp1; tp3=tp1; tp4=tp1; tp5=tp1; tp6=tp1; tp7=tp1;
for i=1:ns
tp1(i)=matxmat(ncols(i),1);
tp2(i)=matxmat(ncols(i),2);
tp3(i)=matxmat(ncols(i),3);
tp4(i)=matxmat(ncols(i),4);
tp5(i)=matxmat(ncols(i),5);
tp6(i)=matxmat(ncols(i),6);
tp7(i)=matxmat(ncols(i),7);
end
tp = [tp1 tp2 tp3 tp4 tp5 tp6 tp7];
disp(tp);
plot(ncols,tp);
legend(ijk,jik,ikj,jki,kij,kji,cmd MATLAB,Location,northwest)
title(Grafico de comparacion de tiempos C = A * B)
el programa de la funcion matxmat.m es:
%Sintaxis: [tp_ejec]=matxmat(n,op)
%Calcula el tiempo de ejecucion de los agoritmos de multiplicacion de
%matrices op=1: ijk, op=2: jik, op=3: ikj, op=4: jki, op=5: kij, op=6: kji
%op>=7: Comando MATLAB, n=dimension de la matriz cuadrada.
%Maestria en Modelaje Matematico 1ra version 2015-2016 Carrera Matematica
%Autor: Dr. Porfirio Su~nagua S. Modulo: Analisis Numerico
function [tp_ejec]=matxmat(n,op)
if nargin
-
Lab 1 Edwin Callejas Pinto
A=[2 4 -1 5;0 1 3 5; -2 3 5 -1; 4 0 2 -3];
B=[3 5 7 1; 8 2 4 1; -3 -2 0 4; 2 5 7 1];
n=size(A,1);
else %A tiene entradas de 100 hasta 200, B entre 0 y 1
A=100+(200-100)*rand(n,n);
B=rand(n);
end
C=zeros(n,n);
tic
switch op
case 1 %ijk version fila
for i = 1:n
for j=1:n
s=0;
for k = 1:n
s=s+A(i,k)*B(k,j);
end
C(i,j)=s;
end
end
case 2 % version columna jik
for j = 1:n
for i=1:n
s=0;
for k = 1:n
s=s+A(i,k)*B(k,j);
end
C(i,j)=s;
end
end
case 3 %version gaxpy fila ikj
for i = 1:n
for k=1:n
aik=A(i,k);
for j = 1:n
C(i,j)=C(i,j)+aik*B(k,j);
end
end
end
case 4 %version gaxpy columna jki
for j = 1:n
for k=1:n
bkj=B(k,j);
for i = 1:n
C(i,j)=C(i,j)+A(i,k)*bkj;
end
end
end
case 5 %vesrion outer product fila kij
for k = 1:n
for i=1:n
aik=A(i,k);
for j = 1:n
C(i,j)=C(i,j)+aik*B(k,j);
2
-
Lab 1 Edwin Callejas Pinto
end
end
end
case 6 %version outer product columna kji
for k = 1:n
for j=1:n
bkj=B(k,j);
for i = 1:n
C(i,j)=C(i,j)+A(i,k)*bkj;
end
end
end
otherwise
C=A*B;
end %switch
tp_ejec=toc;
if nargin
-
Lab 1 Edwin Callejas Pinto
Retomando los valores iniciales de ncols = 100*[1,2,3,4,5,6];, es decir de 100hasta 600, para un caso particular se obtiene los siguientes resultados:
0.0662 0.0651 0.0921 0.0941 0.0925 0.0979 0.0022
0.5195 0.5198 0.7489 0.7323 0.7483 0.7435 0.0088
1.7651 2.0277 2.9488 2.4572 2.9166 2.4883 0.0219
4.4598 4.9600 7.5394 5.8426 7.5418 5.8981 0.0668
8.5502 9.8255 17.0247 11.3513 16.7801 11.4755 0.1104
16.1720 18.4805 29.8210 19.6858 29.8428 19.8160 0.1864
cuyo grafico es:
100 150 200 250 300 350 400 450 500 550 6000
5
10
15
20
25
30Grfico de comparacin de tiempos C = A * B
ijkjikikjjkikijkjicmd MATLAB
2. Para cada matriz dada u otra generada, calcular los autovalores y autovectoresy comprobar si genera suficientes autovectores para autovalores repetidos.
Solucion.-
A=rand(10);
[V1,D1]=eig(A)
B=pascal(10);
[V2,D2]=eig(A)
C=diag([1 2 3 3 3 5 10 -1 2]);
[V3,D3]=eig(A)
Lo que proporciona el resultado
A =
0.5822 0.5447 0.4046 0.6963 0.3477 0.7363 0.8217 0.7904 0.5144 0.5341
0.5407 0.6473 0.4484 0.0938 0.1500 0.3947 0.4299 0.9493 0.8843 0.0900
0.8699 0.5439 0.3658 0.5254 0.5861 0.6834 0.8878 0.3276 0.5880 0.1117
4
-
Lab 1 Edwin Callejas Pinto
0.2648 0.7210 0.7635 0.5303 0.2621 0.7040 0.3912 0.6713 0.1548 0.1363
0.3181 0.5225 0.6279 0.8611 0.0445 0.4423 0.7691 0.4386 0.1999 0.6787
0.1192 0.9937 0.7720 0.4849 0.7549 0.0196 0.3968 0.8335 0.4070 0.4952
0.9398 0.2187 0.9329 0.3935 0.2428 0.3309 0.8085 0.7689 0.7487 0.1897
0.6456 0.1058 0.9727 0.6714 0.4424 0.4243 0.7551 0.1673 0.8256 0.4950
0.4795 0.1097 0.1920 0.7413 0.6878 0.2703 0.3774 0.8620 0.7900 0.1476
0.6393 0.0636 0.1389 0.5201 0.3592 0.1971 0.2160 0.9899 0.3185 0.0550
V1 =
Columns 1 through 6
-0.3700 + 0.0000i 0.0610 - 0.0218i 0.0610 + 0.0218i -0.1860 + 0.0000i 0.0978 + 0.3509i 0.0978 - 0.3509i
-0.2933 + 0.0000i 0.5336 + 0.0000i 0.5336 + 0.0000i 0.0617 + 0.0000i -0.2559 + 0.0554i -0.2559 - 0.0554i
-0.3484 + 0.0000i 0.0046 - 0.2371i 0.0046 + 0.2371i 0.0426 + 0.0000i 0.5035 + 0.0000i 0.5035 + 0.0000i
-0.2891 + 0.0000i -0.2199 - 0.4114i -0.2199 + 0.4114i 0.0635 + 0.0000i -0.1307 - 0.0050i -0.1307 + 0.0050i
-0.2993 + 0.0000i -0.1471 - 0.1420i -0.1471 + 0.1420i -0.5054 + 0.0000i -0.0536 + 0.3823i -0.0536 - 0.3823i
-0.3195 + 0.0000i 0.0844 - 0.1610i 0.0844 + 0.1610i 0.2216 + 0.0000i -0.0074 + 0.1152i -0.0074 - 0.1152i
-0.3603 + 0.0000i 0.1001 + 0.1113i 0.1001 - 0.1113i 0.0693 + 0.0000i -0.3067 - 0.2849i -0.3067 + 0.2849i
-0.3422 + 0.0000i -0.1448 + 0.1731i -0.1448 - 0.1731i -0.4467 + 0.0000i 0.0623 - 0.4069i 0.0623 + 0.4069i
-0.2885 + 0.0000i -0.1012 + 0.4311i -0.1012 - 0.4311i 0.3540 + 0.0000i 0.0734 + 0.0255i 0.0734 - 0.0255i
-0.2240 + 0.0000i -0.1239 + 0.2787i -0.1239 - 0.2787i 0.5671 + 0.0000i -0.1215 + 0.0151i -0.1215 - 0.0151i
Columns 7 through 10
0.3802 + 0.1639i 0.3802 - 0.1639i -0.0279 + 0.0000i 0.4355 + 0.0000i
0.2714 + 0.1305i 0.2714 - 0.1305i 0.3559 + 0.0000i 0.1326 + 0.0000i
0.0550 - 0.1289i 0.0550 + 0.1289i -0.1269 + 0.0000i -0.1343 + 0.0000i
0.3116 + 0.2249i 0.3116 - 0.2249i 0.3642 + 0.0000i -0.0481 + 0.0000i
-0.0124 - 0.2722i -0.0124 + 0.2722i -0.1039 + 0.0000i 0.0317 + 0.0000i
-0.6274 + 0.0000i -0.6274 + 0.0000i 0.2203 + 0.0000i 0.1845 + 0.0000i
-0.1350 - 0.0671i -0.1350 + 0.0671i -0.7036 + 0.0000i -0.6515 + 0.0000i
-0.2536 - 0.0849i -0.2536 + 0.0849i -0.1588 + 0.0000i -0.0734 + 0.0000i
-0.0175 + 0.0504i -0.0175 - 0.0504i 0.3793 + 0.0000i -0.0104 + 0.0000i
0.0073 - 0.0745i 0.0073 + 0.0745i -0.0163 + 0.0000i 0.5544 + 0.0000i
D1 =
Columns 1 through 6
5.1121 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.3300 + 0.7064i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.3300 - 0.7064i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -0.8767 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -0.3918 + 0.5283i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -0.3918 - 0.5283i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
Columns 7 through 10
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3482 + 0.2559i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.3482 - 0.2559i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.4063 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.1888 + 0.0000i
B =
5
-
Lab 1 Edwin Callejas Pinto
1 1 1 1 1 1 1 1 1 1
1 2 3 4 5 6 7 8 9 10
1 3 6 10 15 21 28 36 45 55
1 4 10 20 35 56 84 120 165 220
1 5 15 35 70 126 210 330 495 715
1 6 21 56 126 252 462 792 1287 2002
1 7 28 84 210 462 924 1716 3003 5005
1 8 36 120 330 792 1716 3432 6435 11440
1 9 45 165 495 1287 3003 6435 12870 24310
1 10 55 220 715 2002 5005 11440 24310 48620
V2 =
0.0066 0.0385 0.1458 -0.4003 0.7240 0.5261 -0.1259 0.0149 -0.0010 0.0000
-0.0538 -0.2125 -0.4778 0.5734 -0.0252 0.5444 -0.3063 0.0639 -0.0062 0.0002
0.1965 0.4820 0.5010 0.0607 -0.3851 0.2829 -0.4676 0.1641 -0.0234 0.0012
-0.4223 -0.5188 0.0488 -0.3974 -0.2144 -0.1026 -0.4848 0.3106 -0.0654 0.0046
0.5870 0.1232 -0.4232 -0.1335 0.1792 -0.3262 -0.2748 0.4551 -0.1482 0.0145
-0.5469 0.3562 0.0787 0.3297 0.2936 -0.1851 0.0996 0.4978 -0.2817 0.0392
0.3413 -0.4742 0.3806 0.1503 -0.0514 0.1897 0.3736 0.3185 -0.4500 0.0951
-0.1375 0.2790 -0.3795 -0.3941 -0.3223 0.2790 0.1951 -0.1148 -0.5710 0.2121
0.0324 -0.0840 0.1495 0.2089 0.2321 -0.2783 -0.3996 -0.5050 -0.4305 0.4411
-0.0034 0.0105 -0.0224 -0.0372 -0.0483 0.0664 0.1182 0.2184 0.4242 0.8658
D2 =
1.0e+04 *
0.0000 0 0 0 0 0 0 0 0 0
0 0.0000 0 0 0 0 0 0 0 0
0 0 0.0000 0 0 0 0 0 0 0
0 0 0 0.0000 0 0 0 0 0 0
0 0 0 0 0.0001 0 0 0 0 0
0 0 0 0 0 0.0002 0 0 0 0
0 0 0 0 0 0 0.0010 0 0 0
0 0 0 0 0 0 0 0.0095 0 0
0 0 0 0 0 0 0 0 0.1628 0
0 0 0 0 0 0 0 0 0 6.4461
C =
1 0 0 0 0 0 0 0 0
0 2 0 0 0 0 0 0 0
0 0 3 0 0 0 0 0 0
0 0 0 3 0 0 0 0 0
0 0 0 0 3 0 0 0 0
0 0 0 0 0 5 0 0 0
0 0 0 0 0 0 10 0 0
0 0 0 0 0 0 0 -1 0
0 0 0 0 0 0 0 0 2
V3 =
0 1 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0
D3 =
6
-
Lab 1 Edwin Callejas Pinto
-1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0
0 0 2 0 0 0 0 0 0
0 0 0 2 0 0 0 0 0
0 0 0 0 3 0 0 0 0
0 0 0 0 0 3 0 0 0
0 0 0 0 0 0 3 0 0
0 0 0 0 0 0 0 5 0
0 0 0 0 0 0 0 0 10
De los resultados se puede observar que a pesar de que en ciertos casos, talescomo el ultimo que el autovalor = 2 tiene multiplidad 2 y el autovalor = 3tiene multiplicidad 3, la cantidad de autovectores corresponde al tamano de lamatriz, es decir los autovectores son linealmente independientes.
3. Para cualquier matriz A calcule los autovalores de A y de AT.
Solucion.- Aplicando los comandos
clc
clear all
A=rand(10);
[eig(A) eig(A)]
se obtiene:
5.2145 + 0.0000i 5.2145 + 0.0000i
-1.1326 + 0.0000i -1.1326 + 0.0000i
0.7957 + 0.2932i 0.7957 + 0.2932i
0.7957 - 0.2932i 0.7957 - 0.2932i
-0.1098 + 0.6297i -0.1098 + 0.6297i
-0.1098 - 0.6297i -0.1098 - 0.6297i
0.1692 + 0.3706i 0.1692 + 0.3706i
0.1692 - 0.3706i 0.1692 - 0.3706i
-0.1618 + 0.0000i -0.1618 + 0.0000i
-0.4251 + 0.0000i -0.4251 + 0.0000i
genera dos columnas en las que se puede observar los autovalores de la matriz Ay de su transpuesta, comparando ambos se observa que son los mismos.
7
-
Lab 1 Edwin Callejas Pinto
4. Verificar que los autovectores correspondientes a autovalores distintos son lineal-mente independientes.
Solucion.- Para ello se construye el programa
A=[2 0 0; 1 1 1;-1 1 1]
[V,D]=eig(sym(A))
cuyos resultados son:
A =
2 0 0
1 1 1
-1 1 1
V =
[ 0, 1, -1]
[ -1, 1, 0]
[ 1, 0, 1]
D =
[ 0, 0, 0]
[ 0, 2, 0]
[ 0, 0, 2]
la independencia lineal se verifica mediante:
a V1 + b V2 + c V3 = 0 a 01
1
+ b11
0
+ c10
1
= 0para lo cual necesariamente a = 0, b = 0 y c = 0.
5. Genere una matriz simetrica que tenga autovalores repetidos y verifique la matriztiene n autovectores linealmente independientes.
Solucion.- Se han realizado pruebas y general las matrices con vectores columna ofila ordenados mayores a 3, son simetricas y tienen autovalores repetidos, ademasgeneran autovectores linealmente independientes, por ejemplo:
A=[0:4;1:5;2:6;3:7;4:8]
[V,D]=eig((A))
>>
8
-
Lab 1 Edwin Callejas Pinto
A =
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
V =
0.7382 0.5759 0.2539 0.0620 0.2346
0.4368 -0.7950 0.2477 -0.0809 0.3304
0.1355 0.0465 -0.7926 -0.4118 0.4262
-0.1659 -0.0116 -0.1736 0.8184 0.5220
-0.4673 0.1842 0.4646 -0.3876 0.6178
D =
-2.2474 0 0 0 0
0 0.0000 0 0 0
0 0 0.0000 0 0
0 0 0 0.0000 0
0 0 0 0 22.2474
para verificar se ha implementado el siguiente programa, el mismo muestra quela matriz es simetrica y tiene autovalores repetidos k = {0}k, donde k es el ordende repeticion y es de grado k = dim(A) 2
n=7
for i=1:n
for j=1:n
A(i,j)=i+j-1;
end
end
A
[V,D]=eig((A))
>>
n =
7
A =
1 2 3 4 5 6 7
2 3 4 5 6 7 8
3 4 5 6 7 8 9
4 5 6 7 8 9 10
5 6 7 8 9 10 11
6 7 8 9 10 11 12
9
-
Lab 1 Edwin Callejas Pinto
7 8 9 10 11 12 13
V =
0.6450 0.3788 0.5330 -0.2029 -0.1444 0.2148 0.2198
0.4623 0.1948 -0.8025 0.1459 -0.0343 0.0997 0.2683
0.2797 -0.8199 -0.0019 -0.3325 -0.1495 -0.1278 0.3168
0.0970 -0.1734 0.2679 0.8486 0.1307 -0.1345 0.3653
-0.0856 0.1164 0.0127 -0.2968 0.8399 -0.1189 0.4138
-0.2683 0.3201 -0.0069 -0.1341 -0.4366 -0.6349 0.4623
-0.4509 -0.0168 -0.0023 -0.0281 -0.2059 0.7016 0.5108
D =
-3.7179 0 0 0 0 0 0
0 -0.0000 0 0 0 0 0
0 0 -0.0000 0 0 0 0
0 0 0 0.0000 0 0 0
0 0 0 0 0.0000 0 0
0 0 0 0 0 0.0000 0
0 0 0 0 0 0 52.7179
6. Generar matrices semejantes y comprobar que tienen los mismos autovalores ylos autovectores son transformados por la matriz de transicion de semejanza.
Solucion.- Una matriz semejante a la matriz A se define mediante B = P1 A P, esdecir para que exista semejanza es suficiente que cualquier matriz sea inversible,en este caso la matriz P, tal como se muestra con el siguiente codigo, B es la matrizsemejante:
clc
clear all
A=10*rand(5)
P=10*rand(5);
PI=inv(P);
B=PI*A*P
[VA,DA]=eig(A)
[VB,DB]=eig(B)
se obtiene:
A =
9.5163 4.2284 3.0145 6.6653 0.3260
9.2033 5.4787 7.0110 1.7813 5.6120
0.5268 9.4274 6.6634 1.2801 8.8187
7.3786 4.1774 5.3913 9.9908 6.6918
2.6912 9.8305 6.9811 1.7112 1.9043
B =
-41.4827 -35.7251 -37.8470 -42.7950 -31.3732
10
-
Lab 1 Edwin Callejas Pinto
-66.4118 -40.2534 -50.9012 -62.9559 -25.8552
4.4905 0.1533 -3.2697 0.4686 2.7521
90.0798 66.2238 78.2393 87.2882 57.9315
45.4264 34.3489 35.1604 42.6034 31.2711
VA =
-0.4029 -0.2771 -0.0600 -0.6511 -0.6670
-0.4521 0.4736 -0.4237 -0.2540 -0.0694
-0.4174 0.1749 0.8259 0.6406 0.6644
-0.5646 0.2776 0.0177 0.2578 -0.1731
-0.3745 -0.7689 -0.3668 0.1862 0.2809
DA =
27.0268 0 0 0 0
0 -5.3857 0 0 0
0 0 -2.1007 0 0
0 0 0 5.4679 0
0 0 0 0 8.5452
VB =
-0.3869 0.1816 0.3635 -0.2997 -0.3032
-0.4296 0.7019 0.5219 -0.5350 -0.7057
-0.0165 0.0063 0.0806 -0.2215 0.0628
0.7380 -0.6604 -0.7282 0.6935 0.4950
0.3475 -0.1957 -0.2423 0.3066 0.4014
DB =
27.0268 0 0 0 0
0 8.5452 0 0 0
0 0 5.4679 0 0
0 0 0 -2.1007 0
0 0 0 0 -5.3857
se puede observar los autovalores generados son los mismos, aunque vienen des-ordenados uno respecto del otro. Otras propiedades que cumplen las matricessimetricas son:
Poseen el mismo rango.
Tienen el mismo determinante.
Tienen la misma traza.
Tienen los mismos valores propios (aunque los vectores propios, en general,seran distintos).
Tienen el mismo polinomio caracterstico.
Tienen el mismo polinomio mnimo.
7. Transcribir el programa que genera los crculos de Gerschgorin para diferentesmatrices. Se aconseja que el archivo se llame circulogersh.m, luego dada unamatriz A, ejecute circulogersh(A).
11
-
Lab 1 Edwin Callejas Pinto
Solucion.- Transcribiendo el programa:
%---------------Pregunta7
function circulogersh(A)
n=size(A);
if n(1) ~= n(2)
error(Solo matrices cuadradas);
else
n=n(1);
circler=zeros(n,201);
circlec=circler;
end
center=diag(A);
radiic=sum(abs(A-diag(center)));
radiir=sum(abs(A-diag(center)));
one=ones(1,201);
cosisin=exp(1i*(0:pi/100:2*pi));
figure(1);
title(Circulos por Filas);
xlabel(Re); ylabel(Im); figure(2);
title(Circulos por Columnas);
xlabel(Re); ylabel(Im);
for k=1:n
circlec(k,:)=center(k)*one + radiic(k)*cosisin;
circler(k,:)=center(k)*one + radiir(k)*cosisin;
figure(1);
patch(real(circler(k,:)),imag(circler(k,:)),cyan);
hold on;
plot(real(circler(k,:)),imag(circler(k,:)),k-,...
real(circler(k,:)),imag(circler(k,:)),kx);
figure(2);
patch(real(circlec(k,:)),imag(circlec(k,:)),green);
hold on;
plot(real(circlec(k,:)),imag(circlec(k,:)),k-,...
real(circlec(k,:)),imag(circlec(k,:)),kx);
end
for k=1:n
figure(1);
plot(real(circler(k,:)),imag(circler(k,:)),k-,...
real(circler(k,:)),imag(circler(k,:)),kx);
figure(2);
plot(real(circlec(k,:)),imag(circlec(k,:)),k-,...
real(circlec(k,:)),imag(circlec(k,:)),kx);
end
figure(1); axis image; hold off;
12
-
Lab 1 Edwin Callejas Pinto
figure(2); axis image; hold off
return
y luego se ejecuta desde el promp, o tambien se hace otro programa, que tenga lalnea de comando
clc
A=[30 1 2 3;4 15 -4 -2; -1 0 3 5; -3 5 0 -1];
circulogersh(A)
cuyo resultado muestra el siguiente grafico:
10 5 0 5 10 15 20 25 30 3510
5
0
5
10Circulos por Columnas
Re
Im
5 0 5 10 15 20 25 30 3510
5
0
5
10Circulos por Filas
ReIm
Figura 2: Crculos de Gershgorin.
Otro ejemplo para una matriz simetrica sera:
A=[0:3;1:4;2:5;3:6]
circulogersh(A)
cuyo grafico es:
5 0 5 10 15
10
5
0
5
10
Circulos por Columnas
Re
Im
5 0 5 10 15
10
5
0
5
10
Circulos por Filas
Re
Im
Figura 3: Crculos de Gershgorin para matrices simetricas con autovalores repetidos.
13