Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Scattered translates collocation matrix

`colmat = stcol(centers,x,type) `

colmat = stcol(...,'tr')

`colmat = stcol(centers,x,type) `

is the matrix whose (`i`

,`j`

)th
entry is

$${\psi}_{j}\left(x(:,i)\right),\text{}i=1:\text{size}(x,2),j=1:n$$

with the bivariate functions *ψ _{j}* and
the number

`n`

depending on the `centers`

and
the character vector `type`

, as detailed in the description
of `stmak`

. `centers`

and `x`

must be
matrices with the same number of rows.

The default for `type`

is the character vector `'tp'`

,
and for this default, `n`

equals `size(centers,2)`

,
and the functions *ψ _{j}* are
given by

$${\psi}_{j}(x)=\psi \left(x-\text{centers}(:,j)\right),\text{}j=1:n$$

with *ψ* the thin-plate spline basis function

$$\psi (x)={\left|x\right|}^{2}\mathrm{log}{\left|x\right|}^{2}$$

and with |*x*| denoting the Euclidean norm
of the vector *x*.

See `stmak`

for a description
of other possible values for `type`

.

The matrix `colmat`

is the coefficient matrix
in the linear system

$$\sum _{j}{a}_{j}{\psi}_{j}(x(:,i))={y}_{i},\text{}i=1:\text{size}(x,2)$$

that the coefficients *a _{j}* of
the function

`x(:,i)`

, all `i`

.`colmat = stcol(...,'tr') `

returns the transpose of the matrix returned by `stcol(...)`

.

**Example 1.** The following evaluates
and plots the function

$$f(x)=\psi (x-{c}_{1})+\psi (x-{c}_{2})+\psi (x-{c}_{3})-3.5\psi (x)$$

on a regular mesh, with *ψ* the above
thin-plate basis function, and with *c*_{1}, *c*_{2}, *c*_{3} three
points on the unit circle; see the figure below.

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

**Example 2.** The following also
evaluates, on the same mesh, and plots the length of the gradient
of the function in Example 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

Was this topic helpful?