Diferencia entre revisiones de «Obtener, mediante la regla de Simpson, el área de la función sqrt(1+x^2) entre 0 y 1 con un error menor a 0.001»
De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)
(No se muestran 6 ediciones intermedias del mismo usuario) | |||
Línea 4: | Línea 4: | ||
b:1; | b:1; | ||
E:0.001; | E:0.001; | ||
− | En virtud de la fórmula del error para la regla de Simpson: | + | En virtud de la fórmula del error para la regla de Simpson:<br/> |
− | E <= (b-a)^5*|max(f''''(x))|/(180*n^4) | + | E <= (b-a)^5*|max(f' ' ' '(x))|/(180*n^4)<br/> |
− | Y a la vista de la gráfica de f | + | Y a la vista de la gráfica de la derivada cuarta de f(x), que podemos ver gracias a Maxima y cuyo máximo, en valor absoluto, vale 3 |
define(g(x),diff(f(x),x,4)); | define(g(x),diff(f(x),x,4)); | ||
plot2d(g(x),[x,-1,1],[y,-3,3]); | plot2d(g(x),[x,-1,1],[y,-3,3]); | ||
Línea 13: | Línea 13: | ||
solve(E=((b-a)^5*maxg)/(180*n^4),n); | solve(E=((b-a)^5*maxg)/(180*n^4),n); | ||
Maxima ofrece las cuatro soluciones de esa ecuación de cuarto grado, de las cuales debemos tomar la entera y positiva, que nos ha salido la 4ª: | Maxima ofrece las cuatro soluciones de esa ecuación de cuarto grado, de las cuales debemos tomar la entera y positiva, que nos ha salido la 4ª: | ||
− | float(%[ | + | float(%[4]); |
Lo que nos da un valor de n = 2.02. Por muy poco, con n=2 no tendremos la precisión deseada. Tomaremos pues n=4, ya que la Regla de Simpson sólo tiene sentido con un número par de intervalos. | Lo que nos da un valor de n = 2.02. Por muy poco, con n=2 no tendremos la precisión deseada. Tomaremos pues n=4, ya que la Regla de Simpson sólo tiene sentido con un número par de intervalos. | ||
n:4; | n:4; | ||
Línea 19: | Línea 19: | ||
t:(b-a)/n; | t:(b-a)/n; | ||
puntos:[a,a+t,a+2*t,a+3*t,b]; | puntos:[a,a+t,a+2*t,a+3*t,b]; | ||
− | Según la Regla de Simpson, la integral vale: (b-a)*(f(a)+4*f(a+t)+2*f(a+2t)+2*f(a+3t)+f(b))/(3*n), que para la función inicial y los valores de a y b: | + | Según la Regla de Simpson, la integral vale: <br/>(b-a)*(f(a)+4*f(a+t)+2*f(a+2t)+2*f(a+3t)+f(b))/(3*n),<br/>que para la función inicial y los valores de a y b: |
− | float((b-a)*(f(a)+4*f(a | + | float((b-a)*(f(a)+4*f(a+t)+2*f(a+2*t)+4*f(a+3*t)+f(b))/(3*n)); |
Devuelve un valor de 1.1477822. | Devuelve un valor de 1.1477822. | ||
Haciendo la integral con la orden integrate, el valor ofrecido es: | Haciendo la integral con la orden integrate, el valor ofrecido es: | ||
float(integrate(f(x),x,0,1)); | float(integrate(f(x),x,0,1)); | ||
− | 1.14779357 | + | 1.14779357 <br/>Que difiere del valor obtenido en mucho menos que 0.001. |
− | Que difiere del valor obtenido en mucho menos que 0.001 |
Revisión actual del 07:13 12 abr 2011
En primer lugar, se definen las funciones y las constantes:
f(x):=sqrt(1+x^2); a:0; b:1; E:0.001;
En virtud de la fórmula del error para la regla de Simpson:
E <= (b-a)^5*|max(f' ' ' '(x))|/(180*n^4)
Y a la vista de la gráfica de la derivada cuarta de f(x), que podemos ver gracias a Maxima y cuyo máximo, en valor absoluto, vale 3
define(g(x),diff(f(x),x,4)); plot2d(g(x),[x,-1,1],[y,-3,3]); maxg:3;
Nos queda que para determinar el número de intervalos, sólo falta despejar la n:
solve(E=((b-a)^5*maxg)/(180*n^4),n);
Maxima ofrece las cuatro soluciones de esa ecuación de cuarto grado, de las cuales debemos tomar la entera y positiva, que nos ha salido la 4ª:
float(%[4]);
Lo que nos da un valor de n = 2.02. Por muy poco, con n=2 no tendremos la precisión deseada. Tomaremos pues n=4, ya que la Regla de Simpson sólo tiene sentido con un número par de intervalos.
n:4;
La anchura t de esos intervalos será, por tanto (b-a)/4, y los puntos quedarán recogidos en el vector puntos.
t:(b-a)/n; puntos:[a,a+t,a+2*t,a+3*t,b];
Según la Regla de Simpson, la integral vale:
(b-a)*(f(a)+4*f(a+t)+2*f(a+2t)+2*f(a+3t)+f(b))/(3*n),
que para la función inicial y los valores de a y b:
float((b-a)*(f(a)+4*f(a+t)+2*f(a+2*t)+4*f(a+3*t)+f(b))/(3*n));
Devuelve un valor de 1.1477822. Haciendo la integral con la orden integrate, el valor ofrecido es:
float(integrate(f(x),x,0,1));
1.14779357
Que difiere del valor obtenido en mucho menos que 0.001.