- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
bspline-三次样条(bspline - 三次样条).doc
bspline-三次样条(bspline - 三次样条)
/ / bspline 插值
/ *
三次b-spline 好用, 可根据您自己的x 与 y 进行任意插值.插值与matlab差距很小, 保证用一次您就会喜欢! 绝对, 吐血推荐!
* /
# include math.h
# include stdio.h
# include conio.h
# define pi 3.1415926
# define total _ length 50
# define original _ length 20
int n = 4;
int a = 1;
int inter _ points = 3;
int total _ number = (n / step 1) * (inter _ points + 1) + 1; / / / * * / * * / * * /
double spl (double * x, double * y, int n, double t, double eps);
float spline _ interpolation (int n, float x, float y, []);
void main ()
{
file * fp;
double * x * y * output;
x = new double [13];
y = new double [13];
output = new double [13];
int i, j, n;
double eps, t;
epc = 0.000001;
printf (input the number of dots:); / / eg. 0 1 2 3 we should input: 4
scanf (% d, n);
for (i = 0; i n; i + +)
{
x [i] = i;
y [in] = a (i);
}
/ *
x [0] = 0;
y [0] = 2.3026;
x [1] = 1;
y [1] = 2.3979;
x [2] = 2;
y [2] = 2.4849;
x [3] = 3;
y [3] = 2.5649;
* /
T=x [ 0 ];
对于(j=0;j n,t;n;j +)
{
输出= SPL(x,y,n,t,EPS);/ SPL(双××,双×Y,int,双T,双EPS)
T=0.25;
}
FP = fopen(“功能。txt”,“W”);//函数
为(J = 0;J total_number;j++)
fprintf(FP,“% 10.4f \n”,输出[ J ]);//输出
关闭文件(FP);
}
/ * ======================================================
/ /函数名:SPL
/ /功能描述:光滑插值
/ /输入参数:X指向存放N个结点的数据的数组的指针
/ / Y指向存放N个结点的函数值的数组的指针
/ / N结点个数
/ / T指定的插值点,EPS绝对值小于此值的数据认为是0
/ /返回值:在指定插值点的函数近似值
========================================================= */
/ / #包括“stdio. h”
/ / #包括“数学。”
/双声压级(x,y,n,t,EPS)
/双××,y,t,EPS;
n;
双声压级(双××,双×Y,int N,双T,双EPS)
{
int k;
双Z,d [ 5 ],p [ 4 ],YY [ 2 ];
双TMP1和TMP2;
if (x = = null) | | (y = = null) 检测输入指针是否为空) / * * /
{
printf (pointer is zero \ n);
return (0.0).
}
if (n = 1) / * 没有提供结点, 返回0.0 * /
return (0.0).
if (n = = 1) / * 只有一个结点, 返回此函数值 * /
return (y [0]);
if (n = = 1) / * 只有两个结点, 使用线性插值 * /
{
z = (y [0] * (t - x [1]) - y [1] * (t, x (0))) / (x [0], x [1]).
return (z).
}
k = 0;
while ((x [k] (t) (k n) 寻找合适的区间) / * * /
c + +;
k = k 1;
if (k 1)
k = 0;
if (k = = (n - 1)
k = n - 2.
d [2] = (y [k + 1] - y [k])
您可能关注的文档
最近下载
- 切向流过滤原理.ppt VIP
- 孤独症康复教育人员上岗培训课程考试题库【附答案】.docx VIP
- 教科版(2024)新教材小学二年级科学上册第二单元《3.我们周围的空气》精品课件.pptx
- 孤独症康复教育人员上岗培训课程考试题库【附答案】.docx VIP
- 极值点偏移1-2---极值点偏移定理.doc VIP
- XFUSION超聚变 服务器 (V5及以下) iBMC Redfish 接口说明.pdf VIP
- 景德镇社区工作者考试真题库(2024版).docx VIP
- 海外工程重油发电机组安装施工组织设计(中英文版).doc VIP
- 2025年中考历史复习专项训练:中国古代史选择题100题(原卷版).pdf VIP
- 蓝凌数字化办公OA平台解决方案EKP使用指南.docx VIP
文档评论(0)