1、如何用编程实现三次样条函数

用MatLab

2、如何用Excel进行三次样条函数拟合

安照要求先制作数据表,再插入图表----曲线(也就是折线)系统会自动生成图表的,再设置一下效果!

3、三次样条插值函数求得以后,怎么算出具体的点

3次样条函数求出后是许多分段的函数,还需要判断x值所在不同小区间,再代入各自区间的分段3次样条函数才能求出不同区间的y值。

4、二元三次样条函数的一般表达式是什么形式?

一.【基本概念与性质】

形如y=ax^3+bx^2+cx+d(a≠0,b,c,d为常数)的函数叫做三次函数。

三次函数的图像是一条回曲线----回归式抛答物线(不同于普通抛物线),具有比较特殊性。

函数y=f(x)=ax^3+px,其中p=(3ac-b^2)/(3a)的函数图像向上平移(2b^3+27da^2-9abc)/(27a^2)个单位,在向左平移b/(3a)个单位可得函数y=ax^3+bx^2+cx+d。

这里以f(x)=ax^3+px为例,其它复杂的三次函数皆可平移成此形式,且一般只会出现在应用方面,可忽略。

函数f(x)=ax^3+px的顶点最多有2个,这里只探讨偏右的一个。

*当ap≤0时,顶点坐标为[(-3ac)^(0.5)/(3a),2b(-3ac)^(0.5)/(9a)]

*当ap≥0时,顶点与伪顶点重合,为(0,0)

5、三次样条函数的求导过程,及程序请帮忙指导一下

这个可以参考一下。

已知速度曲线v(t) 上的四个数据点下表所示

基本原理:

利用插值(即求过已知有限个数据点的近似函数)的基本原理,用多项式作为研究插值的工具,进行代数插值。其基本问题是:已知函数f (x)在区间[a,b]上n +1个不同点x0,…,xn处的函数值 (i = 0,1,…,n),求一个至多n 次多项式 ψn(x)

使其在给定点处与 f (x)同值,即满足插值条件: ψn(x)= = .

许多工程技术中提出的计算问题对插值函数的光滑性有较高要求,如飞机的机翼外

形,内燃机的进、排气门的凸轮曲线,都要求曲线具有较高的光滑程度,不仅要连续,

而且要有连续的曲率,这就导致了样条插值的产生。

数学上将具有一定光滑性的分段多项式称为样条函数。具体地说,给定区间[a,b]

的一个分划

Δ:

如果函数s(x) 满足:

(i)在每个小区间[ ](i=0,1,…,n)上s(x)是k 次多项式;

(ii)s(x)在[a,b]上具有k −1阶连续导数。

则称s(x)为关于分划Δ 的k 次样条函数,其图形称为k 次样条曲线。

基本思路:

根据插值的基本原理,先对v进行三次样条插值,可以得到许多v(t)的值;然后根据积分的基本原理,分割、近似、求和、取极限,可以求得积分。根据求导原理,因变量的微小变化量与自变量变化量的商,可以求得所求点的导数值。

程序代码:

t0=[0.15 0.16 0.17 0.18];v0=[3.5 1.5 2.5 2.8];
t=0.15:0.0001:0.18;
%三次样条插值;
v=interp1(t0,v0,t,'spline');
v=spline(t0,v0,t);
pp=csape(t0,v0,'second');v=ppval(pp,t)% 使用csape函数;
S=sum(v)*0.0001;%求积分值
T=(v(301)-v(300))/0.0001;%求导数值
Plot(t0,v0,’*’,t,v);
6、试求a和b的值,使得s是以0 1 2为结点的三次样条函数
设三次样条函来数y=ex^3+bx^2+cx+d;
-a=-8ea^源3+4ba^2-2ca+d (1)
-a^3e+a^2b-ac+d=0 (2)
d=0; (3)
a^3e+a^2b+ac+d=0; (4)
8ea^3+4ba^2+2ac+d=a (5)
y'=3ex^2+4bx+c
y'(x=0)=c=1
所以y=ex^3+bx^2+x
0=ea^3+ba^2+a=a(ea^2+ba+1)
y'(x=a)=3ea^2+4ba+1=1
3ea^2+4ba=0---->a=0或3ea+4b=0;
(5)-(1),a^2b=0---->a=0或者b=0;
因为是三次样条函数,所以e~=0;若a=0,e、b的值将无法确定。若b=0;
y=ex^3+x
y(x=a)=ea^3+a=0
e=-1/a^2
y'(x=a)=3ea^2+1=-3+1=-2~=1;
无满足条件的三次样条函数。
所以a=0、
y=ex^3+bx^2+x,e~=0 ,b为任意值。
7、matlab中spline求三次样条插值的函数表达式
x = -4:4; y = [0 .15 1.12 2.36 2.36 1.46 .49 .06 0];
cs = spline(x,[0 y 0]);
xx = linspace(-4,4,101);
plot(x,y,'o',xx,ppval(cs,xx),'-');

例如上述matlab自带的例子,

cs.breaks是各段拟合曲线的段点,如上述代码,结果为[-4 -3 -2 -1 0 1 2 3 4]

cs.coefs是给段拟合曲线的拟合系版数,[-4 -3]这段区间权的曲线表达式为

y = 0.2034*(x+4)^3  - 0.0534*(x+3)^2

8、怎样求出三次样条函数(Matlab)??

三次样条函数哪有解析式啊?这本来就是若干段曲线平滑连接成的更回长的曲线,分那么多段怎答么可能有解析式呢。

如果曲线还算比较规则,那用数据拟合一下试试。

多项式拟合可以用ployfit()函数,去查查这方面的资料吧,一句话两句话说不完的。

9、三次样条曲线是指?用来干什么?

所谓样条曲线是来指给定一组控制点源而得到一条曲线,曲线的大致形状由这些点予以控制,一般可分为插值样条和逼近样条两种,插值样条通常用于数字化绘图或动画的设计,逼近样条一般用来构造物体的表面

阶数与次数有关,样条曲线的阶是样条曲线的次数加一。样条曲线的阶越高,控制点越多。二次样条的阶数是三,样条曲线段与三个控制点决定;三次样条的阶数是四,样条曲线段与四个控制点决定。

MATLAB中实现三次样条

使用内置函数spline可以计算三次样条,一般用法是:

yy=spline(x,y,xx)

其中x和y是由待插值量组成的向量,yy是根据样条插值函数在向量xx处计算的结果向量。

注意spline默认使用非节点边界条件,如果y中变量数目比x多两个时,那么y的第一个和最后一个值将作为端点处的导数值,从而使用固定边界条件。

10、高分求解:三次样条函数

^^^设三次样条函数y=ex^3+bx^2+cx+d;

-a=-8ea^3+4ba^2-2ca+d (1)

-a^3e+a^2b-ac+d=0 (2)

d=0; (3)

a^3e+a^2b+ac+d=0; (4)

8ea^3+4ba^2+2ac+d=a (5)

y'=3ex^2+4bx+c

y'(x=0)=c=1

所以版y=ex^3+bx^2+x

0=ea^3+ba^2+a=a(ea^2+ba+1)

y'(x=a)=3ea^2+4ba+1=1

3ea^2+4ba=0---->a=0或3ea+4b=0;权

(5)-(1),a^2b=0---->a=0或者b=0;

因为是三次样条函数,所以e~=0;若a=0,e、b的值将无法确定。若b=0;

y=ex^3+x

y(x=a)=ea^3+a=0

e=-1/a^2

y'(x=a)=3ea^2+1=-3+1=-2~=1;

无满足条件的三次样条函数。

所以a=0、

y=ex^3+bx^2+x,e~=0 ,b为任意值。