expについてです


tatu  2005-10-18 10:44:47  No: 59307

it=(exp(2*PI*r/2.0*PI*f*l))*sin(a-fai)/(1-exp(-2*PI*r/2*PI*f*l))*im
で記述して処理をすると値が出するのですが
it=(exp(-1*2*PI*r/2.0*PI*f*l))*sin(a-fai)/(1-exp(-2*PI*r/2*PI*f*l))*im
と記述すると値が0で返ってきます。
どうして-1を追加しただけで0で返ってくるのかが
わかりません。どなたかわかる方ご指導お願いします。


RAPT  2005-10-18 11:46:09  No: 59308

最低限、環境と各変数の値くらいは明記しましょう。

MSDNに、exp()関数について次のように記載されています。

MSDN> exp 関数は成功すると、浮動小数点引数 x の指数値を返します。
MSDN> オーバーフローが発生すると、INF (無限) を返します。
MSDN> アンダーフローが発生すると、exp は 0 を返します。

以上により、アンダーフローが発生して分子が0になったからでは?


みい  2005-10-18 19:02:04  No: 59309

指数値が小さいほど0に近くなるはず。
-1かけたのだから指数値が小さくなるので、0になっているのでは?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加