主要内容

csapi

三次样条插值

描述

例子

请注意

对于一个简单但不灵活的方法插入立方样条函数,试一试曲线更健康应用程序或适合函数,看看对平滑样条函数

= csapi (x,y)返回的ppform立方样条年代与结序列x需要的值y (:, j)x (j)j = 1:长度(x)。的值y (:, j)可以是标量、向量、矩阵和ND-arrays。函数的平均值与网站数据点相同的数据,然后通过其网站。与x结果排序数据网站,样条年代满足not-a-knot结束条件,如

j u p x ( 2 ) D 年代 3 = 0 = j u p x ( e n d 1 ) D 3 ( 年代 )

在哪里D3年代三阶导数的吗年代

如果x是一个单元阵列的序列x1、……xm的长度n1、……纳米,然后y是一个数组的尺寸吗(n1,…,海里)(或大小(d, n1,…,海里)如果interpolantd价值)。在这种情况下,的ppform吗立方样条interpolant年代这样的数据。特别是,

年代 ( x ( 1 ) , , x ( ) ) = y ( : , 1 , , )

1 = 1 : n l = 1 : n

执行操作在此插值三次样条,如评价、分化、策划,使用pp结构。有关更多信息,请参见fnval,曾经,fnplt功能。

例子

= csapi (x,y,xx)返回值的平滑样条评估点xx。这个语法是一样的fnval (csapi (x, y), xx)

这个命令是MATLAB®函数样条反过来,是一个精简版的Fortran程序CUBSPL动力,除了csapi(现在还样条)接受向量值数据和能处理网格数据。

例子

全部折叠

这个例子展示了如何使用csapi命令从构造三次样条曲线拟合工具箱™interpolants。

Interpolant两个点

命令

值= csapi (x, y, xx)

返回值xx三次样条的interpolant给定数据(x, y),使用not-a-knot结束条件。这个interpolant分段立方函数与序列x立方的片段连接在一起形成一个函数有两个连续的衍生品。“not-a-knot”结束条件意味着,在第一个和最后一个室内休息,甚至连三阶导数是连续的(舍入误差)。

只有两个数据点指定直线interpolant结果。

x = [0 1);y = 0 [2];xx = linspace (0, 6121);情节(xx csapi (x, y, xx),“k -”,x, y,“罗”)标题(“Interpolant两点”)

图包含一个坐标轴对象。坐标轴对象与标题Interpolant两点包含2线类型的对象。一个或多个行显示的值只使用标记

Interpolant三分

如果您指定三个数据点,函数输出一个抛物线。

x = [2 3 5];y = [1 0 4];情节(xx csapi (x, y, xx),“k -”,x, y,“罗”)标题(“Interpolant三分”)

图包含一个坐标轴对象。坐标轴对象与标题Interpolant三分包含2线类型的对象。一个或多个行显示的值只使用标记

Interpolant五分

更一般地,如果指定四个或五个数据点,三次样条函数输出。

x = [1 4.1 1.5 - 2 5];y = (1 1 1 1 1);情节(xx csapi (x, y, xx),“k -”,x, y,“罗”)标题(“立方样条Interpolant 5分”)

图包含一个坐标轴对象。坐标轴对象与标题三次样条Interpolant 5分包含2线类型的对象。一个或多个行显示的值只使用标记

舍入误差,假设x与至少有四个条目是一个矢量,声明吗页= csapi(x, y)把相同的样条以下语句,除了样条的描述获得第二个方法不使用优惠x (2)x (n - 1):

页= fn2fm (spapi (augknt (x ([1 3: (end-2)]), 4), x, y),“页”);

作为一个简单的二元的例子,画一个双三次的花键interpolant雷克子波。

x =。0001+ (-4:.2:4); y = -3:.2:3; [yy,xx] = meshgrid(y,x); r = pi*sqrt(xx.^2+yy.^2); z = sin(r)./r; bcs = csapi({x,y},z); fnplt(bcs) axis([-5 5 -5 5 -.5 1])

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的表面。

由于MATLAB®认为条目z (i, j)价值(x (j),y(我)),反转的代码xy在调用meshgrid。曲线拟合工具箱®相反而遵循近似理论的标准z (i, j)价值(x(我),y (j))。

出于这个原因,你必须小心当你策划值这样的二元样条与MATLAB的援助函数,如下所示:

xf = linspace (x(1),(结束),41);yf = linspace (y (1), y(结束),41);网格(xf、yf fnval (bcs, {xf、yf})。”)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的表面。

注意使用获得的值的矩阵的转置fnval

输入参数

全部折叠

数据的数据值y配合,指定为一个向量或作为多元单元阵列数据。样条f结在每个数据创建网站吗x这样f(x (j))=y (:, j)所有的值j

多元、网格数据,您可以指定x作为一个单元阵列,用于指定数据网站在每个变量维度:f(x1(我),x2 (j),……xn (k))=y (:, i, j,…, k)

数据类型:|

数据值,以适应在创建样条,指定为一个向量,矩阵,或数组。数据值y (:, j)可以是标量,矩阵,还是n维数组。数据值在相同的数据x是平均的。

数据类型:|

评估点的样条评估,指定为一个向量的向量或单元阵列多变量数据。样条进行评价fnval

数据类型:|

输出参数

全部折叠

在ppform花键,作为结构与这些字段返回。有关ppform的更多信息,请参阅的ppform

形式的花键,返回表明,样条分段多项式形式给出。

结样条的位置,作为一个向量或返回单元阵列为多元数据的向量。向量包含严格增加元素代表的开始和结束的每一个时间间隔的多项式定义。

多项式的系数对于每个块,返回一个矩阵或多元数据的数组。

返回的多项式描述花键,数作为一个标量或矢量的数字在每个变量的多元数据。

多项式函数的顺序描述每个多项式的样条,作为一个标量或矢量包含返回的顺序每个变量的多元数据。

维度的目标函数,作为一个标量返回。

评估花键,返回向量或矩阵或多元数据的数组。样条是在给定的评估点评估xx

算法

csapi的实现Fortran程序吗CUBSPL动力

三对角线性系统相关的算法结构,解决了使用MATLAB稀疏矩阵的能力。

算法还使用not-a-knot结束条件,迫使第一次和第二次多项式的interpolant一致,倒数第二个和最后一个多项式。

版本历史

介绍了R2006b

另请参阅

||