用java编写一个数学函数,谢谢!编译通过了再加分!
x(n+1)=xn-((xn-x0)/(f(xn)-f(x0)))f(xn)f(x)=x^3-3x+1x0=2,x1=1,要求输入下标n的值就可以得出xn的值和f(x)的...
x(n+1)=xn-((xn-x0)/(f(xn)-f(x0)))f(xn) f(x)=x^3-3x+1 x0=2,x1=1,要求输入下标n的值就可以得出xn的值和f(x)的值,真的很感谢。
展开
2个回答
展开全部
大晚上的给你写代码,测试,俺容易嘛……你自己看看,反正我是测试通过了,望加分……
public class WangCaiNa {
//这里x用a代替
public static int f(int a){
return (a^3-3*a+1);
}
public static void main(String[] args){
//这里输入你想要的n值,我随便输入为10
int n = 10;
int[] x = new int[n+2];
x[0] = 2;
x[1] = 1;
for(int i=1;i<=n;i++){
x[i+1] = x[i]-((x[i]-x[0])/(f(x[i])-f(x[0])))*f(x[i]) ;
}
System.out.println("x["+n+"]="+x[n]);
System.out.println("f(x["+n+"])="+f(x[n]));
}
}
public class WangCaiNa {
//这里x用a代替
public static int f(int a){
return (a^3-3*a+1);
}
public static void main(String[] args){
//这里输入你想要的n值,我随便输入为10
int n = 10;
int[] x = new int[n+2];
x[0] = 2;
x[1] = 1;
for(int i=1;i<=n;i++){
x[i+1] = x[i]-((x[i]-x[0])/(f(x[i])-f(x[0])))*f(x[i]) ;
}
System.out.println("x["+n+"]="+x[n]);
System.out.println("f(x["+n+"])="+f(x[n]));
}
}
追问
谢谢,编译通过了。方程应该是f(x)=x^3-3x-1,我搞错了符号,f(x[4])=-0.007432421990540838,x5的时候,xn的值是正确的,f(5)的值-6.234072178870065E-4是这个,而我要的结果是n=6的值,请问要怎样得到正确的值?谢谢你
追答
哥们,我又给你弄了一会,哎……不过没搞出来,倒发现那个a^3不能这么写啊,简单点写a*a*a吧,对不住,到现在还没吃晚饭,饿了…………
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询