kml_float_spline_eval
这个函数返回给定点(x)的插值结果y。计算中使用插值对象interp,数据数组xarr,yarr以及加速器xacc。对于x在xarr的区间外,将返回报错信息。
接口定义
int kml_float_spline_eval_e(const kml_float_spline *spline, float x, kml_spline_accel *a, float *y)
float kml_float_spline_eval(const kml_float_spline *spline, float x, kml_spline_accel *a)
参数
参数名 |
类型 |
描述 |
输入/输出 |
|---|---|---|---|
spline |
kml_float_spline* |
插值对象指针 |
输入 |
x |
float |
求解点x的值 |
输入 |
y |
float |
求解点y的值 |
输入 |
a |
kml_spline_accel * |
加速器对象指针 |
输入 |
依赖
#include "kml_spline.h"
示例
const size_t xMin = 4;
const size_t xMax = 2048;
const size_t xSize = 4;
const float xValLo = 1;
const float xValHi = 2;
float xArr[4] = {1,1.33,1.67,2};
float* yArr = (float*)malloc(xSize * sizeof(float));
float x = 1;
float y = 0;
kml_float_spline *spline = kml_float_spline_alloc(kml_float_interp_cspline, xSize);
kml_interp_accel *xacc = kml_interp_accel_alloc();
kml_float_spline_init(spline, xSize, xArr, yArr);
y = kml_float_spline_eval(spline, xArr, x, xacc);
kml_float_spline_free(spline);
kml_interp_accel_free(xacc);
free_if_not_null(xArr);
父主题: spline