- 372 名前:367 [2006/06/02(金) 11:19:01 ]
- >>371
! [-1..1] s1 = trapez(100, -1.0, 0.0) これまちがいw ごめw でも賠償は(ry 正しくは、s1 = trapez(100, -1.0, 1.0) 面積は0.8426729 積分範囲がまちがって-1.0〜0.0になってたwwwwwww なんか値がおかしいと思ったのだがw 標準偏差の定義が標準と異なるので 表で値を確かめるときに換算を間違えておkと思ってしまったwww ま、宴会から帰ってきた夜中だったので許せw *やや無関係な話題w πの値はパラメータで与えてもいいが、ここでは4.0*ATAN(1.0)を使った。 これは昔からよく使われている定石だが、どこかで1回計算しておかないと いけない。それがめんどい。だがこうしておくと精度を機械任せにできる。 今のプログラムではやや不自然で、結果醜くなっている。 Fortran2003ならパラメータ文の中で関数が使えるようになるのだが・・・・ (パラメータは実行時ではなくコンパイル時に評価されるので、 今のところ四則演算とベキぐらいしか使えない) *正規分布の−∞から+∞への積分 ∫exp(-x^2)dxは√πになるのだが、不定積分があらわせないので、 必死に積分しようとしないようにw 多重積分のテクニックで直交座標を円座標にして出すのが伝統芸。 ∫exp(-x^2)dx∫exp(-y^2)dy=∬exp(-(x^2+y^2))dxdy=∬exp(-r^2)rdrdθ =-1/2[exp(-r^2)]^∞_0 * 2π = 1/2*2π = π つまり∫exp(-x^2)dx=√πだお。 数値積分では無限大の積分は、普通変数変換して有限範囲にしてから実行する。 ここでの-10~10の積分は、あくまで確認のためのお遊びということで。
|

|