二次线性插值多项式c语言
时间: 2023-10-26 14:15:53 浏览: 373
以下是一个简单的二次线性插值多项式的 C 语言代码示例:
```
#include <stdio.h>
double quad_interp(double x[], double y[], int n, double x0)
{
int i, j;
double sum = 0.0, prod;
for (i = 0; i < n; i++) {
prod = y[i];
for (j = 0; j < n; j++) {
if (i != j) {
prod *= (x0 - x[j]) / (x[i] - x[j]);
}
}
sum += prod;
}
return sum;
}
int main()
{
double x[] = {0.0, 1.0, 2.0}; // x 坐标
double y[] = {0.0, 1.0, 4.0}; // y 坐标
int n = 3; // 点数
double x0 = 1.5; // 插值点
double y0 = quad_interp(x, y, n, x0);
printf("f(%f) = %f\n", x0, y0);
return 0;
}
```
这个代码示例假设有三个点 (0,0)、(1,1)、(2,4),并且要在 $x=1.5$ 处进行插值。函数 `quad_interp` 实现了二次线性插值多项式的计算,它接受四个参数:$x$ 坐标数组、$y$ 坐标数组、点数 $n$ 和插值点 $x0$,并返回插值点的函数值 $y0$。在 `main` 函数中,我们调用 `quad_interp` 并打印结果。
阅读全文