Рассеянный переводит матрицу словосочетания
colmat = stcol(centers,x,type)
colmat = stcol(...,'tr')
colmat = stcol(centers,x,type)
матрица, чья (i
, j
) th запись
с двумерными функциями ψj и номер n
в зависимости от centers
и вектора символов type
, как детализировано в описании stmak
.
centers
и x
должны быть матрицами с одинаковым числом строк.
Значением по умолчанию для type
является вектор символов 'tp'
, и для этого значения по умолчанию, n
равняется size(centers,2)
и функциям, которыми дан ψj
с ψ основная функция сплайна тонкой пластины
и с |x | обозначение Евклидовой нормы векторного x.
Смотрите stmak
для описания других возможных значений для type
.
Матричный colmat
является матрицей коэффициентов в линейной системе
то, что коэффициенты, которые должен удовлетворить aj функционального f = Σjajψj, чтобы f интерполировал значение yi на сайте x(:,i)
, весь i
.
colmat = stcol(...,'tr')
возвращает транспонирование матрицы, возвращенной stcol(...)
.
Пример 1. Следующее оценивает и строит функцию
на регулярной mesh, с ψ вышеупомянутая основная функция тонкой пластины, и с c 1, c 2, c 3 три точки на модульном круге; см. рисунок ниже.
a = [0,2/3*pi,4/3*pi]; centers = [cos(a), 0; sin(a), 0]; [xx,yy] = ndgrid(linspace(-2,2,45)); xy = [xx(:) yy(:)].'; coefs = [1 1 1 -3.5]; zz = reshape( coefs*stcol(centers,xy,'tr') , size(xx)); surf(xx,yy,zz), view([240,15]), axis off
Пример 2. Следующее также оценивает, на той же mesh, и строит длину градиента функции в Примере 1.
zz = reshape( sqrt(... ([coefs,0]*stcol(centers,xy,'tp10','tr')).^2 + ... ([coefs,0]*stcol(centers,xy,'tr','tp01')).^2), size(xx)); figure, surf(xx,yy,zz), view([220,-15]), axis off