Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Análisis Numérico Grupo: 13 UNAM / FI / DCB(DIE) Semestre 2021-1 Tarea 1 Métodos de bisección, regla falsa y punto fijo Carlos Rincón, Araiza Alfredo, Sánchez Axel 1. Resultados para la función ex = 3x 1. Método Bisección Raíz: x = 0.2576 Iteraciones: 14 Tabla 1: Método de bisección Iteración a b c Ck+1 − Ck 1 0.0000 1.0000 0.5000 2 0.0000 0.5000 0.2500 0.25 3 0.2500 0.5000 0.3750 0.125 4 0.2500 0.3750 0.3125 0.0625 5 0.2500 0.3125 0.2812 0.0312 6 0.2500 0.2812 0.2656 0.0156 7 0.2500 0.2656 0.2578 0.0078 8 0.2500 0.2578 0.2539 0.0039 9 0.2539 0.2578 0.2558 0.0019 10 0.2558 0.2578 0.2568 0.0010 11 0.2568 0.2578 0.2573 0.0005 12 0.2573 0.2578 0.2575 0.0002 13 0.2576 0.2578 0.2576 0.0001 14 0.2576 0.2577 0.2576 0.00006 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 2. Método Regla falsa Raíz: x = 0.2576 Iteraciones: 4 Tabla 2: Método de regla falsa Iteración k a b ck Ck+1 − Ck 1 0.0000 1.0000 0.2573 - 2 0.0000 0.2573 0.2581 0.0172 3 0.0000 0.2581 0.2576 0.0005 4 0.2576 0.2581 0.2576 0.000026 3. Método Punto fijo Raíz: x = 0.2576 Iteraciones: 5 Tabla 3: Método de punto fijo Iteración n xn xn+1 |xn+1 − xn| 1 0.2500 0.2596 0.0096 2 0.2596 0.2571 0.0025 3 0.2571 0.2578 0.0007 4 0.2578 0.2576 0.0002 5 0.2576 0.2576 0.0000 2. Resultados para la ecuación 3x2 + 2.72x− 1.24 = 0 1. Método Bisección Raíz: x = −1.2400 Iteraciones: 14 2 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel Tabla 4: Método de bisección Iteración a b c Ck+1 − Ck 1 -2.0000 -1.0000 -1.5000 - 2 -1.5000 -1.0000 -1.2500 0.2500 3 -1.2500 -1.0000 -1.1250 0.1250 4 -1.2500 -1.1250 -1.1875 0.0525 5 -1.2500 -1.1875 -1.2187 0.0312 6 -1.2500 -1.2187 -1.2344 0.0156 7 -1.2500 -1.2344 -1.2422 0.0078 8 -1.2422 -1.2344 -1.2383 0.0039 9 -1.2422 -1.2383 -1.2402 0.0019 10 -1.2402 -1.2383 -1.2392 0.0010 11 -1.2402 -1.2392 -1.2397 0.0005 12 -1.2402 -1.2397 -1.2399 0.0002 13 -1.2402 -1.2399 -1.2400 0.0001 14 -1.2400 -1.2399 -1.2400 0.0000 2. Método Regla falsa Raíz: x = −1.2400 Iteraciones: 8 3 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel Tabla 5: Método de regla falsa Iteración k a b ck Ck+1 − Ck 1 -2.0000 -1.0000 -1.1529 - 2 -2.0000 -1.1529 -1.2105 0.0576 3 -2.0000 -1.2105 -1.2303 0.0198 4 -2.0000 -1.2303 -1.2368 0.0065 5 -2.0000 -1.2368 -1.2390 0.0022 6 -2.0000 -1.2390 -1.2397 0.0007 7 -2.0000 -1.2397 -1.2399 0.0002 8 -2.0000 -1.2399 -1.2400 0.0001 3. Método Punto fijo Raíz: x = −1.2401 Iteraciones: 5 Tabla 6: Método de punto fijo Iteración n xn xn+1 |xn+1 − xn| 1 -1.2500 -1.2436 0.0064 2 -1.2436 -1.2413 0.0023 3 -1.2413 -1.2405 0.0008 4 -1.2405 -1.2402 0.0003 5 -1.2402 -1.2401 0.0001 3. Descripción de trabajo en equipo Para obtener los resultados de las raíces, nos repartimos equitativamente todo el desarrollo, Alfredo se encargó de realizar los programas que posteriormente nos explicó, mientras que Carlos y Axel desarrollaron los ejercicios a mano y capturaron la información en LATEX, comparando los resultados con los programas realizados. 4 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 4. Desarrollo Para la primer función: 5 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 6 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel Para la segunda función: 7 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 8 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 5. Códigos utilizados Código Principal 1 2 %Datos para métodos numéricos de función 1 3 a=0; %limite inferior para primera función 4 b=1; % limite superior para primera función 5 x1=0.25; % punto inicial para punto fijo 6 %para primera función 7 8 %Datos para métodos numéricos de función 2 9 a2=-2; %limite inferior para segunda función 10 b2=-1; % limite superior para segunda función 11 x2=-1.25; % punto inicial para punto fijo 12 %para segunda función 13 14 15 syms x 16 f1 = @(x) exp(-x) - 3*x; % función de la cual se encontrarán las raíces 17 g1= @(x) (exp(-x))/(3); % función para método de punto fijo 18 19 dg1=inline(diff(g1,x)); % Función creada por la derivada de gx 20 21 22 f2 = @(x) 3*x^2 + 2.72*x -1.24; % función de la cual se encontrarán 23 %las raíces 24 g2= @(x) (-sqrt((-2.72*x+1.24)/(3))); % función para método de punto fijo 25 26 dg2=inline(diff(g2,x)); % Función creada por la derivada de gx 27 28 29 epsilon = 0.0001; % tolerancia 30 kmax =20; % Iteraciones maximas 31 32 33 %Métodos para función 1 34 35 [raiz,iteraciones] = biseccion(f1,epsilon,a,b,kmax); 36 %método de bisección, del cual se 37 %obtiene un conjunto de valores de 38 % aproximaciones a la raíz 39 [raiz1,iteraciones1] = reglafalsa(f1,epsilon,a,b,kmax); 40 %método de regla falsa, del cual se 41 %obtiene un conjunto de valores de 9 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 42 % aproximaciones a la raíz 43 [raiz2,iteraciones2] = puntofijo(dg1,g1,epsilon,x1,kmax); 44 %método de punto fijo, del cual se 45 %obtiene un conjunto de valores 46 % de aproximaciones a la raíz 47 48 49 %Métodos para función 2 50 51 [raizf,iteracionesf] = biseccion(f2,epsilon,a2,b2,kmax); 52 %método de bisección, del cual se 53 %obtiene un conjunto de valores de 54 % aproximaciones a la raíz 55 [raizf1,iteracionesf1] = reglafalsa(f2,epsilon,a2,b2,kmax); 56 %método de regla falsa, del cual se 57 %obtiene un conjunto de valores de 58 % aproximaciones a la raíz 59 [raizf2,iteracionesf2] = puntofijo(dg2,g2,epsilon,x2,kmax); 60 %método de punto fijo, del cual se 61 %obtiene un conjunto de valores 62 % de aproximaciones a la raíz 63 disp("Primera Funcin resultados: ") 64 disp("----------------------------------------------------------------- ") 65 disp(’Biseccin : ’) 66 disp(raiz) 67 disp(’Iteraciones: ’) 68 disp(iteraciones) 69 disp(’Raz: ’) 70 disp(raiz(iteraciones)) 71 disp(’---------------------’) 72 disp(’Regla Falsa : ’) 73 disp(raiz1) 74 disp(’Iteraciones: ’) 75 disp(iteraciones1) 76 disp(’Raz: ’) 77 disp(raiz1(iteraciones1)) 78 disp(’---------------------’) 79 disp(’Punto Fijo : ’) 80 disp(raiz2) 81 disp(’Iteraciones: ’) 82 disp(iteraciones2) 83 disp(’Raz: ’) 84 disp(raiz2(iteraciones2)) 85 disp("----------------------------------------------------------------- ") 86 10 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 87 88 disp(’Segunda funcin resultados’) 89 disp("----------------------------------------------------------------- ") 90 disp(’Biseccin : ’) 91 disp(raizf) 92 disp(’Iteraciones: ’) 93 disp(iteracionesf) 94 disp(’Raz: ’) 95 disp(raizf(iteracionesf)) 96 disp(’---------------------’) 97 disp(’Regla Falsa : ’) 98 disp(raizf1) 99 disp(’Iteraciones: ’) 100 disp(iteracionesf1) 101 disp(’Raz: ’) 102 disp(raizf1(iteracionesf1)) 103 disp(’---------------------’) 104 disp(’Punto Fijo : ’) 105 disp(raizf2) 106 disp(’Iteraciones: ’) 107 disp(iteracionesf2) 108 disp(’Raz: ’) 109 disp(raizf2(iteracionesf2)) 110 disp("------------------------------------------------------------------ ") 111 112 ’Codigo Método de Bisección’ 1 function [raiz,iter] = biseccion(fx,epsilon,a,b,kmax) 2 3 4 for i = 1:kmax 5 6 if fx(a)*fx(b) <0 % La raz se encuentra en [a,b]? 7 c(i)=(a+b)/2; 8 if fx(c(i))== 0 9 raiz=c; 10 iter=i; 11 return 12 end 13 14 15 11 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 16 if fx(a)*fx(c(i)) <0 %La raz esta contenida en [a,c] 17 b=c(i); 18 else %La raz esta contenida en [c,b] 19 a=c(i); 20 end 21 22 23 if i>1 24 tolerancia= abs(c(i)-c(i-1)); 25 26 if tolerancia < epsilon %Se verifica que la tolerancia 27 % establecida 28 %se haya alcanzado 29 raiz=c; 30 iter=i; 31 return 32 end 33 end 34 35 else %Significa que no hay una raz en este intervalo 36 return 37 end 38 end 39 raiz=c; 40 iter=i; 41 end ’Código Método de Regla Falsa’ 1 function [raiz,iter] = reglafalsa(fx,epsilon,a,b,kmax) 2 3 4 for i = 1:kmax 5 6 if fx(a)*fx(b) <0 % ¿La raíz se encuentra en [a,b]? 7 c(i)= (a*fx(b) - b*fx(a))/ (fx(b)-fx(a)); 8 9 if fx(c(i))== 0 10 raiz=c; 11 iter=i;12 return 13 end 14 15 12 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 16 17 if fx(a)*fx(c(i)) <0 %La raíz esta contenida en [a,c] 18 b=c(i); 19 else %La raíz esta contenida en [c,b] 20 a=c(i); 21 end 22 23 24 25 if i>1 % La condición se evalúa hasta que se haga una iteración 26 tolerancia= abs(c(i)-c(i-1)); 27 28 if tolerancia < epsilon %Se verifica que la tolerancia 29 %establecida se haya alcanzado 30 raiz=c; 31 iter=i; 32 return 33 end 34 end 35 36 else %Significa que no hay una raíz en este intervalo 37 return 38 end 39 end 40 raiz=c; 41 iter=i; 42 end ’Código Método de Punto Fijo’ 1 function [raiz2,iter2] = puntofijo(dgx,gx,epsilon,v,kmax) 2 3 condicion=dgx(v); % Se evalúa la derivada en el valor inicial 4 % proporcionado y se le da a condición 5 6 if abs(condicion)< 1 % Se compara la condición del método, haciendo 7 %absoluto al valor condición 8 xn(1)=v; % El valor inicial es el primer acercamiento de raíz 9 for i=2:kmax 10 xn(i)= gx(v); % Se evalúa el valor v en la función g(x) 11 % y se le da como un acercamiento de raíz al arreglo 12 tolerancia = abs(xn(i)-v); 13 v=xn(i); % Se actualiza el valor v por el valor de la función 14 % g(x) evaluada en v 13 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel 15 16 if(tolerancia < epsilon) % Se verifica que la tolerancia 17 % establecida se haya alcanzado 18 raiz2=xn; 19 iter2=i-1; 20 return 21 end 22 23 end 24 end % Si la condición if no se cumple, los valores que se entregarán 25 % serán incorrectos de raíz e iteraciones y marcara error el programa 26 raiz2=xn; 27 iter2=i-1; 28 end 14 AN21-1x13: Tarea 1 Araiza Alfredo, Rincón Mejía, Sánchez Axel Tabla 7: Método de bisección Iteración Bisección Regla Falsa Punto Fijo 1 -2.0000 -1.0000 -1.5000 2 -1.5000 -1.0000 -1.2500 3 -1.2500 -1.0000 -1.1250 4 -1.2500 -1.1250 -1.1875 5 -1.2500 -1.1875 -1.2187 6 -1.2500 -1.2187 -1.2344 7 -1.2500 -1.2344 -1.2422 8 -1.2422 -1.2344 -1.2383 9 -1.2422 -1.2383 -1.2402 10 -1.2402 -1.2383 -1.2392 11 -1.2402 -1.2392 -1.2397 12 -1.2402 -1.2397 -1.2399 13 -1.2402 -1.2399 -1.2400 14 -1.2400 -1.2399 -1.2400 15
Compartir