• ベストアンサー

補間についてのプログラム。

こんにちは。補間についての本を読んでいての質問なのですが、 ---------------------------------------------------------- program: Main integer parameter: n ←9 real array: {Xi}0;n , {Yi}0;n , {Ai}0;n integer: j,k,n real: e,h,p h←1.6875/n for; k=0 to n do Xk←k×h Yk←sin(Xk) end for call; Coef(n,{Xi},{Yi},{Ai}) output; {Ai} for; j=0 to 4×n do t←(j×h)/4 p←Eval(n,{Xi}(n),{Ai}(n), t) e←| sin(t)-p | output; j,t,p,e end for: end proguram Main ---------------------------------------------- とあったのですが、どのように訳していけばよいのでしょうか??アドバイスお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
noname#101087
noname#101087
回答No.2

(1) integer parameter: n ←9 / h←1.6875/n (2) Xk←k×h, Yk←sin(Xk) (3) call; Coef(n,{Xi},{Yi},{Ai}) / output; {Ai} (4) for; j=0 to 4×n do / t←(j×h)/4 (5) p←Eval(n,{Xi}(n),{Ai}(n),t) (6) e←| sin(t)-p | / output; j,t,p,e ------------------------------------- "Coef"と"Eval"で何を勘定しているのか不明ゆえ、とりあえず無視。....ということで解読。 (1) 0~1.6875(意味ありげだが不明)の区間を9等分。 (2) その「区間」の始点と等分点における   Xk=k*h   Yk=sin(Xk)  を算定。 (3) サブルーチン"Coef"に(n,{Xi},{Yi})を送って、係数{Ai}を受け取る。 (4) j=0~36 にわたり、   t=j*h/4  を算定。 (5) サブルーチン"Eval"に(n,{Xi},{Yi},t)を送って、p を受け取る。 (6) (誤差?)e=|sin(t)-p|を算定。  得られた結果 {j,t,p,e} を出力。 って、何やってるのでしょうかね。

すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#29127
noname#29127
回答No.1

integer parameter: n ←9 real array: {Xi}0;n , {Yi}0;n , {Ai}0;n integer: j,k,n real: e,h,p 変数の宣言 --------------- for; k=0 to n do Xk←k×h Yk←sin(Xk) end for 配列xとyに値を設定. yはsin(xk)=sin(k*h) hはxの間隔 -------------- call; Coef(n,{Xi},{Yi},{Ai}) n個の変数Xi, Yiより 係数Aiを計算 計算内容は記載がないため不明 -------------- output; {Ai} Aiの画面表示 -------------- for; j=0 to 4×n do t←(j×h)/4 p←Eval(n,{Xi}(n),{Ai}(n), t) e←| sin(t)-p | output; j,t,p,e end for: (j*h)/4 の間隔, すなわち、最初に用意した Xi, Yiの1/4の間隔で補間をしている。 evalにて補間を行なって, pに値を返している。 e = sin(t)-p は補間値と本来の値sin(t)との 誤差を計算 outputにて, X, Y値とその時の誤差を表示 ------------------- sin関数を使って、補間の精度を確かめています。

すると、全ての回答が全文表示されます。

関連するQ&A