- ベストアンサー
逆関数の補間について
こんにちは。前に質問させてもらい、計算については 理解できました。しかし、以下の文章のある部分の意味がわかりません。まず、文章は、 [Inverse Interpolation] A process called inverse interpolation is often used to approximate an inverse function. Suppose that values {Yi}=f({Xi}) have been computed at X0,X1,...,Xn. Using table Y ; Y0 Y1 Y2 ......Yn X ; X0 X1 X2 ......Xn we form the interpolation polynomial p(y)=Σ(i=1→n)CiΠ(j=0→i-1){Y-Yj} The orijinal relationship, y=f(x), has an inverse, under certain conditions. This inverse is being approximated by x=p(y). Procedures Coef and Eval can be used to carry out the inverse interpolation by reversing the arguments x and y in the calling sequence for Coef. Inverse interpolation can be used to find where a given functuin f has a root or zero. This means inverting the equation f(x)=0. We propose to do this by creating a table of values (f(Xi),Xi) and interpolating with a polynomial,p. Thus, p(Yi)=Xi. The points Xi should be chosen near the unknown root,r. The approximate root is then given by r ~p(0). For a concrete case, let the table of known values be Y;-0.5789200,-0.3626370,-0.1849160,-0.0340642,0.0969858 X; 1.0 , 2.0 , 3.0 , 4.0 , 5.0 The nodes in this problem are the points in the row of the table headed y, and the function values being interpolated are in the x row. The resulting polynomial is p(Y)=0.25Y^4+1.2Y^3+3.69Y^2+7.39Y+4.247470086 and p(0)=4.247470086. Only the last coefficient is shown with all the digits carried in the calculation, for it is the only one needed for the problem at hand. ---------------------------------------------------------------- <補足>CoefとEvalについて 「 procedure; Coef(n,{Xi},{Yi},{Ai}) real array; {Xi}0:n, {Yi}0:n, {Ai}0:n integer; i,j,n for i=0 to n do {Ai}←{Yi} end for for j=1 to n do for i=n to j step -1 do Ai←({Ai}-{Ai-1})/({Xi}-{Xi-j}) end for end for end procedure Coef 」 「 real function; Eval(n,{Xi},{Yi},{Ai}) real array; {Xi}0:n, {Ai}0:n integer; i,n real;t,temp temp←An for i=n-1 to 0 step -1 do temp←(temp)(t-{Xi})+{Ai} end for Eval←temp end function Eval」 ------------------------------------------------------------- です。この文章の 「The orijinal relationship, y=f(x), has an inverse, under certain conditions. This inverse is being approximated by x=p(y). Procedures Coef and Eval can be used to carry out the inverse interpolation by reversing the arguments x and y in the calling sequence for Coef. Inverse interpolation can be used to find where a given functuin f has a root or zero. This means inverting the equation f(x)=0. We propose to do this by creating a table of values (f(Xi),Xi) and interpolating with a polynomial,p. Thus, p(Yi)=Xi. The points Xi should be chosen near the unknown root,r. The approximate root is then given by r ~p(0).」 という部分が理解できません。わかる方アドバイスお願いします(泣)
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以前の質問 「補間についての質問です(http://oshiete1.goo.ne.jp/qa2969768.html)」 で和訳しましたが、ヒマなのでまたやってみます。 The orijinal relationship, y=f(x), has an inverse, under certain conditions. This inverse is being approximated by x=p(y). Procedures Coef and Eval can be used to carry out the inverse interpolation by reversing the arguments x and y in the calling sequence for Coef. 元の関数 y=f(x) は、ある条件下では逆関数を持ち、その逆関数は x=p(y) と近似できる。それにはプロセジャ Coef と Eval が使える。つまり、Coef を呼び出すときに、引数 x と y を入れ替えるわけである【訳注: xi と yi の組を与えて y = f(x) = Σa[k*x^k の係数a[k] が計算されるのなら、呼び出すときのx と y を入れ替えてやると、x = p(y) = Σb[k]*y^k の係数 b[k] が計算される。b[k] は逆関数 x = p(y) の係数である】。 Inverse interpolation can be used to find where a given functuin f has a root or zero. This means inverting the equation f(x)=0. We propose to do this by creating a table of values (f(Xi),Xi) and interpolating with a polynomial,p. Thus, p(Yi)=Xi. The points Xi should be chosen near the unknown root,r. The approximate root is then given by r ~p(0). 逆補間を使えば、ある関数 f の根、つまり f = 0 の解 がどこにあるか見つけることができる。すなわち、方程式 f(x)=0 の逆をやればいい【訳注: y=f(x) の逆関数 x=p(y) を使えば、f(x)=0 の解は x = p(0) 】。そこで値の組 f(xi),xi の表を作り、これから多項式 p で補間する。すると p(yi)=xi が得られる。【訳注: xi,f(xi) の組で表を作れば 多項式 f の係数が得られるが、引数の順番を逆にして、f(xi),xi とすれば、逆関数 p の係数が得られる】 xi の値は未知の解 r の近傍に取る必要がある【訳注: 解 r がxiの範囲に含まれている】。その結果、近似解は r ~p(0) で与えられる。
その他の回答 (1)
The original relationship, y=f(x), has an inverse, under certain conditions. This inverse is being approximated by x=p(y). Procedures Coef and Eval can be used to carry out the inverse interpolation by reversing the arguments x and y in the calling sequence for Coef. Inverse interpolation can be used to find where a given functuin f has a root or zero. This means inverting the equation f(x)=0. We propose to do this by creating a table of values (f(Xi),Xi) and interpolating with a polynomial,p. Thus, p(Yi)=Xi. The points Xi should be chosen near the unknown root,r. The approximate root is then given by r ~p(0). [意訳的和訳] もとの(関数)関係 y=f(x) は、ある条件下で逆関数をもちます。この逆関数を x=p(y) (多項式)で近似することにします。 Coef の呼び出し系列(calling sequence)の変項 x と y を入れ替えれば、その逆補間(inverse interpolation)をCoef と Eval の手順を使って遂行できます。 逆補間は与えられた関数 f の根つまり零点がどこなのかを見つけるのに使えます。これは式 f(x)=0 の逆算に相当するものです。 多項式 p の値の表 (f(Xi),Xi) を作って実行してみましょう。それらの点 Xi は未知の根 r の近くを選ばねばなりません。 そうすれば、近似根が r ~p(0) << p(y)の y へ零を与えたときの x=r >> で与えられます。 .... てな調子ですかね。