Решите почти диагональную блоком линейную систему
x = slvblk(blokmat,b)
x = slvblk(blockmat,b,w)
x = slvblk(blokmat,b)
возвращает решение (если таковые имеются) линейной системы Ax = b
, с матричным A
сохраненный в blokmat
в сплайне почти диагональная блоком форма. В настоящее время, только команда spcol
предоставляет такое описание, матрицы, типичная запись которой является значением некоторой производной (включая 0th производную, i.e., значение) B-сплайна на некотором сайте. Если линейная система сверхопределяется (i.e., имеет больше уравнений, чем неизвестные, но полного ранга), затем решение методом наименьших квадратов возвращено.
Правая сторона b
может содержать несколько столбцов и, как ожидают, будет содержать столько же строк, сколько существуют строки в матрице, описанной blokmat
.
x = slvblk(blockmat,b,w)
возвращает векторный x
это минимизирует взвешенную сумму Σjw (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-факторизация сделана из каждого диагонального блока, после того, как это было увеличено уравнениями не, имел дело с при факторинге предыдущего блока. Получившаяся факторизация затем используется, чтобы решить линейную систему задней заменой.