KIPL_Bsnak
计算“非节点”样条线节点序列。
接口定义
void KIPL_Bsnak(int nData, float *xData, int k, float *xKnot)
参数
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
nData |
整型数 |
表示xData数组元素个数。 |
输入 |
xData |
单精度浮点数组 |
长度为nData的数组,表示数据点的横坐标。 |
输入 |
k |
整型数 |
表示样条的阶数。 |
输入 |
xKnot |
单精度浮点数组 |
长度为nData+k的数组,表示生成的节点序列。 |
输出 |
依赖
#include "kipl.h"
示例
#include <stdio.h> #include <math.h> #include "kipl.h" int main() { int data_n = 11; float data_x[data_n]; float data_y[data_n]; for (int i = 0; i < data_n; i++) { data_x[i] = (float)(i) / (data_n - 1); data_y[i] = sin(15.0 * data_x[i]); } int test_n = 2 * data_n - 1; float test_x[test_n]; float test_y[test_n]; for (int i = 0; i < test_n; i++) { test_x[i] = (float)(i) / (test_n - 1); test_y[i] = sin(15.0 * test_x[i]); } int k = 3; float bscoef[data_n], xknot[data_n + k]; KIPL_Bsnak(data_n, data_x, k, xknot); KIPL_Bsint(data_n, data_x, data_y, k, xknot, bscoef); for (int i = 0; i < test_n; i++) { float y; float x = test_x[i]; y = KIPL_Bsval(x, k, xknot, data_n, bscoef); } return 0; }
父主题: basis样条函数