用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.
.