dポイントプレゼントキャンペーン実施中!

以下のプログラムで実行したのですがfunction newton_cotes(f,intv,n*m){ の部分でコンパイルエラーが出てしまいます。原因が分かる人いませんか?

WScript.Echo("第一段階で何等分しますか?");
var n = Number(WScript.StdIn.ReadLine());
WScript.Echo("第二段階で何等分しますか?");
var m = Number(WScript.StdIn.ReadLine());

var intv = [0,2];

var approx1 = newton_cotes(f,intv,n*m);

var approx2 = composite_newton_cotes(f,intw,n,m);

var exact = Math.PI;

WScript.Echo("近似値1は " + approx1);
WScript.Echo("近似値2は " + approx2);
WScript.Echo("厳密値は " + exact);
WScript.Echo("近似値1との誤差は " + Math.abs(approx1 - exact));
WScript.Echo("近似値1との誤差は " + Math.abs(approx2 - exact));

function composite_newton_cotes(f,intv,n,m){
var h=(intv[1]-intv[0])/n;
var finer_intv = [intv[0],intv[0]+h];
var approx = 0;

for(var i=0;i<n;i++){
approx += newton_cotes(f,finer_intv,m);
finer_intv[0] += h;
finer_intv[1] += h;
}

return approx;
}

function newton_cotes(f,intv,n*m){
var h=(intv[1]-intv[0])/n*m;
var v = compute_weight(n*m);
var x = intv[0];
var approx = 0;

for(var i=0;i<=n*m;i++){
approx += f(x)*v[i];
x += h;
}

return approx*h;
}

A 回答 (1件)

こんにちは



処理内容はよく見ていませんけれど・・

変数名(仮引数)に「*」を使用しているからではないでしょうか?
「*」は確か変数名には使用できないので、他の文字に変えれば通るのではないでしょうか。

厳密値がπに決まっているようなので、対象の関数も固定だと思いますけれど、定義が見当たらないようですね。
(私が見落としているだけかも知れませんが・・)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!