社区
C语言
帖子详情
求三次样条插值的算法和三次样条曲线画法
hotscaner
2004-11-04 09:18:22
请高手们帮帮我吧,我调试三次样条插值算法头都大了,实在是一时写不出了,那位GG、MM有这方面的东西给我发一份吧!不胜感谢。我的Email: yuejianpo@163.com
也可以贴在这里,谢谢了!!!!!!!!
...全文
576
13
打赏
收藏
求三次样条插值的算法和三次样条曲线画法
请高手们帮帮我吧,我调试三次样条插值算法头都大了,实在是一时写不出了,那位GG、MM有这方面的东西给我发一份吧!不胜感谢。我的Email: yuejianpo@163.com 也可以贴在这里,谢谢了!!!!!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hotscaner
2004-11-09
打赏
举报
回复
to 021850524(吸血鬼牌卫生巾) :你能不能给我加点注释,比如说你定义的变量以及一些循环体的含义,我一定给分!
cao12m
2004-11-07
打赏
举报
回复
算法 很简单 给三个点 +上边界条件 四个方程 四个系数 正好能截出一个三次函数
021850524
2004-11-06
打赏
举报
回复
给你抄的,不知道有没有用.
021850524
2004-11-06
打赏
举报
回复
//计算插值函数在插值点的函数值
void splint(double xa[], double ya[], double y2a[], int n, double& x, double& y)
{
int klo,khi,k;
double h,a,b,aaa,bbb;
klo = 1;
khi = n;
loop: if (khi - klo > 1 )
{
k = (khi + klo) / 2;
if (xa[k] > x)
khi = k;
else
{
klo = k;
}
goto loop;
}
h = xa[khi] - xa[klo];
if (h == 0 )
{
cout<<" pause 'bad xa input'"<<endl;
return;
}
a = (xa[khi] - x) / h;
b = (x - xa[klo]) / h;
aaa = a * ya[klo] + b * ya[khi];
bbb = (a*a*a - a) * y2a[klo] + (b*b*b - b) * y2a[khi];
y = aaa + bbb * h*h /6.0;
}
021850524
2004-11-06
打赏
举报
回复
//计算插值函数在节点处的导数值
void spline(double x[], double y[], int n, double yp1,double ypn, double y2[])
{
double u[100],aaa,sig,p,bbb,ccc,qn,un;
int i,k;
if( yp1 > 9.9e+29 )
{
y2[1] = 0;
u[1] = 0;
}
else
{
y2[1] = -0.5;
aaa = (y[2] - y[1]) / (x[2] - x[1]);
u[1] = (3.0 / (x[2] - x[1])) * (aaa - yp1);
}
for (i = 2; i<=n-1; i++)
{
sig = (x[i] - x[i - 1]) / (x[i + 1] - x[i - 1]);
p = sig * y2[i - 1] + 2.0;
y2[i] = (sig - 1.0) / p;
aaa = (y[i + 1] - y[i]) / (x[i + 1] - x[i]);
bbb = (y[i] - y[i - 1]) / (x[i] - x[i - 1]);
ccc = x[i + 1] - x[i - 1];
u[i] = (6.0 * (aaa - bbb) / ccc - sig * u[i - 1]) / p;
}
if (ypn > 9.9e+29 )
{
qn = 0.0;
un = 0.0;
}
else
{
qn = 0.5;
aaa = ypn - (y[n] - y[n - 1]) / (x[n] - x[n - 1]);
un = (3.0/ (x[n] - x[n - 1])) * aaa;
}
y2[n] = (un - qn * u[n - 1]) / (qn * y2[n - 1] + 1.0);
for (k = n - 1;k>=1;k--)
y2[k] = y2[k] * y2[k + 1] + u[k];
}
hotscaner
2004-11-06
打赏
举报
回复
只要参与的都有分的,帮帮忙,给我顶贴子也行啊!!!
hotscaner
2004-11-05
打赏
举报
回复
兄弟们,帮我顶呀!俺可是翘首以盼啊!
wxaxiao
2004-11-05
打赏
举报
回复
学习
shipfi
2004-11-05
打赏
举报
回复
二楼,看看这边,不知道对你有没有帮助:http://www.programsalon.com/download.asp?type_id=36
FoxMale007
2004-11-05
打赏
举报
回复
关注一下
hotscaner
2004-11-05
打赏
举报
回复
我给自己再顶上一次!
一叶还真不知秋
2004-11-05
打赏
举报
回复
好像很多书上都有,你还没找到,我帮你找一找。
shipfi
2004-11-05
打赏
举报
回复
再帮楼主顶一次。
MATLAB
三次
样条
插值
算法
MATLAB
三次
样条
插值
算法
,MATLAB雷克萨斯资源
三次
样条
插值
算法
C++源代码
三次
样条
插值
算法
C++源代码,经验证正确无误,运行速度快,解决了实用性简单化问题,欢迎下载使用和交流分享,共同促进学习进步。
Python统计与数据分析实战
数据分析模型,特别是当前比较主流的
算法
:参数估计、假设检验、线性回归、广义线性回归、Lasso、岭回归、广义可加模型、回归
样条
等;机器学习经常用到的主成分分析、因子分析、典型相关分析、聚类分析等;各种非...
三次
样条
插值
算法
的C++实现
用C++实现
三次
样条
插值
算法
, This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A ...
代码
三次
样条
插值
代码 代码
三次
样条
插值
代码
代码
三次
样条
插值
代码代码
三次
样条
插值
代码代码
三次
样条
插值
代码代码
三次
样条
插值
代码代码
三次
样条
插值
代码代码
三次
样条
插值
代码代码
三次
样条
插值
代码代码
三次
样条
插值
代码代码
三次
样条
插值
代码代码
三次
...
C语言
69,379
社区成员
243,075
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章