java代码做出泰勒公式 泰勒公式编程

设计一个java程序,求泰勒公式COSx=1-x2/2!+x4/4!-x6/6!+x8/8!..

import java.util.Scanner;

创新互联建站专业为企业提供璧山网站建设、璧山做网站、璧山网站设计、璧山网站制作等企业网站建设、网页设计与制作、璧山企业网站模板建站服务,十载璧山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

public class Test{

public static void main(String[] args){

System.out.print("输入x:");

Scanner in=new Scanner(System.in);

double x=in.nextDouble();

System.out.println("cos"+x+"="+Taylor(x));

}//COSx=1-x2/2!+x4/4!-x6/6!+x8/8!..

public static double Taylor(double x){

int i,k;

long fac=1;//阶乘

double n=1,y=1,sum=1;

for(i=2;(Math.abs(y))=1e-8;i+=2)

{ n=n*(-1);

for(k=1;k=i;k++)

fac=fac*k;

y=Math.pow(x, i)*n/fac;

sum+=y;

fac=1;

}

return sum;

}

}

java编程 泰勒级数 x-x^3/3!+x^5/5!+...

//请采纳!

package com.cainiaoqi;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

double x = 0;

Scanner in = new Scanner(System.in);

System.out.print("请输入x:");

x = in.nextDouble();

System.out.println("sin("+x+") = "+calcsin(x));

static double calcsin(double x) {

double result = 0;

int temp = 0;

while((Math.pow(x,2*temp+1)/jiecheng(2*temp+1))  1.0E-8) {

result += (Math.pow(x,2*temp+1)/jiecheng(2*temp+1))*Math.pow(-1, temp);

temp ++;

// System.out.print("第"+temp+"次迭代!" );

// System.out.println(result);

}

return result;

}

static int jiecheng(int x) {

if(x==1)

return 1;

else 

return jiecheng(x-1)*x;

}

}

怎样用java通过泰勒展开

根本性的逻辑问题。

你也看到pi定义为使sin(x) = 0的最小正实数,

要从这个角度逼近Pi的话,应该尝试代入一系列递增的正实数x,直到sin(x)很小.

但是你只在main函数里取了x = 1,之后x的值就没变过。

即便条件满足了(其实是不可能的),也只能输出x = 1。

幂级数是用来计算sin(x)的,随着n的增大精度提高。

变量dRt的意义是级数的部分和,是随着n的增大而趋近sin(x)的。

但在dRt还没有充分接近sin(x)的时候,abs(dRt)lt;pow(10,-80)这个判断没有任何意义。

要按这个思路编的话,可以写一个用幂级数求sin(x)的函数(比如叫psin(x))。

然后在main里用二分法求x,直到psin(x)充分小。

不过因为需要多次计算psin(x),这种方法的效率很低。


当前题目:java代码做出泰勒公式 泰勒公式编程
URL链接:http://scjbc.cn/article/doogoig.html

其他资讯