主要内容

ppmak

放在一起在ppform花键

语法

ppmak(休息,系数)
ppmak
ppmak(优惠系数d)
sizec ppmak(优惠系数)

描述

命令ppmak (…)将样条的ppform从最小的信息,其余推断的信息。fnbrk提供完成的任何或所有的部分描述。这样,实际的数据结构用来存储ppform很容易对各种修改没有任何影响fn……命令,使用这种结构。然而,普通用户不太可能使用ppmak明确,而是依靠各种样条建设命令工具箱构建特定的样条函数。

ppmak(休息,系数)返回指定的花键的ppform打破信息休息时间和系数的信息系数。这些信息是如何解释取决于函数是单变量或多变量,所表示的吗休息时间作为一个序列或一个单元阵列。

如果休息时间是一个序列,它必须不减少的,其第一项不同。然后函数被认为是单变量,各个部分的ppform决定如下:

  1. 数量l多项式的计算长度(休息)- - - - - -1,基本的间隔,相应地,间隔(优惠(1)。。休息(l + 1)]

  2. 维度d函数的目标是采取的行数系数。换句话说,每一列的系数是一个系数。更明确,系数(:,我* k + j)被认为包含了吗jth系数的(i + 1)圣多项式块(与第一个系数最高kth系数最低,或常数系数)。因此,有吉隆坡列的数量系数,订单k分段多项式的计算修复(kl / l)

在那之后,的条目系数会重新排序,由命令

系数=重塑(排列(重塑(系数[d、k、l]), [1 3 2]), (d * l k))

为了符合内部解释的系数阵ppform一元样条。这只适用于当您使用语法ppmak(休息,系数)在哪里休息时间是一个序列(行向量),而不是当它是一个单元阵列。排列并不是当你使用three-argument形式的ppmak。three-argument形式只有重塑完成,不是交换。

如果休息时间是一个单元阵列,长度吗,那么函数被认为是变量(张量积),和它的各个部分ppform决心从输入如下:

  1. 向量l已经长度(减免{我})1作为它的th条目,相应地,细胞阵列的基本时间间隔的时间间隔(优惠{我}(1). .减免{我}(结束)作为它的条目。

  2. 维度d的目标和功能向量k(坐标态多项式)订单的部分直接从的大小了系数,如下所示。

    1. 如果系数是一个维数组,函数是纯量值,即,d1,向量k是计算大小(系数)。/ l。在那之后,系数重塑的命令吗系数=重塑(系数(1、大小(系数)))

    2. 如果系数是一个(r + m维数组,sizec =大小(c)说,然后d被设置为sizec (1: r),向量k是计算sizec (r + (1: m)) / l。在那之后,系数重塑的命令吗系数=重塑(系数,(prod (d), sizec (r + (1: m))))

然后,系数被解释为一个等价的尺寸吗(d, l (1)、k (1), (2), k (2),…, l (m), k (m)),其(我(1):r(1),(2),(2),…,我(m), r (m))项的系数

μ = 1 ( x ( μ ) 休息| μ ] ( ( μ ) ) ) ( k ( μ ) r ( μ ) )

在本地函数的多项式表示的(超)矩形

( 休息时间 | μ ] ( ( μ ) ) 。。 休息时间 | μ ] ( ( μ ) + 1 ) ] , μ = 1 :

事实上,这是内部的解释系数阵的ppform多元样条。

ppmak提示输入休息时间系数

ppmak(优惠系数d)d一个正整数,也把在一起的ppform花键的信息提供,但预计单变量的函数。在这种情况下,系数采取的尺寸吗(d * l k),l获得,长度(减免)1,这决定了订单,k的样条。用这个,系数(我* d + j,:)了是吗jth组件的系数向量(我+ 1)圣多项式。

sizec ppmak(优惠系数)sizec一个行向量的正整数,也将一起ppform花键的提供的信息,但解释系数的大小sizec(并返回一个错误刺激(大小(系数)不同于刺激(sizec))。这个选项是非常重要的,只有在罕见的情况下,输入参数系数是一个数组与一个或多个单维度。因为,MATLAB®抑制拖单维度,因此,没有明确的规范计划的规模系数,ppmak会解释系数不正确。

例子

这两个样条函数

p1 = ppmak ([1 3 4], [1 2 5 6; 3 4 7 8]);p2 = ppmak ([1 3 4], [1 2 3 4; 5 6; 7 8], 2);

ppform完全相同(2-vector-valued,订单2),但第二个命令提供安排内部使用的系数。

ppmak ([0:2], [1:6])构造具有基本区间的分段多项式函数(0。。2)和组成的两张订单3的独家内部打破1。由此产生的函数是标量,也就是说。,维d它的目标是1。函数是连续的,从第一块x|→x2+ 2x+ 3,而第二块x|→4 (x- 1)2+ 5 (x1)+ 6。

当函数是单变量和维度d没有显式地指定,那么采取的行号系数。应该一个整数列号数量的倍数l的规定休息时间。例如,语句ppmak ([0:2], [1:3; 4:6])会导致一个错误,因为打破序列(0:2)表明两个多项式,因此预计偶数列系数矩阵。修改后的报表ppmak ([0:1], [1:3; 4:6])指定了抛物线曲线x|→(1、4)x2+ (2、5)x+ (3、6)。特别是,维度d它的目标是2。不同的修改语句ppmak ([0:2], [1:4; 8])还指定了一个平面曲线(即d2),但是这一个是分段线性的;它的第一个多项式块x|→(1、5)x+ (2,6)。

明确规范的维度d,在单变量的情况下,将导致一个不同的解释的条目系数。现在的列号表示多项式顺序,应该等于和行号d倍的碎片。因此,声明ppmak ([0:2], [1:4; 8], 2)是错误的,而声明ppmak ([0:2], [1:4; 8], 1)指定一个标量分段立方的第一块x|→x3+ 2x2+ 3x+ 4。

如果你想不断多项式,基本区间[0 . .1]say, whose value is the matrix eye(2), then you would have to use the full optional third argument, i.e., use the command

页= ppmak(0:1,眼(2),(2,2,1,1));

最后,如果你想构建一个2-vector-valued二元多项式的矩形(1 . .1]x [0 . .1)线性变量和常数在第二,说

系数= 0 (2 2 1);系数(::1)= (1 0;0 1];

那么简单的

页= ppmak({[1],[0 1]},系数);

会失败,在每个生产订单2的纯量值函数变量,会吗

页= ppmak({[1],[0 1]},系数,大小(系数));

而下面的命令会成功:

页= ppmak({[1],[0 1]},系数,[2 2 1]);

看到其他的例子“ppform入门”的例子。

另请参阅