Пример #1
0
 /// <summary>
 /// Creates a new <see cref="TricubicInterpolator"/> using the supplied data.
 /// </summary>
 /// <remarks>
 /// Marginal partial derivative values, if not supplied in
 /// <paramref name="dxLower"/>, <paramref name="dxUpper"/>,
 /// <paramref name="dyLower"/>, <paramref name="dyUpper"/>,
 /// <paramref name="dzLower"/>, <paramref name="dzUpper"/>,
 /// will be calculated independently for each point of the grid.
 /// </remarks>
 /// <param name="xs">1D array with the <c>x</c> coordinates of the interpolation grid nodes.</param>
 /// <param name="ys">1D array with the <c>y</c> coordinates of the interpolation grid nodes.</param>
 /// <param name="zs">1D array with the <c>z</c> coordinates of the interpolation grid nodes.</param>
 /// <param name="vs">
 /// 3D array with the values of the function for each node of the grid specified
 /// by <paramref name="xs"/>, <paramref name="ys"/> and <paramref name="zs"/>.
 /// </param>
 /// <param name="dxLower">The value of the partial derivative over <c>x</c> for all points with the smallest <c>x</c> coordinate value on the 2D grid.</param>
 /// <param name="dxUpper">The value of the partial derivative over <c>x</c> for all points with the largest <c>x</c> coordinate value on the 2D grid.</param>
 /// <param name="dyLower">The value of the partial derivative over <c>y</c> for all points with the smallest <c>y</c> coordinate value on the 2D grid.</param>
 /// <param name="dyUpper">The value of the partial derivative over <c>y</c> for all points with the largest <c>y</c> coordinate value on the 2D grid.</param>
 /// <param name="dzLower">The value of the partial derivative over <c>z</c> for all points with the smallest <c>z</c> coordinate value on the 2D grid.</param>
 /// <param name="dzUpper">The value of the partial derivative over <c>z</c> for all points with the largest <c>z</c> coordinate value on the 2D grid.</param>
 public TricubicInterpolator(double[] xs, double[] ys, double[] zs, double[,,] vs,
                             double?dxLower = 0, double?dxUpper = 0,
                             double?dyLower = 0, double?dyUpper = 0,
                             double?dzLower = 0, double?dzUpper = 0)
     : this(xs, ys, zs, vs.ToJagged(), dxLower, dxUpper, dyLower, dyUpper, dzLower, dzUpper)
 {
 }