Sunteți pe pagina 1din 17

TRABAJO PRCTICO #2

Sistema de Ecuaciones Lineales


Interpolacin
INTEGRANTES:
Tito Fabiola
Vargas Rodrigo
Villarroel Paola
MATERIA: Mtodos Numricos
DOCENTE: Dr. Hugo Rojas
FECHA: 14/12/11

I. SISTEMAS DE ECUACIONES LINEALES


1. Enunciado del Problema
Considere la estructura esttica de la figura 1. Las fuerzas Firepresentan las
tensiones o compresiones de los elementos de la estructura, H2, V2 y V3 son las
reacciones externas que caracterizan la interaccin de la estructura con la
superficie de soporte.

Utilizando las ecuaciones de la esttica determine el sistema de ecuaciones


planteado
Determine todas las fuerzas para 3 valores de la fuerza V1 es 1000, 3000 y
5000.

2. Solucin del Problema


Incgnitas:H2, V2, V3, F1, F2, F3para V1= 1000, 3000 y 5000.

F x =0

F y =0
(4)

V3

V 2 +V 3V 1=0

(5)

F3

F2

V 1

3
LV 3 L=0
4

V2
F1

30
60

F x =0

M 2=0

F2

60

30
H2

F x =0

F2 + F 3 cos ( 60 ) =0

H 2 F 2F 1 cos ( 30 ) =0

1
F2 + F =0
2 3

3
(6) H 2 F 2 2 F1=0

(2)

F y =0

F y=0

V 3 + F3 sin ( 60 )=0

V 2 + F1 sin ( 30 ) =0

3
(3) V 3 + 2 F 3=0

(1)

1
V 2 + F 1=0
2

2.1. Mtodo Directo


(i)
Ecuaciones del mtodo directo a utilizar para escribir el cdigo en Matlab
1
F + V =0
(1)
2 1 2
1
F2 + F =
0
2 3

(2)

+ 3
F 3+V 3=0
2

3 F + F +0.5
0
1
2 H 2=0
2

V 2 +V 3=

0V
1

3
V03= V01
4

(3)
0
(4)

0.5
(5)

0.866
0
0

0.866
(6)
0
0

00

F1
F2

0
0

F3
V1
H2
V2
V3

V1

(ii)

A
Tabla de resultados en el formato

Parmetros

V 1=1000

Condition
Number

10.3109

Soluciones

F1= -500.0000
F2 = 433.0254
F3 = -866.0508
H 2=

-0.0254

V 2=

250.0000

V 3=

750.0000

Soluciones con
Matlab

F1=
-500.0000
F2 =
433.0254
F3 =

Error
Relativo (%)

0
0
0
0
0
0

-866.0508
H 2=
-0.0254
V 2=
250.0000
V 3=

V 1=3000

10.3109

F1= -1500.0
F2 = 1299.1

V 1=5000

10.3109

F3 =

-2598.2

H 2=

-0.1

V 2=

750.0

V 3=

2250.0

F1=

-2500.0

F2 = 2165.1
F3 = -4330.3

750.0000
F1=
-1500.0
F2 = 1299.1
F3 =

0
0
0
0
0
0

-2598.2
H 2= -0.1
V 2=

750.0

V 3=

2250.0

F1=
-2500.0
F2 = 2165.1

0
0
0
0
0

H 2=

-0.1

V 2=

1250.0

V 3=

3750.0

F3 =
-4330.3
H 2= -0.1
V 2=

1250.0

V 3=

3750.0

(iii)

Grfico de las soluciones en funcin de los parmetros

(iv)

Copia del programa escrito en Matlab

function [L , U,x] = descompLU(A,b)


N=size (A);
n=N(1,1);
U = zeros (n,n);
L=zeros (n,n);

for k =1 : n
L(k,k) =1;
U(1,k)=A(1,k);
end
for k=1: n-1
j = k;
for i =j + 1:n
suma = 0;
if j >1,
for m =1: j-1
suma = suma + L(i,m)*U(m,j);
end
end
L(i,j)= (A(i,j) - suma)/ U(j,j);
end
i= k+1;
for j = i:n
suma =0;
for m=1: i-1
suma = suma + L (i,m)*U(m,j);
end
U(i,j)=A(i,j) - suma;
end
end
y(1,1) = b(1,1);
for i = 2 : n
suma =0;
for j = 1: i - 1
suma = suma + L(i,j)*y(j,1);

end

end
y(i,1) = b(i ,1)-suma;

x(n,1)=y(n,1)/U(n,n);
for i = n-1:-1:1
suma =0;
for j = i+1:n
suma = suma + U(i,j) * x(j,1);
end
x(i,1) = (y(i,1) -suma )/ U(i,i);
end

2.2. Mtodo Iterativo


(i)

Ecuaciones del mtodo directo a utilizar para escribir el cdigo en


Matlab

1
F + V =0
2 1 2

(1)

1
F2 + F =
0
2 3

(2)

+ 3
F 3+V 3=0
2

(3)

3 F + F + H =0
1
2
2

(4)

V 2 +V 3=

V1
3
V 3= V 1
4

(5)
(6)

(ii)
Tabla de resultados en el formato
Parmetros Condition
Soluciones
Soluciones con
Number
Matlab
V 1=1000
F1= -500.0000
F1=
10.3109
F2 =

-500.0000
F2 =

433.0254
F3 =
-866.0508
H 2= -0.0254

V 1=3000

10.3109

V 2=

250.0000

V 3=

750.0000

F1= -1500.0

433.0254
F3 =

Error Relativo
(%)
0
0
0
0
0
0

-866.0508
H 2= -0.0254
V 2=
250.0000
V 3= 750.000
F1= -1500.0

F3 =

-2598.2

H 2=

-0.1

0
0
F2 = 1299.1
0
F3 = -2598.2 0
0
H 2= -0.1
0

V 2=

750.0

V 2=

F2 = 1299.1

750.0

V 3=
V 1=5000

2250.0

F1= -2500.0

10.3109

V 3=

2250.0

F1= -2500.0

F3 =

-4330.3

H 2=

-0.1

0
0
F2 =
2165.1
0
F3 = -4330.3 0
0
H 2= -0.1
0

V 2=

1250.0

V 2=

1250.0

V 3=

3750.0

V 3=

3750.0

F2 = 2165.1

(iii)

Grfico de las soluciones en funcin de los parmetros (para 3 casos)

(iv)

Matrices C y D

1
2

2
3

3
2

-1

-1

C=
D=

0
0
(v)

Verificacin de la

Criterio de suficiencia

condicin de suficiencia de convergencia

para las columnas:

1
3
4

1 3
<
2
2
1= 1

NO

|2|

3 > 1
2

1>0

NO

SI

SI

1= 1

NO

1<|1|+ 1| NO

Criterio de suficiencia para las filas:

1
<|1|
2

NO

|12| SI

1>

3 <|1|
2

NO

| | | |

1<

3
+1
2

1=|1| NO

1>0 SI

NO

(vi)

Copia del programa escrito en Matlab

function [x, niter, dif] = gseidel(A,b, epsi)


n=length (b);
c=zeros (n,n);
for i = 1:n
for j = 1:n
if i ~= j
c(i,j) = -A(i,j)/A(i,i);
end
end
D(i,1)= b (i,1) / A (i,i);
end
x0=zeros(n,1);
dif =10;
niter =0;
while dif>epsi & niter<100,
niter = niter +1;
for i =1 :n
suma =0;
for j = 1:n
if j>=i
suma = suma + c(i,j)*x0(j,1);
else
suma=suma+c(i,j)*x1(j,1);
end
end
x1(i,1)=suma+D(i,1);
end
dif = norm (x1-x0,2);
x0=x1;
end
x=x0;

3. Conclusiones

Pudimos observar en la grfica de la fuerzas para los tres valores de V 1 que


el valor absoluto de las fuerzas es proporcional al valor de V 1, siendo el
valor absoluto de F3 el mayor y F1 el menor. Cuando el valor V1 es ms
grande tambin es mayor el valor absoluto de estas fuerzas.
Sobre los valores obtenidos con Matlab y los mtodos se puede verificar en
las tablas que los mtodos tienen una muy buena precisin (error=0).

II. INTERPOLACIN
1. Enunciado del problema
Ejercicio 18.- S. H. P. Chen y S. C. Saxena obtuvieron los siguientes datos sobre
la emitancia e del tungsteno en funcin de la temperatura T [Ind. Eng. Chem.
Fund. 12, 220, (1973)]:
i
T(K)
e

0
300
0.024

1
400
0.035

2
500
0.046

3
600
0.058

4
700
0.067

5
800
0.083

6
900
0.097

7
1000
0.111

8
1100
0.125

TABLA DE LOS DATOS DEL PROBLEMA:


i
0
1
2
3
4
x
300
400
500
600
700
f(x)
0.024 0.035 0.046 0.058 0.067

5
800
0.083

6
900
0.097

7
1000
0.111

8
1100
0.125

2. Solucin del problema

GRFICO DE LA FUNCIN CON LOS DATOS DEL PROBLEMA:

2.1 Clculo con el mtodo de Splines


Expresin analtica de las relaciones utilizadas para escribir el cdigo en Matlab:
1
1
3
3
S 2 ( x )=
( x x ) M 2 + ( xx 2 ) M 3 ]+ h [ ( x 3x ) y 2+ ( xx 2) y 3 ]
6 h2 [ 3
2
h2
[ ( x 3x ) M 2 +( xx2 )M 3 ]
6
Condiciones sobre la segunda derivada
h0=100
h1=100 h 2=100 h1=100 h3=100 h 4=100

66.666 16.666
7
7

16.666 66.666 16.666


7
7
7
0

01
M

02
M

16.666 66.666 16.666


M3
7
7
7

M4
16.666 66.666
16.666
7
7
7

M5
16.666
66.666 16.666
7
7
7
M
06

16.666 66.666
7
7

; M0= M7=0

0
0.00001
-0.00003
0.00007
-0.00002
0

Estimacin
Valor
0con el
-7
-1.00996x10
programa
4.03986x10
e(T)-7
-9.14946 x10-7
0.000001
-7.08233 x10-7
1.77059 x10-7
0

Mi
M0
M1
M2
M3
M4
M5
M6
M7
Grfico
Splines:

T
520
540
560
580

0.0485
0.0510
0.0535
0.0559

con los valores estimados con las


Programa escrito con Matlab:

function [tx,ty]=
splinecub(x,y,npti)
%Caso para la segunda derivada -> Mo=Mn=0
n1=length(x);
for i=1:n1-1

h(i)=x(i+1)-x(i);
end
n=n1-2;
[der2]= thomas(n,h,y);
np=0;
for k=1:n1-1
is =k;
paso=(x(k+1)-x(k))/(npti+1);
for i=1:npti+1
np=np+1;
xp=x(k)+paso*(i-1);
tx(np)=xp;
ty(np)=polspli(is,der2,h,x,y,xp);
end
end
tx(np+1)=x(n1);
ty(np+1)=y(n1);
function [d2]= thomas(n,h,y)
%calculo de los coeficientes de H*M=Y
for i=1:n
b(i)=(h(i)+h(i+1))/3;
end
a(1)=0;
c(n)=0;
for i=2:n
a(i)=h(i)/6;
c(i-1)=a(i);
end
dd0=(y(2)-y(1))/h(1);
for i=1:n
dd1=(y(i+2)-y(i+1))/h(i+1);
d(i)=dd1-dd0;
dd0=dd1;
end
% resolviendo el sist de ecuaciones
for i=2:n
coef=a(i)/b(i-1);
b(i)=b(i)-coef*c(i-1);
d(1)=d(i)-coef*d(i-1);
end
x(n)=d(n)/b(n);
for i=n-1:-1:1
x(i)=(d(i)-c(i)*x(i+1))/b(i);
end
d2(1)=0;
d2(n+2)=0;
for i=1:n
d2(i+1)=x(i);
end
function [poli]=polspli(i,der2,h,x,y,xi)
% en la funcion del polinomio para las splines

t1=((x(i+1)-xi)^3*der2(i)+(xi-x(i))^3*der2(i+1))/(6*h(i));
t2=((x(i+1)-xi)*y(i)+(xi-x(i))*y(i+1))/h(i);
t3=h(i)*((x(i+1)-xi)*der2(i)+(xi-x(i))*der2(i+1))/6;
poli=t1+t2-t3;

2.2 Clculo con el Mtodo de Interpolacin con Polinomios


POLINOMIO DE INTERPOLACIN DE LAGRANGE:
n

Pn ( x )= f ( x k ) l k (x)
k=0

Se dispone de los siguientes datos:


i
0
1
2
3
T(K)
300
400
500
600
e
0.024 0.035 0.046 0.058

4
700
0.067

5
800
0.083

6
900
0.097

7
1000
0.111

TABLA DEL POLINOMIO DE INTERPOLACIN:


Temperatura (K)
Grado
Emitancia con el Polinomio de
Interpolacin
520
2
e(T=520)= 0.0490
540
2
e(T=540)= 0.0518
560
2
e(T=560)= 0.0542
580
2
e(T=580)= 0.0563
Grfico de Splines vs Lagrange

8
1100
0.125

Copia del cdigo utilizado:


function[x,pnx] = lagr(txi,tfi,x)
n=length(txi);
L=zeros(n);
for k=1:n
L(k)=1;
for i=1:n
if i ~= k,
L(k)=L(k)*(x-txi(i))/(txi(k)-txi(i));
end
end
end
pnx=0;
for k =1:n
pnx=pnx+tfi(k)*L(k);
end

2.3 Clculo con polyfit y polyval de matlab


Diferencias:
Splines
Polyfit y
(Matlab) vs polyval
Splines
(programa)

-0.0001

0.0000022

-0.0001

0.00051

0.0004325

3. Conclusiones
-

La curva con el mtodo de las Splines es mas apegada que con la de


Lagrange. En ambos casos, los valores obtenidos se acercan ms a los
reales en los extremos del intrvalo y se alejan ms en la parte central de la
funcin.
En las grficas y las tablas obtenidas, podemos ver que el mtodo de las
Splines es ms preciso que el de Lagrange, siendo el error obtenido por el
mtodo de Lagrange ms notorio (en los valores intermedios) que con las
Splines Cbicas.

S-ar putea să vă placă și