El intervalo para calcular el área está limitado por a y b, donde a siempre es el menor valor.
Hacer el número n de rectángulos o intervalos considerablemente grande; entre más grande mayor exactitud en el cálculo del área, pero el tiempo de procesamiento será también mayor. El valor para dx está determinado por: ( b - a ) / n
Se considera para tal fin, que las alturas de cada rectángulo están dadas por cada valor de f(x), donde x para cada ciclo es la mitad del intervalo dx.
package mathrieman;
import java.util.Scanner;
public class rieman {
public static void main(String[] args) {
//Se crea el lector:
Scanner sc = new Scanner(System.in);
//Valor del límite inferior:
System.out.println("Valor de a:");
double a = sc.nextFloat();
//Valor del límite superior:
System.out.println("Valor de b:");
double b = sc.nextFloat();
//Valor del número de intervalos:
System.out.println("Cantidad de intervalos (n):");
double n = sc.nextFloat();
double dx = (b-a)/n;
System.out.println("dx:" + dx);
double s = 0.0;
double x = 0.0;
double y = 0.0;
int j=0;
for(double i = a;i <= b-(dx/2);i += dx) {
x = i+(dx/2);
y = Funcion_f(x);
s+= dx*y;
System.out.println("i=" + ++j +" x=" + x + " f(x)=" + y + " area parcial=" + (dx+y) );
}
System.out.println("El área bajo la curva es:"+s+" unidades cuadradas.");
}
private static double Funcion_f(double x) {
//Declaración de la función f(x):
double y=Math.pow(x, 2) - 2;
//Devolver el valor de f(x)
return(y);
}
}
package mathrieman;
import java.util.Scanner;
public class rieman {
public static void main(String[] args) {
//Se crea el lector:
Scanner sc = new Scanner(System.in);
//Valor del límite inferior:
System.out.println("Valor de a:");
double a = sc.nextFloat();
//Valor del límite superior:
System.out.println("Valor de b:");
double b = sc.nextFloat();
//Valor del número de intervalos:
System.out.println("Cantidad de intervalos (n):");
double n = sc.nextFloat();
double dx = (b-a)/n;
System.out.println("dx:" + dx);
double s = 0.0;
double x = 0.0;
double y = 0.0;
int j=0;
for(double i = a;i <= b-(dx/2);i += dx) {
x = i+(dx/2);
y = Funcion_f(x);
s+= dx*y;
System.out.println("i=" + ++j +" x=" + x + " f(x)=" + y + " area parcial=" + (dx+y) );
}
System.out.println("El área bajo la curva es:"+s+" unidades cuadradas.");
}
private static double Funcion_f(double x) {
//Declaración de la función f(x):
double y=Math.pow(x, 2) - 2;
//Devolver el valor de f(x)
return(y);
}
}
No hay comentarios.:
Publicar un comentario