Vector-valued splines are also used in the approximation to gridded data, in any number of variables, using tensor-product splines.
The same spline-construction commands are used, only the form of the
input differs. For example, if x
is an m
-vector, y
is
an n
-vector, and z
is an array
of size [m,n]
, then cs = csapi({x,y},z);
describes
a bicubic
spline f satisfying f(x(i),y(j))=z(i,j) for i=1:m, j=1:n.
Such a multivariate spline can be vector-valued. For example,
x = 0:4; y=-2:2; s2 = 1/sqrt(2); z(3,:,:) = [0 1 s2 0 -s2 -1 0].'*[1 1 1 1 1]; z(2,:,:) = [1 0 s2 1 s2 0 -1].'*[0 1 0 -1 0]; z(1,:,:) = [1 0 s2 1 s2 0 -1].'*[1 0 -1 0 1]; sph = csape({x,y},z,{'clamped','periodic'}); fnplt(sph), axis equal, axis off
gives a perfectly acceptable sphere. Its projection onto the -plane is plotted by
Both plots are shown below.
A Sphere Made by a 3-D-Valued Bivariate Tensor Product Spline
Planar Projection of Spline Sphere