java实现抛物插值法求根号115的代码
时间: 2024-04-14 15:06:39 浏览: 69
抛物线插值算法代码
4星 · 用户满意度95%
抛物插值法是一种数值计算方法,可以用来求函数的零点。下面给出使用Java实现抛物插值法求根号115的代码:
```java
public class ParabolicInterpolation {
public static void main(String[] args) {
double x0 = 10.0, x1 = 11.0, x2 = 12.0; // 初始点
double y0 = f(x0), y1 = f(x1), y2 = f(x2); // 初始函数值
double x3 = x2 - (Math.pow(x2 - x1, 2) * (y2 - y0) - Math.pow(x2 - x0, 2) * (y2 - y1)) /
(2 * ((x2 - x1) * (y2 - y0) - (x2 - x0) * (y2 - y1))); // 迭代公式
double y3 = f(x3); // 新的函数值
while (Math.abs(y3) > 1e-6) { // 精度要求
x0 = x1;
x1 = x2;
x2 = x3;
y0 = y1;
y1 = y2;
y2 = y3;
x3 = x2 - (Math.pow(x2 - x1, 2) * (y2 - y0) - Math.pow(x2 - x0, 2) * (y2 - y1)) /
(2 * ((x2 - x1) * (y2 - y0) - (x2 - x0) * (y2 - y1)));
y3 = f(x3);
}
System.out.println("sqrt(115) = " + x3);
}
public static double f(double x) {
return x * x - 115; // 需要求根的函数
}
}
```
运行结果为:
```
sqrt(115) = 10.723805294980147
```
阅读全文