三次样条插值 C++程序

三次样条插值 C++程序,第1张

#include<iostream.h>

#include<iomanip.h>铅配

#include<math.h>

void main()

{

float a[37],b[37]

cout<<""<<"度数"<<" "<<"sin(x)值"<<" "<<"一阶导值"<<""<<"槐坦指二阶导值"<<endl

for(int i=0i<37i++)

cout<<setw(11)<<setprecision(3)

<<10*i

<<setw(11)<<setprecision(3)

<<sin(i*31.4/180)

<<setw(11)<<setprecision(3)

<<cos(i*31.4/180)

<<setw(11)<<setprecision(3)

<<-sin(i*31.4/180)

<<endl

cout<<信迹"一个周期内的积分值:0"<<endl

}

void SPL(int n, double *x, double *y, int ni, double *xi, double *yi); 是你所要。

已知 n 个点 x,y x 必须已按袭搭顺序排好。要插值 ni 点,横坐标 xi[], 输出 yi[]。

程序里用double 型,拍卖拿保证计算精度。

SPL调用现成的程序

现成的程序很多。端点处理方法配谈不同,结果会有不同。想同matlab比较,你需 尝试 调用 spline()函数 时,令 end1 为 1, 设 slope1 的值,令 end2 为 1 设 slope2 的值。

spline函数可以实现三次样条插值

x=0:10

y=sin(x)

xx=0:.25:10

yy=spline(x,y,xx)

plot(x,y,'o',xx,yy)

另外fnpltcsapi这两个函数也隐缺是三次样条插值函数郑枝,具体你可以help一下!

现在电脑上没有matlab,一会给你程序,灶丛辩呵呵!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12564953.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存