当前位置:   article > 正文

使用Java编写 使用泰勒展开式计算e的i次方_java biddecimal 计算e的次幂

java biddecimal 计算e的次幂
  1. public class Test01 {
  2. /**
  3. * 获取泰勒展开式的第num项
  4. * 通项为x的num次方除以num的阶乘
  5. * @param x
  6. * @param num
  7. * @return
  8. */
  9. public static double every(double x, int num) {
  10. double res = Math.pow(x, num) / func(num);
  11. return res;
  12. }
  13. /**
  14. * 获取e的x次方的值 具体值为泰勒展开式到num项
  15. * @param x
  16. * @param num
  17. * @return
  18. */
  19. public static double get(double x, int num) {
  20. double res = 0;
  21. for (int i = 0; i <= num; i++) {
  22. double every = every(x, i);
  23. res += every;
  24. }
  25. return res;
  26. }
  27. /**
  28. * 返回num的阶乘
  29. * @param num
  30. * @return
  31. */
  32. public static int func(int num) {
  33. int res = 1;
  34. for (int i = 1; i <= num; i++) {
  35. res *= i;
  36. }
  37. return res;
  38. }
  39. /**
  40. * 分别计算展开到0-50项的e的0.1次方的值
  41. * @param args
  42. */
  43. public static void main(String[] args) {
  44. for (int i = 0; i < 50; i++) {
  45. System.out.println(get(0.1, i));
  46. }
  47. }
  48. }

get函数为获取泰勒展开i项时候e的0.1次方

 

但是由于基本数据类型的限制后面的值变成了Infinity

可以改用BigDecimal类进行精确计算。

 

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

闽ICP备14008679号