首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gsl akima样条插值误差

gsl akima样条插值误差
EN

Stack Overflow用户
提问于 2014-12-10 01:20:55
回答 3查看 1.2K关注 0票数 0

我得到一个'gsl: interp.c:150: ERROR:插值错误‘,代码如下。一些谷歌搜索表明,当您尝试使用interp函数进行外推时,会出现此错误,但我不明白这是如何发生的。我们将非常感谢您的帮助。谢谢。

函数randomground()只返回一个随机数(double)。

代码语言:javascript
运行
复制
#define NSTEPS 100   

int main()
{
           int j, q, space = 1, refine = 100;
           double xi = 0.0, tx[2*NSTEPS] = {0}, theight[2*NSTEPS] = {0};

           double terrain[(int) (2*NSTEPS*100)] = {0};
           double terrainsl[(int) (2*NSTEPS*100)] = {0};

            for (j = 0; j < 2*NSTEPS; j++)
            {
                tx[j] = (double) j*space;
                theight[j] = randomground();
            }

            gsl_interp_accel *acc = gsl_interp_accel_alloc();
            gsl_spline *spline = gsl_spline_alloc(gsl_interp_akima, 2*NSTEPS);
            gsl_spline_init(spline, tx, theight, 2*NSTEPS);

            for (q = 0; q< 2*NSTEPS*100; q++)
            {
                terrain[q] = gsl_spline_eval(spline,xi,acc);
                terrainsl[q] = gsl_spline_eval_deriv(spline,xi,acc);
                xi = xi+(double) space/refine;
            }
return 0;
}
EN

Stack Overflow用户

发布于 2015-03-30 01:54:50

Akima样条是一种局部的、子样条插值。对于函数f(x),如果您尝试获取x_i <= x <= x_i+1x的值,则Akima需要用于j = i-2, i-1, i, i+1, i+2, i+3.(x_j, f_j)

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27384929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档