MATLAB来做三次样条插值,如何得到插值的函数表达式?

 我来答
Yueyue元
高粉答主

2018-01-09 · 关注我不会让你失望
知道大有可为答主
回答量:138
采纳率:100%
帮助的人:2.7万
展开全部

x=[1:1:10];

y=[2:2:20];

pp=interp1(x,y,'spline','pp') 

breaks=pp.breaks 

coefs=pp.coefs 

三次样条插值(Cubic Spline Interpolation)简称Spline插值,是通过一系列形值点的一条光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组的过程。

实际计算时还需要引入边界条件才能完成计算。一般的计算方法书上都没有说明非扭结边界的定义,但数值计算软件如Matlab都把非扭结边界条件作为默认的边界条件。

在工程上,构造三次样条插值函数通常有两种方法:

一是以给定插值结点处得二阶导数值作为未知数来求解,而工程上称二阶导数为弯矩,因此,这种方法成为三弯矩插值。

二是以给定插值结点处得一阶导数作为未知数来求解,而一阶导数右称为斜率,因此,这种方法称为三斜率插值。

益彬漆雕念云
2020-02-20 · TA获得超过3802个赞
知道大有可为答主
回答量:3187
采纳率:34%
帮助的人:202万
展开全部
>>
x=[0.2:0.2:1.0];
y=[0.98
0.92
0.81
0.64
0.38];
>>
pp=spline(x,y)
>>
pp.coefs
ans
=
-0.1042
-0.5625
-0.1833
0.9800
-0.1042
-0.6250
-0.4208
0.9200
-0.7292
-0.6875
-0.6833
0.8100
-0.7292
-1.1250
-1.0458
0.6400
返回的是三次样条插值函数每段的系数,三次样条插值每段是三次多项式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青色毒苹果
2018-01-09 · TA获得超过5437个赞
知道小有建树答主
回答量:34
采纳率:100%
帮助的人:5388
展开全部

>> x=[0.2:0.2:1.0];
y=[0.98 0.92 0.81 0.64 0.38];
>> pp=spline(x,y)
>> pp.coefs
ans =
-0.1042 -0.5625 -0.1833 0.9800
-0.1042 -0.6250 -0.4208 0.9200
-0.7292 -0.6875 -0.6833 0.8100
-0.7292 -1.1250 -1.0458 0.6400
是三次样条插值函数每段的系数,三次样条插值每段是三次多项式.

下面是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如何判断命令运行完毕

Matlab窗口的左下角,刚启动Matlab时是Initializing...;

启动完毕之后是Ready;

正在运行程序则是Busy;

没有显示则是空闲状态。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式