Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Tarea 2: Ejercicios de sucesiones. Tarea 3: Ejercicios de bisecciones sucesivas. Código Se escribió el siguiente código en C++ para resolver ejercicios por bisecciones sucesivas solo si el polinomio que pueda ser representado de la forma: Para esos casos es posible utilizar el siguiente código: #include <iostream> #include <math.h> using namespace std; double x1, x2, e, xm=0, fx1=0, fx2=0, fxm=0, fx1m=0, resx=0, raiz=0; int n, i; double x[10]; void bisuc(){ cout<<"\n -Este programa te resuelve ecuaciones por Bisecciones sucesivas-\n\n"; cout<<"Ingrese x1 > "; cin>>x1; cout<<"Ingrese x2 > "; cin>>x2; cout<<"Ingrese el valor de e > "; cin>>e; do{ xm=(x1+x2)/2; for (i=0; i<=n; i++){ fx1=(x[i])*(pow(x1,i))+fx1; } for (i=0; i<=n; i++){ fxm=(x[i])*(pow(xm,i))+fxm; } fx1m=(fx1)*(fxm); if (fx1m>0){ x1=xm; }else{ x2=xm; } resx=(x2-x1); if(resx>0){ resx=resx; }else{ resx=(resx)*(-1); } fx1=0; fxm=0; }while (resx>e); raiz=(x1+x2)/2; cout<<"La raiz obtenida con el intervalo dado es:\n Raiz="<<raiz<<endl; } void ec(){ cout<<"Ingrese el grado de su polinomio. \n > "; cin>>n; for (i=0; i<=n;i++){ if (i==0){ cout<<"Ingrese variable independiente > ";cin>>x[i]; }else{ cout<<"Ingrese x^"<<i<<" > ";cin>>x[i]; }} for (i=0; i<=n;i++){ if (i==0){ cout<<x[i]; }else{ if(i==1){ if (x[i]==1){ cout<<"x"; }else{ cout<<x[i]<<"x"; }}else{ if (x[i]==1){ cout<<"x^"<<i<<""; }else{ cout<<x[i]<<"x^"<<i<<""; }}} if (x[i]-x[i]==0 || x[i]>=1){ cout<<" + "; } }} int main(int argc, char** argv) { ec(); bisuc (); return 0; } Para los casos donde la función sea diferente se utilizó el siguiente código, donde únicamente se cambia la función cada que se desee obtener las raíces por bisecciones sucesivas. #include <iostream> #include <math.h> using namespace std; double f(double x){ return (COLOCAR FUNCIÓN ACÁ); } int main() { double x1=0, x2=0, e=0, xm=0, raiz=0; cout<<"Este programa resuelve ecuaciones por Bisecciones Sucesivas. \n"; cout<<"Ingrese x1\n> "; cin>>x1; cout<<"Ingrese x2\n> "; cin>>x2; cout<<"Ingrese e\n> ";cin>>e; do{ xm=(x1+x2)/2; if(f(x1)*f(xm)<0){ x2=xm; }else{ x1=xm; } }while (fabs(x2-x1)>=e); raiz=(x1+x2)/2; cout<<"La raiz obtenida con el intervalo dado es: "<<raiz; return 0; } Para resolver los ejercicios se necesita conocer 2 puntos entre los cuales se estima hay una raíz, para ello, se graficarán las ecuaciones en Geogebra para dar el intervalo al código. 1. En la gráfica se observa una raíz entre (0.5, 1). Ingresando los datos en el programa se obtiene: Para (0.5, 1): 2. En la gráfica se aprecian las raíces en: (-2.5, -2) (-2, -1.5) (-1, -0.5) (0.5, 1) (1, 1.5) 3. Raíces en: (0.5, 0.5) (1.5, 2.5) (2.5, 3.5) 4. Raíz en: (1,2) 5. Raíces en: (-3.5, -2.5) (1, 2) Tarea 4: Serie de McLaurin y serie de Taylor. Resolver por McLaurin si es posible y con Taylor con a=1. 1. 2. 3. 4. Tarea 5: Método de la secante. Mismos ejercicios de la tarea 3. Se tomará nuevamente la gráfica y los puntos de la tarea 3 para cada función correspondiente. De igual manera que en la tarea 3, y por las mismas razones, se crearon dos códigos de C++ para cubrir las necesidades de la tarea. //Código 1 #include <iostream> #include <math.h> using namespace std; double x1, x2, e, xm=0, fx1=0, fx2=0, fxm=0, fx1m=0, resx=0, raiz=0; double xi=0, delta=0, fxi=0, xim1=0,xi1=0, fxim1=0, num=0, den=0; int n, i; double x[10]; void seca() { cout<<"\nRecuerde verificar que el intervalo cumpla las condiciones: \n 1.f(x1)*f(x2)<0\n 2.f(x1)*f''(x1)>0\n 3.f'(x1)!=0\n\n"; cout<<"\nIngrese x1 > "; cin>>x1; cout<<"Ingrese x2 > "; cin>>x2; cout<<"Ingrese el valor de e > "; cin>>e; xi=x2; do{ for (i=0; i<=n; i++){ fxi=(x[i])*(pow(xi,i))+fxi; } for (i=0; i<=n; i++){ fx1=(x[i])*(pow(x1,i))+fx1; } num=(fxi)*(xi-x1); den=fxi-fx1; xi1=xi-((num)/(den)); delta=(xi-xi1); if (delta>0){ delta=delta; }else{ delta=(delta)*(-1); } xi=xi1; fxi=0; fx1=0; }while (delta>e); raiz=xi1; cout<<"La raiz encontrada con el intervalo dado es:\n raiz="<<raiz<<""; } void ec(){ cout<<"Ingrese el grado de su polinomio. \n > "; cin>>n; for (i=0; i<=n;i++){ if (i==0){ cout<<"Ingrese variable independiente > ";cin>>x[i]; }else{ cout<<"Ingrese x^"<<i<<" > ";cin>>x[i]; }} for (i=0; i<=n;i++){ if (i==0){ cout<<x[i]; }else{ if(i==1){ if (x[i]==1){ cout<<"x"; }else{ cout<<x[i]<<"x"; }}else{ if (x[i]==1){ cout<<"x^"<<i<<""; }else{ cout<<x[i]<<"x^"<<i<<""; }}} if (x[i]-x[i]==0 || x[i]>=1){ cout<<" + "; } }} int main() { ec (); seca (); return 0; } //Código 2 #include <iostream> #include <math.h> using namespace std; double x1, x2, e, xm=0, fx1=0, fx2=0, fxm=0, fx1m=0, resx=0, raiz=0; double xi=0, delta=0, fxi=0, xim1=0,xi1=0, fxim1=0, num=0, den=0; int n, i; double x[10]; double f(double x){ return (INSERTAR FUNCION AQUÍ); } int main() { cout<<"\nRecuerde verificar que el intervalo cumpla las condiciones: \n 1.f(x1)*f(x2)<0\n 2.f(x1)*f''(x1)>0\n 3.f'(x1)!=0\n\n"; cout<<"\nIngrese x1 > "; cin>>x1; cout<<"Ingrese x2 > "; cin>>x2; cout<<"Ingrese el valor de e > "; cin>>e; xi=x2; do{ num=f(xi)*(xi-x1); den=f(xi)-f(x1); xi1=xi-((num)/(den)); delta=(xi-xi1); if (delta>0){ delta=delta; }else{ delta=(delta)*(-1); } xi=xi1; fxi=0; fx1=0; }while (delta>e); raiz=xi1; cout<<"La raiz encontrada con el intervalo dado es:\n raiz="<<raiz<<""; return 0; } Ejercicios 1. Para (0.5, 1): 2. En la gráfica se aprecian las raíces en: (-2.5, -2) (-2, -1.5) (-1, -0.5) (0.5, 1) (1, 1.5) 3. Raíces en: (0.5, 0.5) (1.5, 2.5) (3.5, 2.5) Se intercambiaron los valores para cumplir las condiciones 4. Raíz en: (1,2) 5. Raíces en: (-3.5, -2.5) (0, 0) Ningún intervalo cumple las condiciones para la raíz x=0 (1, 2) Tarea 6: Ejercicios de Newton-Raphson Mismos ejercicios de las tareas 3 y 4, se tomará la gráfica y los puntos. Se escribió el siguiente código en C++ para resolver por el método de Newton-Raphson. Para usar diferentes funciones solo hay que cambiar la función y su derivada en el código. #include <iostream> #include <math.h> using namespace std; double f(double x){ return (INSERTAR FUNCIÓN AQUÍ); } double fp(INSERTAR DERIVADA DE FUNCIÓN AQUÍ){ return (2*x); } int main() { double xi=0, xi1=0, e=0, raiz=0, delta=0, fxi=0, fpxi=0; cout<<"Este programa resuelve ecuaciones por Newton-Raphson \n"; cout<<"Ingrese x1\n> "; cin>>xi; cout<<"Ingrese e\n> ";cin>>e; do{ fxi=f(xi); fpxi=fp(xi); xi1=xi-(fxi/fpxi); delta=xi1-xi; xi=xi1; if(delta>0){ delta=delta; }else{ delta=(delta)*(-1); } }while (delta>e); raiz=xi1; cout<<"La raiz obtenida con el intervalo dado es: "<<raiz; return 0; } Ejercicios de la tarea 3. 1. Para (0.5, 1): 2. En la gráfica se aprecian las raíces en: (-2.5, -2) Xi=-2.5 (-2, -1.5) Xi=-1.5 (-1, -0.5) (0.5, 1)(1, 1.5) 3. Raíces en: (0.5, 1.5) (1.5, 2.5) Se cambió por (1.9, 2.1) (2.5, 3.5) 4. Raíz en: (1,2) 5. Raíces en: (-3.5, -2.5) (1, 2) Ejercicios de tarea 4. 1. Esta función posee raíces infinitas, se usó xi=-1 para encontrar 1. 2. 3. Esta función no tiene raíces 4. Esta función posee raíces infinitas, así que se usó xi=2 para obtener una raíz. Tarea 7: Birge-Vietta 1. 2. 3. 4. Tarea 8. Método por integración Con ayuda del software Excel se resolvieron los casos. 1. x y m y*m 0 0 1 0 0.2 0.04885611 2 0.09771221 0.4 0.23869192 2 0.47738385 0.6 0.65596265 2 1.3119253 0.8 1.42434585 2 2.84869169 1 2.718281 2 5.436562 1.2 4.78096662 2 9.56193324 1.4 7.94818854 2 15.8963771 1.6 12.6797568 2 25.3595136 1.8 19.600847 2 39.2016941 2 29.5562064 1 29.5562064 129.747999 Respuesta= 12.9747999 2. x y m y*m -4 -512 1 -512 -3.5 -216 2 -432 -3 -64 2 -128 -2.5 -8 2 -16 -2 0 2 0 -1.5 8 2 16 -1 64 2 128 -0.5 216 2 432 0 512 2 1024 0.5 1000 2 2000 1 1728 2 3456 1.5 2744 2 5488 2 4096 2 8192 2.5 5832 2 11664 3 8000 2 16000 3.5 10648 2 21296 4 13824 2 27648 4.5 17576 2 35152 5 21952 2 43904 5.5 27000 2 54000 6 32768 1 32768 262080 Respuesta= 65520 3. x y m y*m -1 0.841470985 1 0.84147098 -0.9 0.870363233 2 1.74072647 -0.8 0.896695114 2 1.79339023 -0.7 0.920310982 2 1.84062196 -0.6 0.941070789 2 1.88214158 -0.5 0.958851077 2 1.91770215 -0.4 0.973545856 2 1.94709171 -0.3 0.985067356 2 1.97013471 -0.2 0.993346654 2 1.98669331 -0.1 0.998334166 2 1.99666833 -1.3878E-16 1 2 2 0.1 0.998334166 2 1.99666833 0.2 0.993346654 2 1.98669331 0.3 0.985067356 2 1.97013471 0.4 0.973545856 2 1.94709171 0.5 0.958851077 2 1.91770215 0.6 0.941070789 2 1.88214158 0.7 0.920310982 2 1.84062196 0.8 0.896695114 2 1.79339023 0.9 0.870363233 2 1.74072647 1 0.841470985 1 0.84147098 37.8332829 Respuesta= 1.89166414 4. x y m y*m 0 1 1 1 0.005 1.002496883 2 2.00499377 0.01 1.004987562 2 2.00997512 0.015 1.007472084 2 2.01494417 0.02 1.009950494 2 2.01990099 0.025 1.012422837 2 2.02484567 0.03 1.014889157 2 2.02977831 0.035 1.017349497 2 2.03469899 0.04 1.019803903 2 2.03960781 0.045 1.022252415 2 2.04450483 0.05 1.024695077 2 2.04939015 0.055 1.027131929 2 2.05426386 0.06 1.029563014 2 2.05912603 0.065 1.031988372 2 2.06397674 0.07 1.034408043 2 2.06881609 0.075 1.036822068 2 2.07364414 0.08 1.039230485 2 2.07846097 0.085 1.041633333 2 2.08326667 0.09 1.044030651 2 2.0880613 0.095 1.046422477 2 2.09284495 0.1 1.048808848 1 1.04880885 40.9839094 Respuesta= 0.10245977 5. 0 1 1 1 1 0.606530752 2 1.2130615 2 0.367879553 2 0.73575911 3 0.223130262 2 0.44626052 4 0.135335366 2 0.27067073 5 0.082085061 2 0.16417012 6 0.049787114 2 0.09957423 7 0.030197416 2 0.06039483 8 0.018315661 2 0.03663132 9 0.011109012 2 0.02221802 10 0.006737957 2 0.01347591 11 0.004086778 2 0.00817356 12 0.002478757 2 0.00495751 13 0.001503442 2 0.00300688 14 0.000911884 2 0.00182377 15 0.000553086 2 0.00110617 16 0.000335463 2 0.00067093 17 0.000203469 2 0.00040694 18 0.00012341 2 0.00024682 19 7.4852E-05 2 0.0001497 20 4.54001E-05 1 4.54E-05 4.08280399 Respuesta= 2.041402 Tarea 9. Método de Simpson de 1/3 1. x y m y*m 0 0 1 0 0.1 0.01105171 4 0.04420684 0.2 0.04885611 2 0.09771221 0.3 0.12148728 4 0.48594913 0.4 0.23869192 2 0.47738385 0.5 0.41218025 4 1.64872102 0.6 0.65596265 2 1.3119253 0.7 0.98673862 4 3.94695446 0.8 1.42434585 2 2.84869169 0.9 1.99227797 4 7.96911189 1 2.718281 2 5.436562 1.1 3.63503967 4 14.5401587 1.2 4.78096662 2 9.56193324 1.3 6.20110891 4 24.8044356 1.4 7.94818854 2 15.8963771 1.5 10.0837958 4 40.3351832 1.6 12.6797568 2 25.3595136 1.7 15.8196998 4 63.2787991 1.8 19.600847 2 39.2016941 1.9 24.136065 4 96.5442598 2 29.5562064 1 29.5562064 383.345779 Respuesta= 12.7781926 2. x y m y*m -4 -512 1 -512 -3.5 -216 4 -864 -3 -64 2 -128 -2.5 -8 4 -32 -2 0 2 0 -1.5 8 4 32 -1 64 2 128 -0.5 216 4 864 0 512 2 1024 0.5 1000 4 4000 1 1728 2 3456 1.5 2744 4 10976 2 4096 2 8192 2.5 5832 4 23328 3 8000 2 16000 3.5 10648 4 42592 4 13824 2 27648 4.5 17576 4 70304 5 21952 2 43904 5.5 27000 4 108000 6 32768 1 32768 391680 Respuesta= 65280 3. x y m y*m -1 0.84147098 1 0.84147098 -0.9 0.87036323 4 3.48145293 -0.8 0.89669511 2 1.79339023 -0.7 0.92031098 4 3.68124393 -0.6 0.94107079 2 1.88214158 -0.5 0.95885108 4 3.83540431 -0.4 0.97354586 2 1.94709171 -0.3 0.98506736 4 3.94026942 -0.2 0.99334665 2 1.98669331 -0.1 0.99833417 4 3.99333667 -1.3878E-16 1 2 2 0.1 0.99833417 4 3.99333667 0.2 0.99334665 2 1.98669331 0.3 0.98506736 4 3.94026942 0.4 0.97354586 2 1.94709171 0.5 0.95885108 4 3.83540431 0.6 0.94107079 2 1.88214158 0.7 0.92031098 4 3.68124393 0.8 0.89669511 2 1.79339023 0.9 0.87036323 4 3.48145293 1 0.84147098 1 0.84147098 56.7649901 Respuesta= 1.89216634 4. x y m y*m 0 1 1 1 0.005 1.00249688 4 4.00998753 0.01 1.00498756 2 2.00997512 0.015 1.00747208 4 4.02988834 0.02 1.00995049 2 2.01990099 0.025 1.01242284 4 4.04969135 0.03 1.01488916 2 2.02977831 0.035 1.0173495 4 4.06939799 0.04 1.0198039 2 2.03960781 0.045 1.02225242 4 4.08900966 0.05 1.02469508 2 2.04939015 0.055 1.02713193 4 4.10852772 0.06 1.02956301 2 2.05912603 0.065 1.03198837 4 4.12795349 0.07 1.03440804 2 2.06881609 0.075 1.03682207 4 4.14728827 0.08 1.03923048 2 2.07846097 0.085 1.04163333 4 4.16653333 0.09 1.04403065 2 2.0880613 0.095 1.04642248 4 4.18568991 0.1 1.04880885 1 1.04880885 61.4758932 Respuesta= 0.10245982 5. x y m y*m 0 1 1 1 1 0.60653075 4 2.42612301 2 0.36787955 2 0.73575911 3 0.22313026 4 0.89252105 4 0.13533537 2 0.27067073 5 0.08208506 4 0.32834024 6 0.04978711 2 0.09957423 7 0.03019742 4 0.12078966 8 0.01831566 2 0.03663132 9 0.01110901 4 0.04443605 10 0.00673796 2 0.01347591 11 0.00408678 4 0.01634711 12 0.00247876 2 0.00495751 13 0.00150344 4 0.00601377 14 0.00091188 2 0.00182377 15 0.00055309 4 0.00221234 16 0.00033546 2 0.00067093 17 0.00020347 4 0.00081388 18 0.00012341 2 0.00024682 19 7.4852E-05 4 0.00029941 20 4.54E-05 1 4.54E-05 6.00175225 Respuesta= 2.00058408 Tarea 10. Método de Simpson 3/8 1. x y m y*m 0 0 1 0 0.11111111 0.01379653 3 0.04138959 0.22222222 0.06167154 3 0.18501463 0.33333333 0.15506803 2 0.31013606 0.44444444 0.30807374 3 0.92422121 0.55555556 0.53793479 3 1.61380436 0.66666667 0.8656594 2 1.7313188 0.77777778 1.31672644 3 3.95017931 0.88888889 1.92191589 3 5.76574766 1 2.718281 2 5.436562 1.11111111 3.75028488 3 11.2508546 1.22222222 5.07112781 3 15.2133834 1.33333333 6.74429574 2 13.4885915 1.44444444 8.84536475 3 26.5360942 1.55555556 11.464102 3 34.3923059 1.66666667 14.7069093 2 29.4138187 1.77777778 18.6996634 3 56.0989903 1.88888889 23.5910133 3 70.7730399 2 29.5562064 1 29.5562064 306.681659 Respuesta= 12.7784024 2. x y m y*m -4 -512 1 -512 -3.44444444 -192.877915 3 -578.633745 -2.88888889 -44.9492455 3 -134.847737 -2.33333333 -2.37037037 2 -4.74074074 -1.77777778 0.70233196 3 2.10699588 -1.22222222 30.1124829 3 90.3374486 -0.66666667 151.703704 2 303.407407 -0.11111111 431.319616 3 1293.95885 0.44444444 934.803841 3 2804.41152 1 1728 2 3456 1.55555556 2876.75171 3 8630.25514 2.11111111 4446.90261 3 13340.70782.66666667 6504.2963 2 13008.5926 3.22222222 9114.77641 3 27344.3292 3.77777778 12344.1866 3 37032.5597 4.33333333 16258.3704 2 32516.7407 4.88888889 20923.1715 3 62769.5144 5.44444444 26404.4335 3 79213.3004 6 32768 1 32768 313344 Respuesta= 65280 3. x y m y*m -1 0.84147098 1 0.84147098 -0.88888889 0.87341841 3 2.62025523 -0.77777778 0.90218298 3 2.70654895 -0.66666667 0.9275547 2 1.85510941 -0.55555556 0.94934769 3 2.84804308 -0.44444444 0.96740182 3 2.90220545 -0.33333333 0.98158409 2 1.96316818 -0.22222222 0.99178985 3 2.97536954 -0.11111111 0.99794366 3 2.99383097 1.6653E-16 1 2 2 0.11111111 0.99794366 3 2.99383097 0.22222222 0.99178985 3 2.97536954 0.33333333 0.98158409 2 1.96316818 0.44444444 0.96740182 3 2.90220545 0.55555556 0.94934769 3 2.84804308 0.66666667 0.9275547 2 1.85510941 0.77777778 0.90218298 3 2.70654895 0.88888889 0.87341841 3 2.62025523 1 0.84147098 1 0.84147098 45.4120036 Respuesta= 1.89216682 4. x y m y*m 0 1 1 1 0.00555556 1.00277393 3 3.00832179 0.01111111 1.00554021 3 3.01662063 0.01666667 1.0082989 2 2.01659779 0.02222222 1.01105006 3 3.03315018 0.02777778 1.01379376 3 3.04138127 0.03333333 1.01653005 2 2.03306009 0.03888889 1.01925899 3 3.05777697 0.04444444 1.02198065 3 3.06594194 0.05 1.02469508 2 2.04939015 0.05555556 1.02740233 3 3.082207 0.06111111 1.03010248 3 3.09030743 0.06666667 1.03279556 2 2.06559112 0.07222222 1.03548164 3 3.10644491 0.07777778 1.03816077 3 3.1144823 0.08333333 1.040833 2 2.081666 0.08888889 1.04349839 3 3.13049517 0.09444444 1.04615699 3 3.13847097 0.1 1.04880885 1 1.04880885 49.1807146 Respuesta= 0.10245982 5. x y m y*m 0 1 1 1 1.11111111 0.57375352 3 1.72126055 2.22222222 0.3291931 3 0.9875793 3.33333333 0.1888757 2 0.3777514 4.44444444 0.1083681 3 0.32510429 5.55555556 0.06217658 3 0.18652973 6.66666667 0.03567403 2 0.07134806 7.77777778 0.0204681 3 0.0614043 8.88888889 0.01174364 3 0.03523093 10 0.00673796 2 0.01347591 11.1111111 0.00386593 3 0.01159778 12.2222222 0.00221809 3 0.00665427 13.3333333 0.00127264 2 0.00254527 14.4444444 0.00073018 3 0.00219054 15.5555556 0.00041894 3 0.00125683 16.6666667 0.00024037 2 0.00048074 17.7777778 0.00013791 3 0.00041374 18.8888889 7.9128E-05 3 0.00023738 20 4.54E-05 1 4.54E-05 4.80510643 Respuesta= 2.00212768
Compartir