用java设计程序,急!!
题目是用迭代法计算x=a开三次方立方根求解迭代公式:x1=2/3*x0+a除以3*x0的平方的积初值x0可取a,精度0.00001...
题目是用迭代法计算x=a开三次方 立方根求解迭代公式:x1=2/3*x0+a除以3*x0的平方的积 初值x0可取a,精度0.00001
展开
展开全部
我能吐嘈迭代式都搞错了么。。。
下面是样例代码
import java.io.IOException;
public class math {
public static void main(String[] args){
double a = 0;
byte[] b = new byte[1024];
try {
System.out.println("please input the number");
System.in.read(b);
} catch (IOException e) {
e.printStackTrace();
}
if(b.length > 0){
String s = new String(b);
a = Double.parseDouble(s);
double x0 = a;
double x1 = fun(x0);
System.out.println("输入的参数为:" + x0);
System.out.println("最终求出来的值为:" + x1);
}else{
System.out.println("输入的数据长度必须大于或等于1位");
}
}
public static double fun(double d){
double f0 = -1,f1 = -1,x = -1;
double x0 = -1;
int times = 0;
do{
x0 = x;
f0 = x*x*x -d;
f1 = 3*x*x;
x = x0 - f0/f1;
times++;
System.out.println("迭代X0的值为:" + x0 + "\tX1的值为:" + x);
}while(Math.abs(f0) >= 0.000001);
System.out.println("迭代次数为:" + times);
return x;
}
}
下面是样例代码
import java.io.IOException;
public class math {
public static void main(String[] args){
double a = 0;
byte[] b = new byte[1024];
try {
System.out.println("please input the number");
System.in.read(b);
} catch (IOException e) {
e.printStackTrace();
}
if(b.length > 0){
String s = new String(b);
a = Double.parseDouble(s);
double x0 = a;
double x1 = fun(x0);
System.out.println("输入的参数为:" + x0);
System.out.println("最终求出来的值为:" + x1);
}else{
System.out.println("输入的数据长度必须大于或等于1位");
}
}
public static double fun(double d){
double f0 = -1,f1 = -1,x = -1;
double x0 = -1;
int times = 0;
do{
x0 = x;
f0 = x*x*x -d;
f1 = 3*x*x;
x = x0 - f0/f1;
times++;
System.out.println("迭代X0的值为:" + x0 + "\tX1的值为:" + x);
}while(Math.abs(f0) >= 0.000001);
System.out.println("迭代次数为:" + times);
return x;
}
}
2014-05-23
展开全部
路过.............................................
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-05-21
展开全部
代进去,得到最简化算式,再用JAVA计算。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询