当前位置:   article > 正文

Java用sin和cos的泰勒展开式编程序求出 sin(π/2)、cos(87°)_java 泰勒展开式 计算 正弦值

java 泰勒展开式 计算 正弦值

编程序求出 sin(π/2)、cos(87°)。
程序的要求:求 sin、cos 时可用如下公式进行迭代计算,
编两个函数分别起名为 mySin 和 myCos,计算 sin、cos 的值。
提示:当最后一项的绝对值小于 0.00001 时,累加结束。

 

  1. public class Test18 {
  2. public static void main(String[] args) {
  3. System.out.println(mySin(Math.PI / 2));
  4. System.out.println(myCos(Math.PI * 87 / 180));
  5. }
  6. public static double mySin(double x) {
  7. double sin;
  8. double sum = 0;
  9. for (int n = 0; ; n++) {
  10. double pow1 = Math.pow(-1, n);
  11. double pow2 = Math.pow(x, 2 * n + 1);
  12. int f = factorial(2 * n + 1);
  13. sin = (pow1 * pow2) / f;
  14. if (Math.abs(sin) < 0.00001) {
  15. break;
  16. }
  17. sum += sin;
  18. }
  19. return sum;
  20. }
  21. public static double myCos(double x) {
  22. double cos;
  23. double sum = 0;
  24. for (int n = 0; ; n++) {
  25. double pow1 = Math.pow(-1, n);
  26. double pow2 = Math.pow(x, 2 * n);
  27. int f = factorial(2 * n);
  28. cos = (pow1 * pow2) / f;
  29. if (Math.abs(cos) < 0.00001) {
  30. break;
  31. }
  32. sum += cos;
  33. }
  34. return sum;
  35. }
  36. //阶乘
  37. public static int factorial(int num) {
  38. int sum = 1;
  39. if (num == 0) {
  40. sum = 1;
  41. }
  42. for (int i = 1; i <= num; i++) {
  43. sum *= i;
  44. }
  45. return sum;
  46. }
  47. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/249217
推荐阅读
相关标签
  

闽ICP备14008679号