1、 6 三次样条插值三次样条插值 1、三次样条插值函数的定义三次样条插值函数的定义 2、三次样条插值函数的构造、三次样条插值函数的构造 3、Matlab中有关三次样条插值中有关三次样条插值函数的命令函数的命令第五章第五章6 6 三次样条插值三次样条插值 2023-4-24第五章 第六节 三次样条插值22023-4-24第五章 第六节 三次样条插值32023-4-24第五章 第六节 三次样条插值42023-4-24第五章 第六节 三次样条插值52023-4-24第五章 第六节 三次样条插值62023-4-24第五章 第六节 三次样条插值72023-4-24第五章 第六节 三次样条插值82023-4
2、-24第五章 第六节 三次样条插值92023-4-24第五章 第六节 三次样条插值102023-4-24第五章 第六节 三次样条插值112.三次样条函数的构造三次样条函数的构造2023-4-24第五章 第六节 三次样条插值122023-4-24第五章 第六节 三次样条插值132023-4-24第五章 第六节 三次样条插值142023-4-24第五章 第六节 三次样条插值152023-4-24第五章 第六节 三次样条插值162023-4-24第五章 第六节 三次样条插值172023-4-24第五章 第六节 三次样条插值182023-4-24第五章 第六节 三次样条插值192023-4-24第五章
3、 第六节 三次样条插值202023-4-24第五章 第六节 三次样条插值212023-4-24第五章 第六节 三次样条插值222023-4-24第五章 第六节 三次样条插值232023-4-24第五章 第六节 三次样条插值242023-4-24第五章 第六节 三次样条插值252023-4-24第五章 第六节 三次样条插值262023-4-24第五章 第六节 三次样条插值272023-4-24第五章 第六节 三次样条插值282023-4-24第五章 第六节 三次样条插值292023-4-24第五章 第六节 三次样条插值302023-4-24第五章 第六节 三次样条插值312023-4-24第五章
4、 第六节 三次样条插值322023-4-24第五章 第六节 三次样条插值333.Matlab命令命令PP =CSAPE(X,Y,CONDS)或PP =CSAPE(X,Y,CONDS,VALCONDS)-对各种边界条件以pp形式给出三次样条插值函数。习题五 17(1)x=0 1 2 3;y=0 0 0 0;cs=csape(x,1,y,0,1 1);%或 cs=csape(x,y,1 1,1 0);%或 cs=spline(x,1,y,0);%spline只对这种边界条件适用%1 1表示两个端点x=0和x=3上都给出一阶导数%cs是结构型变量(构架数组)2023-4-24第五章 第六节 三次样条
5、插值34 介绍两种数据类型介绍两种数据类型一 单元型变量(元胞数组)定义 以任意形式的数组为元素的多维数组称为单元型变量或元胞数组(cell).建立方法 直接赋值或用命令cell.例1 A=cell(1,3)例2 A=1 2;3 4;B=1:5,A,sdfg显示元素值 B1,1 B1,2可以自身嵌套 C=1:6,A,B2023-4-24第五章 第六节 三次样条插值35与其他数据类型的转换命令:mat2cell,cell2mat,num2cell,cell2struct,struct2cell 等.例3 矩阵分块 A=1 2 3 4 5 6;7 8 9 0 1 2;9 8 7 6 5 4 B=m
6、at2cell(A,1 2,3 3)B2,1二 结构型变量(构架数组)定义 结构型变量(struct)的定义类似于单元型变量,作用相当于数据库中的记录,可以用来存储一系列相关的数据。2023-4-24第五章 第六节 三次样条插值36建立方法 直接赋值或用命令struct.例1 A=struct(name,Zhang San,age,20,sex,male)(每个结构型变量都有几个“域”,例1中有三个,name,age,sex为域名)显示元素值 A(1)A(2).name=Wang Wu;可以自身嵌套 B=struct(a,1,b,A)增添域 A(1).address=building 2_20
7、2删除域 A=rmfield(A,address)2023-4-24第五章 第六节 三次样条插值37回到习题五 17(1)x=0 1 2 3;y=0 0 0 0;cs=csape(x,1,y,0,1 1)cs=%cs是结构型变量(构架数组)form:pp%cs以pp(piecewise polynomial)形式%给出 breaks:0 1 2 3%分段区间端点 coefs:3x4 double%分段多项式系数矩阵 pieces:3%分成3段 order:4%4阶(三次)多项式 dim:1%一维(一元函数)2023-4-24第五章 第六节 三次样条插值38 cs.coefsans=0.7333
8、 -1.7333 1.0000 0 -0.2000 0.4667 -0.2667 0 0.0667 -0.1333 0.0667 0%S1(x)=0.7333x3-1.7333x2+x,x in 0,1%S2(x)=-0.2(x-1)3+0.4667(x-1)2-0.2667(x-1),%x in 1,2%S3(x)=0.0667(x-2)3-0.1333(x-2)2+0.0667(x-2),%x in 2,32023-4-24第五章 第六节 三次样条插值39%验证书末答案正确:syms t x;sym2poly(simplify(expand(x*(1-x)*(15-11*x)/15)ans
9、=0.7333 -1.7333 1.0000 0 sym2poly(simplify(expand(t*(t-1)*(4-3*t)/15)%设 t=x-1ans=-0.2000 0.4667 -0.2667 0 sym2poly(simplify(expand(t-1)2*t/15)%设 t=x-2ans=0.0667 -0.1333 0.0667 02023-4-24第五章 第六节 三次样条插值40利用函数利用函数spline画一只手画一只手先执行下列命令:figure(position,get(0,screensize)axes(position,0 0 1 1)x,y=ginput;然后用计算机鼠标选取一系列点勾勒出手的轮廓,再用以下命令画出结果:n=length(x);s=(1:n);t=(1:0.05:n);u=spline(s,x,t);v=spline(s,y,t);figure(1);plot(x,y,.,u,v,-);2023-4-24第五章 第六节 三次样条插值42