前提・実現したいこと
perlで台形法による積分を行いたいと考えています
発生している問題・エラーメッセージ
サブルーチンfuncに対し変数x1などを渡そうとすると数値が1に固定される
該当のソースコード
perl
1$e = 2.71828182846; 2 3$a = 0; 4$b = 1; 5 6$n = 2.0 ** 10; 7$h = ($b-$a)/$n; 8$ans = 0; 9 10for($i=1;$i<$n;$i++){ 11 $x1 = $h * $i + $a; 12 $x1 *= -1; 13 $ans += 2 * &func($x1); 14} 15 16$ans = 0.5 * $h * ($ans+&func($a)+&func($b)); 17 18print "ans : $ans\n"; 19 20sub func { 21 $r = @_; 22 return ($e ** $r); 23}
補足情報(FW/ツールのバージョンなど)
OS:Windows10
perlのバージョン:5.28.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/13 07:03