- import java.util.Scanner;
- /*梯形求积公式,求解sin函数积分*/
- public class trapzoidal_integral {
- private static double trap_method(double lower,double upper,double space)
- {
- double temp=upper-lower;
- double seg_num=0;
- if(temp%space==0){
- seg_num=temp/space;
- }
- else{
- seg_num=temp/space+1;
- }
- double upper_temp=0;
- double result=0;
- for(int i=1;i<=seg_num;i++){
- if((upper_temp=i*space+lower)<=upper){
- result=result+(Math.sin(upper_temp)+Math.sin(upper_temp-space))/2*space;
- }
- else{
- result=result+(Math.sin(upper)+Math.sin(upper_temp-space))/2*space;
- }
- }
- return result;
- }
- public static void main(String[] args) {
- System.out.println("Input upper limit of the function:");
- Scanner scan=new Scanner(System.in);
- double upper=scan.nextDouble();
- System.out.println("Input lower limit of the function:");
- double lower=scan.nextDouble();
- System.out.println("Input the space of the function:");
- double space=scan.nextDouble();
- double res=trap_method(lower, upper, space);
- System.out.println("The result of the integral funciton is: "+res);
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/2101201614477.html
来源: http://www.codesnippet.cn/detail/2101201614477.html