Решение почти блочно-диагональной линейной системы
x = slvblk(blokmat,b)
x = slvblk(blockmat,b,w)
x = slvblk(blokmat,b) возвращает решение (при наличии) линейной системы Ax = b, с матрицей A хранится в blokmat в сплайне почти блок-диагональная форма. В настоящее время только командная spcol предоставляет такое описание матрицы, типичный элемент которой является значением некоторой производной (включая 0-ю производную, т.е. значение) B-сплайна в некотором сайте. Если линейная система переопределена (то есть имеет больше уравнений, чем неизвестные, но имеет полный ранг), то возвращается решение методом наименьших квадратов.
Правая сторона b может содержать несколько столбцов и, как ожидается, содержать столько строк, сколько строк в матрице, описанной blokmat.
x = slvblk(blockmat,b,w) возвращает вектор x что минимизирует взвешенную сумму j w (j) ((Ax - b) (j))2.
sp=spmak(knots,slvblk(spcol(knots,k,x,1),y.')) обеспечивает в sp B-форма сплайна s порядка k с последовательностью узлов knots который соответствует заданным данным (x,y), т.е. для которого s (x) равен y.
Область команды bkbrk используется для получения существенных частей матрицы коэффициентов, описываемых blokmat (в одной из двух доступных форм).
QR-факторизация выполняется из каждого диагонального блока, после того, как он был дополнен уравнениями, не рассмотренными при факторизации предыдущего блока. Получившееся факторизация затем используется, чтобы решить линейную систему путем обратного замещения.