博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
样条之埃特金(Aitken)逐步插值函数
阅读量:6211 次
发布时间:2019-06-21

本文共 1419 字,大约阅读时间需要 4 分钟。

 核心代码:

//// 埃特金逐步插值//static float GetValueAitken(const void* valuesPtr, int stride, int n, float t, float eps){     int i,j,k,m,l;    float z,xx[10],yy[10];    // 初值    z = 0.0f;    // 特例处理    if (n < 1)     {        return(z);    }    if (n == 1)     {         z = YfGetFloatValue(valuesPtr, stride, 0);          return(z);    }    float xStep = 1.0f/(n - 1);    // 开始插值    m=10;    if (m > n)     {        m = n;    }    if (t <= 0.0f)     {        k = 1;    }    else if (t >= (n-1)*xStep)     {        k = n;    }    else    {         k = 1;         j = n;        while ((k-j != 1) && (k-j != -1))        {             l = (k+j)/2;            if (t < (l-1)*xStep)                 j = l;            else                 k = l;        }        if (fabs(t-((l-1)*xStep)) > fabs(t-(j-1)*xStep))         {            k = j;        }    }    j = 1;     l = 0;    for (i = 1; i <= m; i++)    {         k = k+j*l;        if ((k<1) || (k>n))        {             l = l+1;             j = -j;             k = k+j*l;        }        xx[i-1] = (k-1)*xStep;         yy[i-1] = YfGetFloatValue(valuesPtr, stride, k - 1);        l = l+1;         j = -j;    }    i = 0;    do    {         i = i+1;         z = yy[i];        for (j = 0; j <= i-1; j++)        {            z = yy[j]+(t-xx[j])*(yy[j]-z)/(xx[j]-xx[i]);        }        yy[i] = z;    }     while ((i != m-1) && (fabs(yy[i]-yy[i-1]) > eps));    return(z);}

切图:

 

 

相关软件的下载地址为:

转载地址:http://ujsja.baihongyu.com/

你可能感兴趣的文章
癌细胞最偏爱10个字,你却每天都在喂养“它”!
查看>>
功能测试的国别差异(日本与欧美)
查看>>
我的友情链接
查看>>
ToRPC:一个双向RPC的Python实现
查看>>
Ubuntu 14 Open Ldap Add Root
查看>>
Vim脚本 - 竖线'|' 和反斜线'\'
查看>>
netty框架的学习笔记 + 一个netty实现websocket通信案例
查看>>
centos下yum安装ffmpeg
查看>>
磁盘超过2T无法用fdisk分区的问题
查看>>
我的友情链接
查看>>
nginx在reload时候报错invalid PID number
查看>>
asp 源码建站
查看>>
神经网络和深度学习-第二周神经网络基础-第二节:Logistic回归
查看>>
Myeclipse代码提示及如何设置自动提示
查看>>
配置OSPF发布聚合路由
查看>>
迭代器 -> 固定的思路. for循环
查看>>
RMQ 问题及解决算法
查看>>
UnicodeDecodeError gbk codec can't decode byte in position illegal multibyte sequence
查看>>
ssd存储的SLC、MLC、TLC闪存芯片颗粒有什么区别?
查看>>
Educational Codeforces Round 26 - A, B, C 思维
查看>>