ホーナー法
をテンプレートにして作成
[
トップ
|
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#ref(rf_horner.eq2.gif,nolink,70%)
#ref(rf_horner.eq7.gif,nolink,70%)
#ref(rf_horner.eq8.gif,nolink,70%)
#code(C){{
/*!
*/
template<class T>
inline T func_h(double x, const vector<T> &b, int n)
{
T f = b[0];
for(int i = 1; i <= n; ++i){
f = b[i]+f*x;
}
return f;
}
/*!
*/
template<class T>
inline T dfunc_h(double x, const vector<T> &b, int n)
{
T df = n*b[0];
for(int i = 1; i <= n-1; ++i){
df = (n-i)*b[i]+df*x;
}
return df;
}
}}
終了行:
#ref(rf_horner.eq2.gif,nolink,70%)
#ref(rf_horner.eq7.gif,nolink,70%)
#ref(rf_horner.eq8.gif,nolink,70%)
#code(C){{
/*!
*/
template<class T>
inline T func_h(double x, const vector<T> &b, int n)
{
T f = b[0];
for(int i = 1; i <= n; ++i){
f = b[i]+f*x;
}
return f;
}
/*!
*/
template<class T>
inline T dfunc_h(double x, const vector<T> &b, int n)
{
T df = n*b[0];
for(int i = 1; i <= n-1; ++i){
df = (n-i)*b[i]+df*x;
}
return df;
}
}}
ページ名: