主要内容

spmak

用B形式放在一起

语法

SPMAK(结,COEFS)
sizec spmak(结系数)
spmak
sp = spmak(结多项式系数)

描述

命令SPMAK(...)根据最小的信息,将b形样条函数组合在一起,其余的则从输入推断出来。fnbrk返回已完成描述的所有部分。通过这种方式,用于存储此表单的实际数据结构很容易被修改,而不会对各种fn……使用此构造的命令。

SPMAK(结,COEFS)中的结信息指定的样条的b形式和系数信息COEFS.

采取的行动spmak取决于函数是单变量还是多变量,如作为序列或单元阵列。对于描述,让sizec大小(系数)

如果是一个序列(需要是非递减的),然后样条被取为单变量,及其顺序k被认为是长度(结)-sizec(结束).这意味着每个“列”COEFS(:,j)COEFS.取为样条的b样条系数,故样条取为sizec (1: end-1)有价值的。这b型的基本音程为[节(1)..节(结束)].

结的多重性为≤k.这意味着系数COEFS(:,j)如果相应的B样条含有仅一个不同的结,即,如果节(j)=节(j + k)

如果是长度的单元阵列,然后将样条键成为变量,COEFS.一定是一个(r + m.-维数组,-除非样条是标量值的,在这种情况下,与单变量情况相反,COEFS.允许是维数组,但sizec重置了

Sizec = [1, Sizec];r = 1;

样条是sizec (1: r)有价值的。这意味着样条的输出是一个数组r维度,例如,如果Sizec (1:2) = [2,3]然后样条的输出为2×3矩阵。

样条是sizec (1: r)的价值,第Th项向量k被计算为长度(节{我})-sizec(r + i)i = 1: m,设置基本间隔单元格数组的第Th项为(节{我}(1)节{我}(结束)

sizec spmak(结系数)允许您提供数组的预期大小COEFS..假设COEFS.是正确的大小,这只是罕见的案例COEFS.有一个或多个尾随单尺寸。对于,matlab.®因此,在没有明确说明预期大小的情况下,抑制尾随的单元素维度COEFS.spmak会解释COEFS.不正确。

spmak提示输入COEFS.

sp = spmak(结多项式系数)返回样条sp

例子

SPMAK(1:6,0:2)构造一个基本区间为[1.0.6]的样条函数,有6个结点和3个系数,因此阶为6 - 3 = 3。

spmak (t) 1)提供B样条曲线B在b的形式(·| t)。

系数可以是d-向量(例如,2向量或3向量),在这种情况下,得到的样条是a曲线或曲面(R2或者R3.).

如果意图是在矩形上构造一个2向量值二元多项式[-1 ..]1]×[0 . .1],第一个变量为线性,第二个变量为常数,即

Coefs = 0 ([2 2 1]);Coefs (:,:,1) = [1 0;0 1];

那么简单的

Sp = spmak({[-1 -1 1],[0 1]},coefs);

将导致错误消息不应该有比系数更多的结,因为后面的单元素维度COEFS.不会被察觉spmak,而正确使用第三个论点,如

sp = spmak({[ -  1 -111],[01]},cofs,[2 2 1]);

会成功。这里替换(2 2 1)通过大小(系数)不会工作。

请参阅其他示例的“介绍B形式”示例。

诊断

如果所建议的结序列不是非递减的,或者系数数组是空的,或者如果结的数目并不比系数的数目多,则返回错误。如果样条是多变量的,那么最后的诊断可能是由于拖后的单次维COEFS.

另请参阅