- 340 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 00:29:40 ]
-
>>335 よく考えたら f(x)=exp(x)で f'(x)=exp(x)だからexpをニュートンで求めるのは無理だな。 テーラー展開でやってみたんだが ・テーラー展開式 exp(x)=肺^n/n! ・階乗部分をすべて初期値設定 0!:n0=1 1!:n1=1 2!:n2=2 ・・・ x:入力値 expsse:求める値 x=_mm_mul_pd(x,x); expsse=_mm_add_pd((expsse, _mm_div_pd(x, n0)); x=_mm_mul_pd(x,x); expsse=_mm_add_pd((expsse, _mm_div_pd(x, n1)); x=_mm_mul_pd(x,x); expsse=_mm_add_pd((expsse, _mm_div_pd(x, n2)); ・・・ こんな感じ。for分使わずn=20までやって精度9桁くらいだったかな。 しかし処理時間は非常に遅かった。 時間がなかったのであまり詳しく調べなかったがコーディングに問題あるかな?
|

|