Beruflich Dokumente
Kultur Dokumente
d 2 u 1 du u
+
=0 , u ( 5 )=0.0038731 , u(8)=0.0030769 ; 5 r8
d r 2 r dr r 2
C2
r
0.016000308
r
C 2 du
du
0.016000308
4
=C1 2 =( 1.3460769 x 10 )
2
dr
dr
r
r
d 2 u 2C 2 d 2 u 2.6921538 x 104
= 3 2=
2
3
dr
r
dr
r
para los nodos 1 y 14 son conocidos. Cada una es referente a un orden del error
de 4.
Las derivadas en esta ecuacin diferencial ordinaria se sustituyen por
aproximaciones utilizando diferencias finitas divididas de la siguiente forma:
HACIA ADELANTE
d 2 u 3.75u i12.833 ui+1 +17.833 ui+213 ui +3 +5.0833u i+4 0.83333 ui+5
=
d r2
h2
CENTRAL
d 2 u 0.083333ui 2 1.3333ui 1 2.5u i1.3333 ui+10.083333 ui +2
=
2
2
dr
h
HACIA ATRS
d 2 u 3.75u i12.833 ui1+ 17.833ui213u i3 +5.0833 ui4 0.83333 ui5
=
d r2
h2
] [
] [
] [
] [
3.75 2.0833 1
12.8333
4
17.8333
3
13 1.3333
5.0833 0.25
0.8333
2 ui +
+
ui+1 +
ui +2+
+
u i+3 +
ui +4
u i+5=0
2
2
2
2
2
r i ( r)
r i ( r )
r i( r )
( r ) r i ( r) r i
( r )
( r )
( r ) r i ( r )
( r)
( r )2
CENTRAL
] [
] [
] [
] [
0.083333 0.083333
1.3333 0.66667
1.3333 0.66667
0.083333 0.083333
2.5 1
+
ui2+
ui1 +
+
ui+1 +
ui +2+
ui=0
2
2
2
2
r i ( r)
r i ( r )
r i ( r)
r i( r )
( r)
( r)
( r )
( r)
( r )2 r 2i
HACIA ATRS
] [
] [
] [
] [
3.75 2.0833 1
12.8333
4
17.8333
3
13 1.3333
5.0833 0.25
0.8333
+
2 ui
+
ui1 +
+
ui2+
ui3 +
+
u i4
u i5=0
2
2
2
2
2
ri ( r )
r i ( r)
r i ( r )
( r ) r i ( r ) r i
( r)
( r)
( r ) r i ( r )
( r )
( r )2
Una vez resolviendo para cada uno de los nodos, obtenemos la siguiente matriz de coeficientes:
0
0
0
68,65421
332,3850
0
237,6677
243,0065
95
76
6
4
24,50808
25,56598
46,97797
1,630933
1,498696
56
85
0
8
24,52952
25,54454
0
1,501376
46,97530
95
45
4
6
24,54930
0
0
46,97294
1,503848
25
8
24,56759
0
0
0
1,506134
26
3
0
0
0
0
1,508255
2
0
0
95,24659
15,64814
59
8
1,628253
3
1,623495
4
25,52477
1,625781
15
6
25,50648
46,97085
15
1
24,58456
46,96897
05
6
24,60034
1,510228
45
3
0
1,512068
3
0
25,48951
1,621374
0
0
0
36
4
25,47372
46,96729
1,619401
0
0
95
5
4
24,61506
25,45900
46,96578
1,617561
0
45
96
0
4
24,62882
25,44524
1,513788
46,96441
1,615841
45
96
2
1
4
24,64171
25,43235
0
1,515399
46,96317
1,614230
0
54
87
6
0
0
24,65381
25,42025
0
0
1,516912
46,96204
1,612717
71
7
3
1
3
95,59314
336,5436
71,56209
15,64814
244,8547
243,2125
0
26
38
09
8
9
1
0
0
0
0
0
0
1
u2
u3
u4
u5
u6
u7
u8
u9
u10
u11
u12
u13
u14
0.00383 0.00376 0.00366 0.00357 0.00349 0.00342 0.00336 0.00330 0.00325 0.00321 0.00317 0.00317 0.00310 0.00307
71
3
48
71
86
84
55
91
87
35
32
32
52
69
RESULTADOS
ri
5
uanaltica
uaproxim
0,003873 0,003873
1
1
uerror
0
duanaltica
0,000505
4
0,000450
18
0,000401
8
0,000359
19
0,000321
46
0,000287
9
0,000257
91
duaproxim
0,0234988 4749,506
2
69
0,0230723 5225,160
8
66
0,0004017
8
0,0003591
8
0,0003214
5
0,0002878
9
0,005526
25
0,004348
52
0,004289
31
0,004358
32
0,004476
0,0002579
05
GRFICO u vs r
duerror
0,004636
12
0,004839
26
0,005086
55
0,005353
07
0,005186
08
258,4694
99
260,1936
01
-3
x 10
3.9
Solucin Analtica
3.8
Aproximacin
3.7
3.6
3.5
3.4
3.3
3.2
3.1
3
5.5
6.5
ALGORITMO
Script deriv_ap
function a=deriv_ap(xi,x0,p)
h=abs(xi(1)-xi(2));
c=(xi-x0)/h;
L=length(xi);
A=zeros(L);
B=zeros(L,1);
B(p+1,1)=factorial(p);
for i=1:L
A(i,:)=c.^(i-1);
end
a=A\B;
end
Scrpit adelanteV2
%adelante%%%
clear all
r=5;
ri=(5:3/13:8);
h=(3/13);
u=zeros(14,14);du_error=zeros(14,1);u_error=zeros(14,1);
7.5
u(1,1)=1;
u(14,14)=1;
A=[5 1/5;8 1/8];b=[0.0038731;0.0030769];
c=A\b;
a=deriv_ap([0 1 2 3 4 5],0,2);
a1=deriv_ap([0 1 2 3 4],0,1);
for i=2
r=r+h;
u(i,i)=((a(1)/(h^2))+(a1(1)/(h*r))-(1/(r^2)));
u(i,i+1)=((a(2)/(h^2))+(a1(2)/(r*h)));
u(i,i+2)=((a(3)/(h^2))+(a1(3)/(r*h)));
u(i,i+3)=((a(4)/(h^2))+(a1(4)/(r*h)));
u(i,i+4)=((a(5)/(h^2))+(a1(5)/(r*h)));
u(i,i+5)=(a(6)/(h^2));
end
a2=deriv_ap([-2 -1 0 1 2],0,2);
a3=deriv_ap([-2 -1 1 2],0,1);
for i=3:12
r=r+h;
u(i,i-2)=((a2(1)/(h^2))+(a3(1)/(r*h)));
u(i,i-1)=((a2(2)/(h^2))+(a3(2)/(r*h)));
u(i,i)=((a2(3)/(h^2))-(1/(r^2)));
u(i,i+1)=((a2(4)/(h^2))+(a3(3)/(r*h)));
u(i,i+2)=((a2(5)/(h^2))+(a3(4)/(r*h)));
end
a4=deriv_ap([-5 -4 -3 -2 -1 0],0,2);
a5=deriv_ap([-4 -3 -2 -1 0],0,1);
for i=13
r=r+h;
u(i,i-5)=(a4(1)/(h^2));
u(i,i-4)=((a4(2)/(h^2))+(a5(1)/(r*h)));
u(i,i-3)=((a4(3)/(h^2))+(a5(2)/(r*h)));
u(i,i-2)=((a4(4)/(h^2))+(a5(3)/(r*h)));
u(i,i-1)=((a4(5)/(h^2))+(a5(4)/(r*h)));
u(i,i)=((a4(6)/(h^2))+(a5(5)/(h*r))-(1/(r^2)));
end
b=zeros(14,1);
b(1,1)=0.0038731;
b(14,1)=0.0030769;
x=u\b;
u_a=(c(1).*ri)+(c(2)./ri);
for i=1:14
u_error(i)=100*(norm(x(i)-u_a(i))/norm(u_a(i)));
end
plot(ri,u_a);
hold on
plot(ri,x,'*r');
hold off
%%%%%%%%%derivadas%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%adelante
du=zeros(14,1);
du_a=c(1)-(c(2)./(ri.^2));
for i=1:2
du(i)=(a1(1)*x(i)+a1(2)*x(i+1)+a1(3)*x(i+2)+a1(4)*x(i+3)+a1(4)*x(i+4))/h;
end
%centrales
for i=3:12
du(i)=(a3(1)*x(i-2)+a3(2)*x(i-1)+a3(3)*x(i+1)+a3(4)*x(i+2))/h;
end
%atras
for i=13:14
du(i)=(a5(1)*x(i)+a5(2)*x(i-1)+a5(3)*x(i-2)+a5(4)*x(i-3)+a5(5)*x(i-4))/h;
end
for i=1:14
du_error(i)=100*(norm(du(i)-du_a(i))/norm(du_a(i)));
end
rta=[ri' u_a' x u_error du_a' du du_error];
display (rta)
%plot(du_a,ri);
%hold on
%plot(du,ri,'or');