slvblk

Решите почти диагональную блоком линейную систему

Синтаксис

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) ((Axb) (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-факторизация сделана из каждого диагонального блока, после того, как это было увеличено уравнениями не, имел дело с при факторинге предыдущего блока. Получившаяся факторизация затем используется, чтобы решить линейную систему задней заменой.

Смотрите также

| | |