exponenta event banner

slvblk

Решение почти блочно-диагональной линейной системы

Синтаксис

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

См. также

| | |