blob: 2ac0db2134dda6de93cf0a090da777563e40661c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>HermiteInterpolator (Apache Commons Math 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="HermiteInterpolator (Apache Commons Math 3.3 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HermiteInterpolator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/commons/math3/analysis/interpolation/FieldHermiteInterpolator.html" title="class in org.apache.commons.math3.analysis.interpolation"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/analysis/interpolation/LinearInterpolator.html" title="class in org.apache.commons.math3.analysis.interpolation"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/analysis/interpolation/HermiteInterpolator.html" target="_top">Frames</a></li>
<li><a href="HermiteInterpolator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.analysis.interpolation</div>
<h2 title="Class HermiteInterpolator" class="title">Class HermiteInterpolator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.analysis.interpolation.HermiteInterpolator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/commons/math3/analysis/differentiation/UnivariateDifferentiableVectorFunction.html" title="interface in org.apache.commons.math3.analysis.differentiation">UnivariateDifferentiableVectorFunction</a>, <a href="../../../../../../org/apache/commons/math3/analysis/UnivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">UnivariateVectorFunction</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">HermiteInterpolator</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../org/apache/commons/math3/analysis/differentiation/UnivariateDifferentiableVectorFunction.html" title="interface in org.apache.commons.math3.analysis.differentiation">UnivariateDifferentiableVectorFunction</a></pre>
<div class="block">Polynomial interpolator using both sample values and sample derivatives.
<p>
The interpolation polynomials match all sample points, including both values
and provided derivatives. There is one polynomial for each component of
the values vector. All polynomials have the same degree. The degree of the
polynomials depends on the number of points and number of derivatives at each
point. For example the interpolation polynomials for n sample points without
any derivatives all have degree n-1. The interpolation polynomials for n
sample points with the two extreme points having value and first derivative
and the remaining points having value only all have degree n+1. The
interpolation polynomial for n sample points with value, first and second
derivative for all points all have degree 3n-1.
</p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>3.1</dd>
<dt><span class="strong">Version:</span></dt>
<dd>$Id: HermiteInterpolator.java 1517203 2013-08-24 21:55:35Z psteitz $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/interpolation/HermiteInterpolator.html#HermiteInterpolator()">HermiteInterpolator</a></strong>()</code>
<div class="block">Create an empty interpolator.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/interpolation/HermiteInterpolator.html#addSamplePoint(double, double[]...)">addSamplePoint</a></strong>(double&nbsp;x,
double[]...&nbsp;value)</code>
<div class="block">Add a sample point.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/analysis/polynomials/PolynomialFunction.html" title="class in org.apache.commons.math3.analysis.polynomials">PolynomialFunction</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/interpolation/HermiteInterpolator.html#getPolynomials()">getPolynomials</a></strong>()</code>
<div class="block">Compute the interpolation polynomials.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/analysis/differentiation/DerivativeStructure.html" title="class in org.apache.commons.math3.analysis.differentiation">DerivativeStructure</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/interpolation/HermiteInterpolator.html#value(org.apache.commons.math3.analysis.differentiation.DerivativeStructure)">value</a></strong>(<a href="../../../../../../org/apache/commons/math3/analysis/differentiation/DerivativeStructure.html" title="class in org.apache.commons.math3.analysis.differentiation">DerivativeStructure</a>&nbsp;x)</code>
<div class="block">Interpolate value at a specified abscissa.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/analysis/interpolation/HermiteInterpolator.html#value(double)">value</a></strong>(double&nbsp;x)</code>
<div class="block">Interpolate value at a specified abscissa.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="HermiteInterpolator()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HermiteInterpolator</h4>
<pre>public&nbsp;HermiteInterpolator()</pre>
<div class="block">Create an empty interpolator.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="addSamplePoint(double, double[]...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSamplePoint</h4>
<pre>public&nbsp;void&nbsp;addSamplePoint(double&nbsp;x,
double[]...&nbsp;value)
throws <a href="../../../../../../org/apache/commons/math3/exception/ZeroException.html" title="class in org.apache.commons.math3.exception">ZeroException</a>,
<a href="../../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre>
<div class="block">Add a sample point.
<p>
This method must be called once for each sample point. It is allowed to
mix some calls with values only with calls with values and first
derivatives.
</p>
<p>
The point abscissae for all calls <em>must</em> be different.
</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - abscissa of the sample point</dd><dd><code>value</code> - value and derivatives of the sample point
(if only one row is passed, it is the value, if two rows are
passed the first one is the value and the second the derivative
and so on)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/ZeroException.html" title="class in org.apache.commons.math3.exception">ZeroException</a></code> - if the abscissa difference between added point
and a previous point is zero (i.e. the two points are at same abscissa)</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the number of derivatives is larger
than 20, which prevents computation of a factorial</dd></dl>
</li>
</ul>
<a name="getPolynomials()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPolynomials</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/analysis/polynomials/PolynomialFunction.html" title="class in org.apache.commons.math3.analysis.polynomials">PolynomialFunction</a>[]&nbsp;getPolynomials()
throws <a href="../../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a></pre>
<div class="block">Compute the interpolation polynomials.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>interpolation polynomials array</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a></code> - if sample is empty</dd></dl>
</li>
</ul>
<a name="value(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>value</h4>
<pre>public&nbsp;double[]&nbsp;value(double&nbsp;x)
throws <a href="../../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a></pre>
<div class="block">Interpolate value at a specified abscissa.
<p>
Calling this method is equivalent to call the <a href="../../../../../../org/apache/commons/math3/analysis/polynomials/PolynomialFunction.html#value(double)"><code>value</code></a> methods of all polynomials returned by <a href="../../../../../../org/apache/commons/math3/analysis/interpolation/HermiteInterpolator.html#getPolynomials()"><code>getPolynomials</code></a>,
except it does not build the intermediate polynomials, so this method is faster and
numerically more stable.
</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/analysis/UnivariateVectorFunction.html#value(double)">value</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/analysis/UnivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">UnivariateVectorFunction</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - interpolation abscissa</dd>
<dt><span class="strong">Returns:</span></dt><dd>interpolated value</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a></code> - if sample is empty</dd></dl>
</li>
</ul>
<a name="value(org.apache.commons.math3.analysis.differentiation.DerivativeStructure)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>value</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/analysis/differentiation/DerivativeStructure.html" title="class in org.apache.commons.math3.analysis.differentiation">DerivativeStructure</a>[]&nbsp;value(<a href="../../../../../../org/apache/commons/math3/analysis/differentiation/DerivativeStructure.html" title="class in org.apache.commons.math3.analysis.differentiation">DerivativeStructure</a>&nbsp;x)
throws <a href="../../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a></pre>
<div class="block">Interpolate value at a specified abscissa.
<p>
Calling this method is equivalent to call the <a href="../../../../../../org/apache/commons/math3/analysis/polynomials/PolynomialFunction.html#value(org.apache.commons.math3.analysis.differentiation.DerivativeStructure)"><code>value</code></a> methods of all polynomials
returned by <a href="../../../../../../org/apache/commons/math3/analysis/interpolation/HermiteInterpolator.html#getPolynomials()"><code>getPolynomials</code></a>, except it does not build the
intermediate polynomials, so this method is faster and numerically more stable.
</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/analysis/differentiation/UnivariateDifferentiableVectorFunction.html#value(org.apache.commons.math3.analysis.differentiation.DerivativeStructure)">value</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/analysis/differentiation/UnivariateDifferentiableVectorFunction.html" title="interface in org.apache.commons.math3.analysis.differentiation">UnivariateDifferentiableVectorFunction</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - interpolation abscissa</dd>
<dt><span class="strong">Returns:</span></dt><dd>interpolated value</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a></code> - if sample is empty</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HermiteInterpolator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/commons/math3/analysis/interpolation/FieldHermiteInterpolator.html" title="class in org.apache.commons.math3.analysis.interpolation"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/analysis/interpolation/LinearInterpolator.html" title="class in org.apache.commons.math3.analysis.interpolation"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/analysis/interpolation/HermiteInterpolator.html" target="_top">Frames</a></li>
<li><a href="HermiteInterpolator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>