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