std::hermite, std::hermitef, std::hermitel
來自 cppreference.com
< cpp | experimental | 特殊函式
double hermite( unsigned int n, double x ); double hermite( unsigned int n, float x ); |
(1) | |
double hermite( unsigned int n, IntegralType x ); |
(2) | |
與其他特殊函式一樣,只有當實現將 __STDCPP_MATH_SPEC_FUNCS__
定義為至少 201003L 的值,並且使用者在包含任何標準庫標頭檔案之前定義 __STDCPP_WANT_MATH_SPEC_FUNCS__
時,才保證 hermite
在 <cmath>
中可用。
目錄 |
[編輯] 引數
n | - | 多項式的次數 |
x | - | 引數,浮點型別或整型值 |
[編輯] 返回值
若無錯誤發生,返回 x 的 n 階埃爾米特多項式值,即 (-1)nex2
dn |
dxn |
。
[編輯] 錯誤處理
錯誤可能按照math_errhandling中指定的方式報告。
- 如果引數是 NaN,則返回 NaN 且不報告域錯誤。
- 如果 n 大於或等於 128,則行為是實現定義的。
[編輯] 注意
不支援 TR 29124 但支援 TR 19768 的實現,在標頭檔案 tr1/cmath
和名稱空間 std::tr1
中提供此函式。
此函式的實現在 boost.math 中也可用。
埃爾米特多項式是方程 u,,
- 2xu,
= -2nu 的多項式解。
前幾個 Hermite 多項式為:
- hermite(0, x) = 1。
- hermite(1, x) = 2x。
- hermite(2, x) = 4x2
- 2。 - hermite(3, x) = 8x3
- 12x。 - hermite(4, x) = 16x4
- 48x2
+ 12。
[編輯] 示例
(如 gcc 6.0 所示)
執行此程式碼
#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1 #include <cmath> #include <iostream> double H3(double x) { return 8 * std::pow(x, 3) - 12 * x; } double H4(double x) { return 16 * std::pow(x, 4) - 48 * x * x + 12; } int main() { // spot-checks std::cout << std::hermite(3, 10) << '=' << H3(10) << '\n' << std::hermite(4, 10) << '=' << H4(10) << '\n'; }
輸出
7880=7880 155212=155212
[編輯] 參閱
拉蓋爾多項式 (函式) | |
勒讓德多項式 (函式) |
[編輯] 外部連結
Weisstein, Eric W. ""埃爾米特多項式."" 出自 MathWorld--A Wolfram Web Resource。