Two dimensional Splines
- To: mathgroup at smc.vnet.net
- Subject: [mg109121] Two dimensional Splines
- From: zosi <zosi at to.infn.it>
- Date: Mon, 19 Apr 2010 04:06:53 -0400 (EDT)
After having sailed into Mathgroup and Help, we still face the following problem. Suppose we have a set of 3D points (x_i, y_j, f[x_i,y_j]) with i=1...N, j=1...M and we need to a) interpolate the surface by **using** <<Splines` and SplineFit[...,cubic] a.1) plot the interpolating (spline) surface a.2) extract the coefficients of the bicubic polynomials over each sub-domain b) calculate the integral of the interpolating spline. In the following, we show the steps and the difficulties encountered (* Begin: Suppose we start with the trivial function *) f[x_, y_] := Sin[x + y]^2 plotfxy = Plot3D[f[x, y] , { x, 0 , \[Pi] }, {y, 0, 2 \[Pi] }, PlotPoints -> 50 ] (* For subsequent comparisons we calculate immediately the integral with 20 digits *) numintegral = N[Integrate[f[x, y], {x, 0 , \[Pi]} , {y, 0 , 2 \[Pi]} ], 20] (* Output 9.8696044010893586188 *) (* Here we create the grid, very coarse, only 25 points (5x5) for 16 sub-domains *) grid3D = Flatten[Table[{x, y, f[x, y]}, {x, 0, \[Pi], \[Pi]/4}, {y, 0, 2 \[Pi], \[Pi]/2}], 1] (* The following use of << Splines` is mandatory *) << Splines` bicubic = SplineFit[grid3D, Cubic]; (* Output: SplineFunction[Cubic, {0., 24.},<>] *) First question (a.1): How can we plot the spline interpolating surface ? Several trials using ParametricPlot3D[bicubic[s],....] have failed. Second question (a.2): How do we extract the coefficients of the bicubic polynomials over each of the 16 sub-domains ? We have, first coefpoly = InputForm[bicubic] // N; Even when we try to extract the first List (containing three Lists), probably relevant to the bicubic polynomial over the first (0,\Pi/4) x (0,\Pi/2) sub-domain, for example: coefpoly[[1, 4, 1]] (* Output {{0., 0.00512628, 0., -0.00512628}, {0., 1.51953, 0., 0.0512628}, {0., 1.72638, 0., -0.726383}} *) we are not able to construct the relevant bicubic(x,y) polynomial and, obviously, the remaining polynomials. Final question: Is there a single command to evaluate the integral of "bicubic" over the domain [0,\Pi]x[0,2 \Pi] ? Many thanks for your patience and help. Gianfranco Zosi Dip. Fisica Generale Universita di Torino