私は再帰的でなければならないサイン関数を書いています。私は正弦関数を書いていますが、それを再帰的に行う方法は本当に分かりません。誰かがこれを始める方法を説明できますか?再帰的サイン関数
これは私がこれまで持っているものです。
/*--------------------------------------------------------------
Name: sine(double X);
Return: Function "sine" will return the
sine of X, where X is measured in radians.
--------------------------------------------------------------*/
double sine(double X)
{
double result = 0;
double term;
int k;
double lim;
k = 0;
lim = power(10, -8);
term = power(-1, k)*power(X, ((2*k) + 1))/(factorial((2*k)+1));
result = term;
while (absolute(term) > lim)
{
k += 1;
term = power(-1, k)*power(X, ((2*k) + 1))/(factorial((2*k)+1));
result += term;
}
return result;
}
は編集:私はこれを解決するためのラッパー関数を使用していました。基本的に
double sine_rec(double X, double k)
と呼ばれる別の関数を作成し、現在のコードを変更してそれに適合させました。
この宿題はありますか?だから、私はむしろあなたに完全な答えよりもヒントを与えて、あなたのために楽しいものを奪うでしょう。 – Mads
@Madsそれは宿題タグを持っています....たぶん追加されましたか? – kenny
これはGoogleで検索してみましたか?そこにたくさんの例があるようです。 –