第六章-函数作业 ---三角函数泰勒级数展开式计算正弦函数值

E201_06_02_正弦函数

题目要求:按照三角函数泰勒级数展开式计算正弦函数值:

 

,直到最后一项的绝对值小于106

解题思路:

1. 输入弧度

2. 确定初始化值

3. 求阶梯函数

 

代码:


public class E201_06_02_正弦函数 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入弧度");
     double x =scanner.nextDouble();
     double sum=0;
     double fenzi = x;
     double fenmu = 1;
     int sign = 1;
     double item = x;//某一项·
     int n = 1;
     while (Math.abs(item) >= 1e-6){
          sum +=item;
          sign = -sign;
            n += 2;
         fenzi = Math.pow(x,n);//x的n次方
         fenmu = fact(n);//n的阶梯
          item = sign*fenzi/fenmu;//计算当前项分数
     }
        System.out.printf("sin(%f)=%f",x,sum);
    }

    /**
     *
     * @param n
     * @return
     */
    private static double fact(int n) {
         long sum = 1;
        for (int i = 2;i<=n;i++){
            sum *= i;
        }
       return sum;
    }
}

 

运行结果:

 

你可能感兴趣的:(第六章-函数作业 ---三角函数泰勒级数展开式计算正弦函数值)