Logo Studenta

Araiza_Rincón_Sánchez_T7 - Axel

¡Estudia con miles de materiales!

Vista previa del material en texto

Análisis Numérico
Grupo: 13
UNAM / FI / DCB(DIE)
Semestre 2021-1
Tarea 7
Derivación e Integración Numérica
Araiza Alfredo, Rincón Carlos, Sánchez Axel
1. Tabla comparativa de la derivada numérica
Función valuada en x
x 0 1 2 3 4 5 6 7 8 9 10
f(x) 0.0000 0.5104 0.3345 0.0315 -0.1024 -0.0787 -0.0139 0.0198 0.0181 0.0046 -0.0037
Primera Derivada con h=1
x Derivada original Derivada h=1 Diferencia Error Relativo Método
0 1.0000 0.8535 0.1465 14.65% 3 p. adelante
1 0.0725 0.1673 0.0947 130.6312% 2 p. centrados
2 -0.3203 -0.3876 0.0672 20.7894% 3 p. adelante
3 -0.2366 -0.2127 0.0239 10.1088% 3 p. adelante
4 -0.0373 -0.0551 0.0179 47.9214% 2 p. centrados
5 0.0626 0.0443 0.0184 29.3508% 2 p. centrados
6 0.0548 0.0515 0.0033 5.9799% 3 p. adelante
7 0.0128 0.0160 0.0032 24.6747% 2 p. centrados
8 -0.0117 -0.0162 0.0045 38.0934% 3 p. adelante
9 -0.0124 -0.0109 0.0015 12.2288% 2 p. centrados
10 -0.0038 -0.0056 0.0018 46.4201% 3 p. atrás
Primera Derivada con h=2
x Derivada original Derivada h=2 Diferencia Error Relativo Método
0 1.0000 0.3601 0.6399 63.9883% 3 p. adelante
2 -0.3203 -0.5082 0.1879 58.6522% Extr. de Richardson
4 -0.0373 -0.0444 0.0072 19.2815% Extr. de Richardson
6 0.0548 0.0586 0.0038 7.0159% Extr. de Richardson
8 -0.0117 -0.0224 0.0107 91.4063% Extr. de Richardson
10 -0.0038 -0.0109 0.0071 185.0995% 3 p. atrás
AN21-1x13: Tarea 7 Araiza Alfredo, Rincón Carlos, Sánchez Axel
2. Gráfica comparativa de las derivadas
0 1 2 3 4 5 6 7 8 9 10
 X
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
 
Y
 Comparación De Derivadas
Derivada original
Derivada con h=1
Derivada con h=2
3. Tabla comparativa de la integral numérica
Comparación de resultados de integral
Método Valor Calculado Subintervalos (n) % Error Relativo
Rectangular izquierda 0.352138 11 19.5966%
Rectangular derecha 0.533956 11 21.9178%
Rectangular media 0.435424 11 0.5799%
Trapezoidal compuesta 0.444113 10 1.4040%
Simpson compuesta 0.438127 7 0.0372%
Cuadratura Gaussiana 0.437927 3 0.0084%
Cuadratura Gaussiana 0.437964 5 0.0000%
Valor real de la integral: ∫ 1
0
2xx3 dx = 0.437964 (1)
2
AN21-1x13: Tarea 7 Araiza Alfredo, Rincón Carlos, Sánchez Axel
4. Descripción de trabajo en equipo
Para obtener los resultados, nos repartimos equitativamente todo el trabajo, Alfredo se encargó de
realizar y modificar los programas para la integral númerica, Carlos realizó los programas para poder
efectuar correctamente la derivada numérica y obtener la gráfica comparativa de las derivadas y Axel se
encargó de capturar la información en LATEX(tablas, gráfica, comentarios y códigos), además de realizar
el ejercicio de Cuadratura Gaussiana a mano. Al final realizamos una videollamada para verificar que el
archivo y su contenido sean los correctos y para aclarar las dudas que surgieron en el proceso.
3
AN21-1x13: Tarea 7 Araiza Alfredo, Rincón Carlos, Sánchez Axel
5. Desarrollo
4
AN21-1x13: Tarea 7 Araiza Alfredo, Rincón Carlos, Sánchez Axel
6. Códigos utilizados
’Código Principal Derivación Numérica’
1 clc % Limpia Command Window
2 clear all % Limpia Workspace
3
4 fe1 = @(x) sin(x).*exp(-(1/2)*x); % Función utilizada
5 df1 = @(x) exp(-x/2).*cos(x) - (exp(-x/2).*sin(x))/2; % Derivada de la f.
6 h = 1; % Paso entre puntos x
7 x = 0:h:10; % Valores de x
8 y = fe1(x); % Valores de la función valuada en x
9 disp(’Valores de la derivada original valuada en x:’)
10 z = df1(x)’
11 disp(’Valores de la derivada con h=1:’)
12 %% Para f’(0)
13 a = d3p_adelante(x(1:3),y(1:3))
14 %% Para f’(1)
15 b = d2p_centrados(x([1 3]),y([1 3]))
16 %% Para f’(2)
17 c = d3p_adelante(x(3:5),y(3:5))
18 %% Para f’(3)
19 d = d3p_adelante(x(4:6),y(4:6))
20 %% Para f’(4)
21 e = d2p_centrados(x([4 6]),y([4 6]))
22 %% Para f’(5)
23 f = d2p_centrados(x([5 7]),y([5 7]))
24 %% Para f’(6)
25 g = d3p_adelante(x(7:9),y(7:9))
26 %% Para f’(7)
27 i = d2p_centrados(x([7 9]),y([7 9]))
28 %% Para f’(8)
29 j = d3p_adelante(x(9:11),y(9:11))
30 %% Para f’(9)
31 k = d2p_centrados(x([9 11]),y([9 11]))
32 %% Para f’(10)
33 l = d3p_atras(x(9:11),y(9:11))
34 %% Gráfica de derivadas
35 figure
36 plot(x,z,’s’,"Color",’green’,’MarkerSize’,8,’Linewidth’,2)
37 hold on
38 plot(0,a,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
39 plot(1,b,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
40 plot(2,c,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
41 plot(3,d,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
42 plot(4,e,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
43 plot(5,f,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
44 plot(6,g,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
45 plot(7,i,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
5
AN21-1x13: Tarea 7 Araiza Alfredo, Rincón Carlos, Sánchez Axel
46 plot(8,j,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
47 plot(9,k,’o’,"Color",’red’,’MarkerSize’,8,’Linewidth’,1)
48 plot(10,l,’o’,"Color",’red’,’MarkerSize’,8,’LineWidth’,1)
49 %% Extrapolación de Richardson con h=2
50 h = 2;
51 x = 0:h:10;
52 y = fe1(x);
53 disp(’Valores de la derivada con h=2’)
54 % Para f’(0)
55 m = d3p_adelante(x(1:3),y(1:3))
56 % Para f’(2)
57 n = (4/3*c-1/3*(d2p_centrados(x([1 3]),y([1 3]))))
58 % Para f’(4)
59 o = (4/3*e-1/3*(d2p_centrados(x([2 4]),y([2 4]))))
60 % Para f’(6)
61 p = (4/3*g-1/3*(d2p_centrados(x([3 5]),y([3 5]))))
62 % Para f’(8)
63 q = (4/3*j-1/3*(d2p_centrados(x([4 6]),y([4 6]))))
64 % Para f’(10)
65 r = d2p_atras(x(5:6),y(5:6))
66 % Gráficas de h=2
67 hold on
68 plot(0,m,’*’,"Color",’blue’,’MarkerSize’,8,’Linewidth’,1)
69 plot(2,n,’*’,"Color",’blue’,’MarkerSize’,8,’Linewidth’,1)
70 plot(4,o,’*’,"Color",’blue’,’MarkerSize’,8,’Linewidth’,1)
71 plot(6,p,’*’,"Color",’blue’,’MarkerSize’,8,’Linewidth’,1)
72 plot(8,q,’*’,"Color",’blue’,’MarkerSize’,8,’Linewidth’,1)
73 legend(’Derivada original’,’Derivada con h=1’)
74 plot(10,r,’*’,"Color",’blue’,’MarkerSize’,8,’Linewidth’,1,’DisplayName’...
75 ,’Derivada con h=2’)
’Diferencias Finitas Con 2 Puntos Centrados’
1 function df = d2p_centrados(x,y)
2 % x es un vector con dos componentes [xi+1 xi-1]
3 % y es un vector con dos componentes [f(xi-1) f(xi)]
4 h2 = x(2) - x(1); % Distancia entre xi+1 xi-1 [2h]
5 df = (y(2) - y(1))/h2 ; % Derivada con dos puntos centrados
6 end
’Diferencias Finitas Con 3 Puntos Hacia Adelante’
1 function df = d3p_adelante(x,y)
2 % x es un vector con tres componentes
3 % y es un vector con tres componentes
4 h4 = x(3) - x(1); % Distancia entre xi xi-1
5 df = (-3*y(1)+4*y(2)-y(3))/h4; % Derivada con tres puntos
6 end
6
AN21-1x13: Tarea 7 Araiza Alfredo, Rincón Carlos, Sánchez Axel
’Diferencias Finitas Con 3 Puntos Hacia Atrás’
1 function df = d3p_atras(x,y)
2 % x es un vector con tres componentes
3 % y es un vector con tres componentes
4 h5 = x(3) - x(1); % Distancia entre xi xi-1
5 df = (y(1)-4*y(2)+3*y(3))/h5; % Derivada con tres puntos
6 end
’Código Principal Integración Numérica’
1 clc % Limpia Command Window
2 clear all % Limpia Workspace
3 syms x
4
5 f1 = @(x) (2^x)*(x^3);
6 %Limites de integración de la funcion
7 a=0;
8 b=1;
9 n1=11; % Para Regla rectangular compuesta
10 n2=10; %Para Regla rectangular trapezoidal
11 integrales(f1,a,b,n1,n2);% Regla rectangular compuesta y
12 % Regla rectangular trapezoidal
13 ns=7; % Para Regla de simpson compuesta
14 Reglas_simpson(f1,a,b,ns);
15 %Valores n de cuadratura gaussiana
16 nc1=3;
17 nc2=5;
18 cuadratura_gaussiana(f1,a,b,nc1)
19 cuadratura_gaussiana(f1,a,b,nc2)
’Regla Rectangular Compuesta Y Trapezoidal’
1 function integrales(f1,a,b,n1,n2)
2 % h y ht Paso (distancia entre puntos en x)
3 h=(b-a)/n1; % h Para Regla rectangular compuesta
4 ht=(b-a)/n2; % h Para Regla trapezoidal compuesta
5 x=a:h:b; % Genera puntos x1, x2, x3,... , xn+1
6 % Regla rectangular compuesta (derecha e izquierda)
7 y=subs(f1,x); % y para Regla rectangular compuesta(derecha e izquierda)
8
9 xc=(h+2*a)/2:h:((2*n1-1)*h+(2*a))/2;%Genera puntos x1, x2, x3,... , xn+1
10 % Regla rectangular compuesta (central)
11 y1=subs(f1,xc); % y para Regla rectangular compuesta(central)
12
13 xt=a+ht:ht:b-ht; % valor para evaluar Regla trapezoidal14 y2=subs(f1,xt); % y para Regla rectangular trapezoidal
15
7
AN21-1x13: Tarea 7 Araiza Alfredo, Rincón Carlos, Sánchez Axel
16 %Formulas para Regla Rectangular compuesta
17 rd=h*sum(y(2:end)); %Extremo derecho
18 ri=h*sum(y(1:n1)); %Extremo izquierdo
19 rc=h*sum(y1(1:n1)); %Punto medio
20
21 %Formula para Regla rectangular trapezoidal
22 tc=(ht/2)*(subs(f1,a)+2*sum(y2(1:end))+subs(f1,b));
23
24 fprintf(’Regla Rectangular derecha: \n’);
25 fprintf(’Resultado integral= %f \n’,rd);
26 fprintf(’Regla Rectangular izquierda: \n’);
27 fprintf(’Resultado integral= %f \n’, ri);
28 fprintf(’Regla Rectangular centrada: \n’);
29 fprintf(’Resultado integral= %f \n’, rc);
30 fprintf(’Regla Trapezoidal: \n’);
31 fprintf(’Resultado integral= %f \n’, tc);
32 fprintf(’--------------------------------------------- \n’);
33
34
35 end
’Reglas de Simpson Compuestas’
1 function Reglas_simpson(f1,a,b,n)
2 h=(b-a)/n; % Paso (distancia entre puntos en x)
3 x=a:h:b; %Genera puntos x1, x2, x3,... , xn+1
4 if mod(n,2) == 0 %Si el número de sub intervalos
5 %es par se realiza 1/3 en todo
6 s1=(subs(f1,a))+(subs(f1,b));
7 for i=1:n-1
8 if mod(i,2)==0
9 s1=s1+2*subs(f1,a+i*h);
10 else
11 s1=s1+4*subs(f1,a+i*h);
12 end
13 end
14 s1=s1*(h/3);
15
16 %Realiza 3/8 cuando n mod 3 = 0
17 elseif mod(n,3) == 0
18 s2=(subs(f1,a))+(subs(f1,b));
19 for i=1:n-1
20 if mod(i,3)==0;
21 s2=s2+2*subs(f1,a+i*h);
22 else
23 s2=s2+3*subs(f1,a+i*h);
24 end
25 end
8
AN21-1x13: Tarea 7 Araiza Alfredo, Rincón Carlos, Sánchez Axel
26 s2=s2*((3*h)/8);
27
28
29 else
30
31 %caso cuando n no es par ni múltiplo de 3
32 sI1=(subs(f1,a))+(subs(f1,x(end-3)));
33 s_1=0;
34 s_2=0;
35
36 for i=2:2:n-3
37 s_1=s_1+subs(f1,x(i));
38 end
39 for i=3:2:n-4
40 s_2=s_2+subs(f1,x(i));
41 end
42 sI1=(h/3)*(sI1+4*s_1+2*s_2);
43 sI2=(subs(f1,x(end-3)))+(subs(f1,b));
44 s_1=subs(f1,x(end-2));
45 s_2=subs(f1,x(end-1));
46
47 sI2=(h*3/8)*(sI2+3*s_1+3*s_2);
48
49 sc=sI1+sI2;
50 end
51
52
53
54 if mod(n,2) == 0
55 fprintf(’Resultado integral= %f (Simpson 1/3) \n’, s1);
56 elseif mod(n,3) == 0
57 fprintf(’Resultado integral= %f (Simpson 3/8) \n’, s2);
58 else
59 fprintf(’Resultado integral= %f (Simpson compuesta) \n’, sc);
60 end
’Cuadratura Gaussiana’
1 function cuadratura_gaussiana(f1,a,b,n)
2 % Dependiendo del valor n se escojen los pesos de c y los nodos Gaussianos
3 switch n
4 case 2
5 ci=[1,1];
6 xi=[-0.577350269,0.577350269];
7 case 3
8 ci=[0.5555555556,0.8888888889,0.5555555556];
9 xi=[-0.774596669,0,0.774596669];
10 case 4
9
AN21-1x13: Tarea 7 Araiza Alfredo, Rincón Carlos, Sánchez Axel
11 ci=[0.347854845,0.652145155,0.652145155,0.347854845];
12 xi=[-0.861136312,-0.339981044,0.339981044,0.861136312];
13 case 5
14 ci=[0.236926885,0.478628670,0.568888889,0.478628670,0.236926885];
15 xi=[-0.906179846,-0.538469310,0,0.538469310,0.906179846];
16 case 6
17 ci=[0.171324492,0.360761573,0.467913935,0.467913935,0.360761573,...
18 0.171324492];
19 xi=[-0.932469514,-0.661209386,-0.238619186,0.238619186,...
20 0.661209386,0.932469514];
21 end
22 s=0;
23 aux=zeros(1,n);
24 fx=zeros(1,n);
25 for i=1:n
26 aux(i)=(((b-a)*xi(i))+b+a)/2;
27 fx(i)=double(subs(f1,’x’,aux(i)));
28 s=s+(ci(i)*fx(i));
29 end
30 Ifx=((b-a)/2)*s;
31 fprintf(’\n --------------------------------------------- \n’);
32 fprintf(’Cuadratura Gaussiana \n’);
33 fprintf(’El resultado de la integral con n= %f es %f \n’,n,Ifx);
34 end
10

Otros materiales