Anda di halaman 1dari 9

MTODOS NUMRICOS

SEGUNDO PARCIAL
TAREA 2: MTODOS DE GAUSS Y GAUSS-JORDAN CON PIVOTEO PARCIAL
FECHA DE ENTREGA: 27 DE SEPTIEMBRE DE 2013
INSTRUCCIONES: Emplee el mtodo de eliminacin y precisin indicados en cada ejercicio.
Explique por qu se le pide tal precisin. No simplifique el sistema ni reordene las ecuaciones
EJERCICIO 1
Mtodo de Gauss con pivoteo parcial y precisin simple con redondeo a 5 cifras.

Comenzamos por escribir nuestras matrices A y b:


>> A=[2.1756 4.0231 -2.1732 5.1967; -4.0231 6.0000 0.0000 1.1973; -1.0000 -5.2107 1.1111 0.0000; 6.0235 7.0000
0.0000 -4.1561]
A=
2.17560000000000 4.02310000000000 -2.17320000000000 5.19670000000000
-4.02310000000000 6.00000000000000
0 1.19730000000000
-1.00000000000000 -5.21070000000000 1.11110000000000
0
6.02350000000000 7.00000000000000
0 -4.15610000000000
>> b=[17.102; -6.1593; 3.0004; 0.0000]
b=
17.10200000000000
-6.15930000000000
3.00040000000000
0

Posteriormente escribimos la matriz aumentada y comenzamos con el mtodo de Gauss:


>> a=[A b]
a=
2.17560000000000 4.02310000000000 -2.17320000000000 5.19670000000000 17.10200000000000
-4.02310000000000 6.00000000000000
0 1.19730000000000 -6.15930000000000
-1.00000000000000 -5.21070000000000 1.11110000000000
0 3.00040000000000
6.02350000000000 7.00000000000000
0 -4.15610000000000
0
>> aux=a(4,:); a(4,:)=a(1,:); a(1,:)=aux
>> a(2,:)=a(2,:)-a(1,:)/a(1,1)*a(2,1)
>> a(3,:)=a(3,:)-a(1,:)/a(1,1)*a(3,1)
>> a(4,:)=a(4,:)-a(1,:)/a(1,1)*a(4,1)
>> a(3,:)=a(3,:)-a(2,:)/a(2,2)*a(3,2)
>> a(4,:)=a(4,:)-a(2,:)/a(2,2)*a(4,2)
>> a(4,:)=a(4,:)-a(3,:)/a(3,3)*a(4,3)
a=
6.0235 7.0000
0 -4.1561
0
0 10.6753
0 -1.5786 -6.1593
0
0 1.1111 -1.2886 0.6645
0
0
0 4.3984 19.2641

Una vez que tenemos nuestra matriz en la configuracin deseada procedemos a despejar cada uno
de los valores de nuestras variables
>> x(4)=a(4,5)/a(4,4)
>> x(3)=(a(3,5)-a(3,4)*x(4))/a(3,3)
>> x(2)=(a(2,5)-a(2,4)*x(4)-a(2,3)*x(3))/a(2,2)
>> x(1)=(a(1,5)-a(1,4)*x(4)-a(1,3)*x(3)-a(1,2)*x(2))/a(1,1)
x=
2.9399 0.0707 5.6777 4.3798
>> x'
2.9399
0.0707
5.6777
4.3798

Los valores que corresponden a las incgnitas en el sistema de ecuaciones son respectivamente:
2.9399
0.0707

EJERCICIO 2
Mtodo de Gauss con pivoteo parcial y precisin doble a 16 cifras:

En primera instancia comenzamos por escribir nuestras matrices A y b:


>> A=[25 300 1050 1400 630; -300 4800 -18900 26880 -12600; 1050 -18900 79380 -117600 56700; -1400 26880 -117600
179200 -88200; 630 -12600 56700 -88200 44100]
A=
25
300
1050
1400
630
-300
4800 -18900
26880 -12600
1050 -18900
79380 -117600
56700
-1400
26880 -117600 179200 -88200
630 -12600
56700 -88200
44100
>> b=[1; 0; 1; 0; 1]
b=
1
0
1
0
1

Posteriormente escribimos la matriz aumentada y comenzamos con el mtodo de Gauss:


>> a=[A b]
a=
25
300
1050
1400
630
1
-300
4800 -18900
26880 -12600
1050 -18900
79380 -117600
56700
-1400
26880 -117600 179200 -88200
630 -12600
56700 -88200
44100

0
1
0
1

>> aux=a(4,:); a(4,:)=a(1,:); a(1,:)=aux


>> a(2,:)=a(2,:)-a(1,:)/a(1,1)*a(2,1);
>> a(3,:)=a(3,:)-a(1,:)/a(1,1)*a(3,1);
>> a(4,:)=a(4,:)-a(1,:)/a(1,1)*a(4,1);
>> a(5,:)=a(5,:)-a(1,:)/a(1,1)*a(5,1);
>> a(5,:)=a(5,:)-a(1,:)/a(1,1)*a(5,1);
>> a
>> aux=a(3,:); a(3,:)=a(2,:); a(2,:)=aux
>> a(3,:)=a(3,:)-a(2,:)/a(2,2)*a(3,2);

>> a(4,:)=a(4,:)-a(2,:)/a(2,2)*a(4,2);
>> a(5,:)=a(5,:)-a(2,:)/a(2,2)*a(5,2);
>> a
>> a(4,:)=a(4,:)-a(3,:)/a(3,3)*a(4,3);
>> a(5,:)=a(5,:)-a(3,:)/a(3,3)*a(5,3);
>> a
>> aux=a(5,:); a(5,:)=a(4,:); a(4,:)=aux
>> a(5,:)=a(5,:)-a(4,:)/a(4,4)*a(5,4)

a=
1.0e+005 *
Columns 1 through 5
-0.01400000000000 0.26880000000000 -1.17600000000000 1.79200000000000 -0.88200000000000
0
0.01260000000000 -0.08820000000000 0.16800000000000 -0.09450000000000
0
0
-0.00420000000000 0.01280000000000 -0.00900000000000
0
0
0
-0.00072000000000 0.00090000000000
0
0
0
0
0.05005000000000
Column 6
0
0.00001000000000
0.00000761904762
0.00001857142857
0.00205444444444

Una vez que tenemos nuestra matriz en la configuracin deseada procedemos a despejar cada uno de los valores de
nuestras variables
>> x(5)=a(5,6)/a(5,5);
>> x(4)=(a(4,6)-a(4,5)*x(5))/a(4,4);
>> x(3)=((a(3,6)-a(3,5)*x(5))-a(3,4)*x(4))/a(3,3);
>> x(2)=((a(2,6)-a(2,5)*x(5))-a(2,4)*x(4)-a(2,3)*x(3))/a(2,2);
>> x(1)=((a(1,6)-a(1,5)*x(5))-a(1,4)*x(4)-a(1,3)*x(3)-a(1,2)*x(2))/a(1,1);
>> x'
ans =
1.533333333333308
0.916666666666665
0.676190476190476
0.541666666666667
0.453968253968254

Los valores que corresponden a las incgnitas en el sistema de ecuaciones son respectivamente:
0.916666666666665

EJERCICIO 3
Mtodo de Gauss-Jordan con pivoteo parcial y precisin simple con redondeo a 16 cifras.

En primera instancia comenzamos por escribir nuestras matrices A y b:


>> A=[1.19 2.11 -100 0.33 1/2 1; 14.2 -0.122 12.2 -1.24 1/4 -1 ; 0.00 100 -99.9 +0.06 1/5 1; 15.3 0.110 -13.1 -39.15 -1/8 -1; 0.23 0 11.1 -70.2 -1/10 1; -10.1 28.4 0.08 50 0 -1]
A=
1.1900 2.1100 -100.0000 0.3300 0.5000 1.0000
14.2000 -0.1220 12.2000 -1.2400 0.2500 -1.0000
0 100.0000 -99.9000 0.0600 0.2000 1.0000
15.3000 0.1100 -13.1000 -39.1500 -0.1250 -1.0000
0.2300
0 11.1000 -70.2000 -0.1000 1.0000
-10.1000 -28.4000 0.0800 50.0000
0 -1.0000
>> b=[-1.12; -3.44; -2.15; -4.16; -8.75; 9.01]
b=
-1.1200
-3.4400
-2.1500
-4.1600
-8.7500
9.0100

Posteriormente escribimos la matriz aumentada y comenzamos con el mtodo de Gauss:


>> a=[A b]
a=
1.1900 2.1100 -100.0000 0.3300 0.5000 1.0000 -1.1200
14.2000 -0.1220 12.2000 -1.2400 0.2500 -1.0000 -3.4400
0 100.0000 -99.9000 0.0600 0.2000 1.0000 -2.1500
15.3000 0.1100 -13.1000 -39.1500 -0.1250 -1.0000 -4.1600
0.2300
0 11.1000 -70.2000 -0.1000 1.0000 -8.7500
-10.1000 -28.4000 0.0800 50.0000
0 -1.0000 9.0100

>> aux=a(4,:); a(4,:)=a(1,:); a(1,:)=aux


>> a(1,:)=a(1,:)/a(1,1)
>> for i=1:6
if i~=1
a(i,:)=a(i,:)-a(1,:)*a(i,1);
end
end,a
a=
1.0000 0.0072 -0.8562 -2.5588 -0.0082 -0.0654 -0.2719
0 -0.2241 24.3582 35.0953 0.3660 -0.0719 0.4209
0 100.0000 -99.9000 0.0600 0.2000 1.0000 -2.1500
0 2.1014 -98.9811 3.3750 0.5097 1.0778 -0.7964
0 -0.0017 11.2969 -69.6115 -0.0981 1.0150 -8.6875
0 -28.3274 -8.5677 24.1559 -0.0825 -1.6601 6.2639
>> aux=a(3,:); a(3,:)=a(2,:); a(2,:)=aux
>> a(2,:)=a(2,:)/a(2,2)
>> for i=1:6
if i~=2
a(i,:)=a(i,:)-a(2,:)*a(i,2);
end
end,a
a=
1.0000
0 -0.8490 -2.5588 -0.0082 -0.0654 -0.2717
0 1.0000 -0.9990 0.0006 0.0020 0.0100 -0.0215
0
0 24.1343 35.0954 0.3665 -0.0697 0.4161
0
0 -96.8818 3.3737 0.5055 1.0568 -0.7513
0
0 11.2953 -69.6115 -0.0981 1.0150 -8.6875
0
0 -36.8668 24.1729 -0.0259 -1.3769 5.6548
>> a(3,:)=a(3,:)/a(3,3)
>> for i=1:6
if i~=3
a(i,:)=a(i,:)-a(3,:)*a(i,3);
end
end,a
a=
1.0000
0
0 -1.3242 0.0047 -0.0679 -0.2571
0 1.0000
0 1.4533 0.0172 0.0071 -0.0043
0
0 1.0000 1.4542 0.0152 -0.0029 0.0172
0
0
0 144.2565 1.9766 0.7772 0.9191
0
0
0 -86.0367 -0.2696 1.0476 -8.8822
0
0
0 77.7835 0.5339 -1.4833 6.2904
>> a(4,:)=a(4,:)/a(4,4)
>> for i=1:6
if i~=4
a(i,:)=a(i,:)-a(4,:)*a(i,4);
end
end,a
a=
1.0000
0
0
0 0.0229 -0.0607 -0.2487
0 1.0000
0
0 -0.0027 -0.0007 -0.0135
0
0 1.0000
0 -0.0047 -0.0107 0.0080
0
0
0 1.0000 0.0137 0.0054 0.0064
0
0
0
0 0.9092 1.5112 -8.3341
0
0
0
0 -0.5319 -1.9023 5.7949

>> a(5,:)=a(5,:)/a(5,5)
>> for i=1:6
if i~=5
a(i,:)=a(i,:)-a(5,:)*a(i,5);
end
end,a
a=
1.0000
0
0
0
0 -0.0987 -0.0392
0 1.0000
0
0
0 0.0038 -0.0387
0
0 1.0000
0
0 -0.0028 -0.0355
0
0
0 1.0000
0 -0.0174 0.1320
0
0
0
0 1.0000 1.6620 -9.1660
0
0
0
0
0 -1.0184 0.9199
>> a(5,:)=a(5,:)/a(5,5)
>> a(6,:)=a(6,:)/a(6,6)
>> for i=1:6
if i~=6
a(i,:)=a(i,:)-a(6,:)*a(i,6);
end
end,a
a=
1.0000
0
0
0
0
0 -0.1284
0 1.0000
0
0
0
0 -0.0352
0
0 1.0000
0
0
0 -0.0380
0
0
0 1.0000
0
0 0.1163
0
0
0
0 1.0000
0 -7.6646
0
0
0
0
0 1.0000 -0.9033
>> x=a(:,7)
x=
-0.1284
-0.0352
-0.0380
0.1163
-7.6646
-0.9033
>> format long
>> a
a=
Columns 1 through 5
1.00000000000000
0
0
0
0
0 1.00000000000000
0
0
0
0
0 1.00000000000000
0
0
0
0
0 1.00000000000000
0
0
0
0
0 1.00000000000000
0
0
0
0
0
Columns 6 through 7
0 -0.12839246738088
0 -0.03521283846403
0 -0.03804370737814
0 0.11625809618130
0 -7.66463925922360
1.00000000000000 -0.90333015459987

Los valores que corresponden a las incgnitas en el sistema de ecuaciones son respectivamente:

-0.03804370737814
-7.66463925922360
-0.90333015459987
EJERCICIO 4
Las fuerzas que actan sobre un puente satisfacen las siguientes ecuaciones de equilibrio

Determine el valor de cada fuerza. Utilice el mtodo de Gauss-Jordan con pivoteo parcial a precisin doble.
De acuerdo con los coeficientes y el orden del sistema de ecuaciones establecemos las configuracin de la siguiente
manera:

>> A
A=
-1
0
0
0
0
0
0
0
>> b
b=
0
0
0
0
0
0
0
0

985/1393
-985/1393
0
0
985/1393
-985/1393
0
0

1
0
-1
0
0
0
0
0

0
0
0
0
1
0
0
0

0
0
0 1170/1351
0
0
0 -1170/1351
0
0
-1
1/2
1
0
0
1/2

0
0
1
-1
0
0
0
0

0
0
0
0
0
0
0
-1

0
0
0
0
0
0
1000
0

Ya establecidas nuestras matrices A y b, proponemos la matriz aumentada a:

a=
-1
0
0
0
0
0
0
0

985/1393
-985/1393
0
0
985/1393
-985/1393
0
0

1
0
-1
0
0
0
0
0

0
0
0
0
1
0
0
0

0
0
0
0
0
-1
1
0

0
1170/1351
0
-1170/1351
0
1/2
0
1/2

0
0
1
-1
0
0
0
0

0
0
0
0
0
0
0
-1

0
0
0
0
0
0
1000
0

0
0
0
0
0
0
0
0

Sobre esta matriz comenzaremos a trabajar el mtodo de Gauss-Jordan.


>> a(1,:)=a(1,:)/a(1,1);
>> a(2,:)=a(2,:)/a(2,2);
>> for i=1:8
if i~=2
a(i,:)=a(i,:)-a(2,:)*a(i,2);
end
end;
>> a(3,:)=a(3,:)/a(3,3);
>> a(1,:)=a(1,:)-a(3,:)*a(1,3);
>> aux=a(5,:); a(5,:)=a(4,:); a(4,:)=aux;
>> aux=a(7,:); a(7,:)=a(5,:); a(5,:)=aux;
>> a(6,:)=a(6,:)-a(5,:)*a(6,5);
>> a(6,:)=a(6,:)/a(6,6);

>> for i=1:8


if i~=6
a(i,:)=a(i,:)-a(6,:)*a(i,6);
end
end;
>> a(7,:)=a(7,:)/a(7,7);
>> for i=1:8
if i~=7
a(i,:)=a(i,:)-a(7,:)*a(i,7);
end
end;
>> a(8,:)=a(8,:)/a(8,8)

Entonces as queda la matriz aumentada del ejercicio, con la penltima columna indicando los valores de las variables.
a=
1
0
0
0
0
0
0
0

0
1
0
0
0
0
0
0

0
0
1
0
0
0
0
0

0
0
0
1
0
0
0
0

0
0
0
0
1
0
0
0

0
0
0
0
0
1
0
0

0
0
0
0
0
0
1
0

0
0
0
0
0
0
0
1

0
-50191/15
92275/39
92275/39
1000
-54641/20
92275/39
-53275/39

0
0
0
0
0
0
0
0

EJERCICIO 5
Despus de obtener nuestras ecuaciones para las variables An, procedemos a resolverlas con Matlab
A=
1
1
-6
-1
10
-5
-6
-1
9
-6
>> b=[0; 0; 1; -5; 4]
b=
0
0
1
-5
4

0
1
2
1
2

1
-4
-3
18
0

0
1
-4
-3
18

Ahora se propone la matriz aumentada a:


>> a=[A b]
a=
1
-6
10
-6
9

1
-1
-5
-1
-6

0
1
2
1
2

1
-4
-3
18
0

0
1
-4
-3
18

0
0
1
-5
4

Y se trata por el mtodo de Gauss-Jordan para encontrar las variables


>> aux=a(3,:); a(3,:)=a(1,:); a(1,:)=aux
>> a(1,:)=a(1,:)=a(1,1);
>> for i=1:5
if i~=1
a(i,: )=a(i,: )-a(1,:): )*a(i,1);
end
end;
>> a(2,: )=a(2,: )/a(2,2)
>> for i=1:5
if i~=2
a(i,: )=a(i,: )-a(2,: )*a(i,2);
end
end;
>> a(3,: )=a(3,: )/a(3,3);
>> for i=1:5
if i~=3
a(i,: )=a(i,: )-a(3,: )*a(i,3);

end
end;
>> a(4,: )=a(4,: )/a(4,4)
>> for i=1:5
if i~=4
a(i,: )=a(i,: )-a(4,: ) *a(i,4);
end
end;
>> a(5,:)=a(5,: )/a(5,5);
>> for i=1:5
if i~=5
a(i,: )=a(i,: )-a(5,: )*a(i,5);
end
end;

Una vez que se tiene la configuracin de matriz identidad podemos encontrar los valores de nuestras variables An en la
ltima columna
a=
1
0
0
0
0
>> a(:,6)
ans =

0
1
0
0
0

0
0
1
0
0

0
0
0
1
0

214/2575
405/2617
244/515
-49/206
37/206

As quedan nuestras variables:

0
0
0
0
1

18/125
13/250
-1/25
-49/250
43/250

Y estos valores los sustituimos en las fracciones que quedaron pendientes para resolver la integral

Anda mungkin juga menyukai