• ベストアンサー

数値微分の近似公式について

一定間隔hで計測した位置座標データから、各計測時の速度を近似公式を使った数値微分で解く方法を調べています。 3点近似公式は(f(X0+h)-f(X0-h))/2h 5点近似公式は(f(X0-2h)-8f(X0-h)+8f(X0+h)-f(X0+2h))/12h というところまでは分かったのですが、7点、9点とより高次の近似公式について、どなたか教えてください。

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

  • ベストアンサー
  • siegmund
  • ベストアンサー率64% (701/1090)
回答No.1

5点近似公式がどうやって導かれたかを理解すれば, 以下何点近似でも導けます. Taylor 展開 (1)  f(x0±h) = f(x0) ± f'(x0) h + f''(x0) h^2 / 2!          ± f^(3)(x0) h^3 / 3! + ・・・ (2)  f(x0±2h) = f(x0) ± f'(x0) 2h + f''(x0) (2h)^2 / 2!          ± f^(3)(x0) (2h)^3 / 3! + ・・・ から (3)  {f(x0+2h) - f(x0-2h)} + a{f(x0+h) - f(x0-h)} を作ってみると,hの偶数乗の項は消えて,奇数乗の項は (4)  h の係数  4+2a (5)  h^3 の係数 (8/3) + (1/3)a になります. したがって,(5)がゼロになるように,すなわち a=-8 と選べばよく, 質問の5点近似公式が直ちに導けます. 補正が h^5 f^(5)(x0) のオーダーであることも明らかでしょう (偶数次の項は消えるから). 7点近似なら, (6)  f(x0±h) = f(x0) ± f'(x0) h + f''(x0) h^2 / 2!          ± f^(3)(x0) h^3 / 3! + f^(4)(x0) h^4 / 4!          ± f^(5)(x0) h^5 / 5! + ・・・ (7)  f(x0±2h) = ・・・ (8)  f(x0±3h) = ・・・ から (9)  {f(x0+3h) - f(x0-3h)} + b{f(x0+2h) - f(x0-2h)}      + c{f(x0+h) - f(x0-h)} を作って,h^3 と h^5 の係数がゼロになるように b,c を決めればよいわけです. 式の上からは近似の点数を上げるほど近似は良くなりますが, 実際の測定データは誤差を含んでいますし,桁落ちもありますから, 近似の点数を上げれば良いというものでもありません.

oujirou
質問者

お礼

siegmund様 有難うございました。 自分なりに計算したところ、7点近似は hの係数は6+4b+2c h^3の係数9+(8/3)b+(1/3)c h^3の係数(81/20)+(8/15)b+(1/60)c となり、これを解いてb=-9、C=45となりました。 実際の計測例に適用して確認もできました。本当に有難うございました。

その他の回答 (1)

  • paddler
  • ベストアンサー率53% (176/330)
回答No.2

ご質問にある方法は、「測定値が誤差(雑音)を含まない」ことを前提に、「座標位置測定曲線のある時点における微分値をその時点前後の点を用いてTaylor展開によりできるだけキッチリと求める」ものだと思います。それに対して、「測定値がランダムな雑音(不規則な誤差)を含む」ことを前提にして、「雑音の影響をできるだけ軽減して微分値を求める」ための方法が別にあります。これは計測の分野で"Savitzky-Golayの平滑化/平滑化微分"として有名なもので、例えば下記のURL(pdf)に係数の例が載っています。ちなみに、5点の場合の係数は、ご質問にある「1,-8,0,8,-1」とは異なり、「-2,-1,0,1,2」のようになります。

参考URL:
http://tribo.mech.tut.ac.jp/class/SurfaceAnalysis/SavitzkyGolay.pdf
oujirou
質問者

お礼

paddler様 有難うございました。 実際の計測例に適用したところ、確かにSavitzky-Golayの平滑化/平滑化微分の方が良さそうな事例がありました。ただ、こちらの方が単純な動きに対してはピーク値が鈍ってしまう傾向もあるようで、どういう場合に適応するかは難しそうです。

関連するQ&A

  • 微分・積分

    仮にA=-Δy/Δxという公式があったとします。これはyの式をxで微分して-1を全体にかけろって考えかたでよろしいのでしょうか?仮に、xとyのパラメータを集めてそれをグラフ化し、エクセルで曲線のグラフを作ります。その曲線に近似曲線を当てはめて公式を作ったとします。この近似曲線の公式をyと見立ててxで微分して近似曲線の微分公式を作成して,個々それぞれのx値を代入していく方法で部分的なAという値は求まるのでしょうか?また近似曲線のR^2値は1に近ければ近いほど近似されていると考えてよろしいのでしょうか?近似曲線の次数を上げればあげるほどR^2値が1に近づく場合はやはり1番高い次数の公式を使用したほうがよいのでしょうか?微分積分と聞くとなぜか接線とか加速度・速度・距離の微分積分の関係をイメージしてうんですがいまいちよく理解できていない点が多すぎて困ってます。物理では昔、微分やら積分などを使っていた記憶があるのですが、そのとき微分・積分の式(Δy/Δxや∫f(x)dx)を色々とこねくり回して式を変形させていた記憶があります。この辺がいまいち思い出せなくて困っています。また、F=maをa=F/mとして時間tで積分していくとvという速度の公式になり、それまたvの公式を積分するとxという距離の公式になると思っているのですが、それぞれが不定積分なのでCなどというようなものがついてきます。それが初速度だったり、初期位置だったりというあいまいな記憶があるのですが間違っているのでしょうか?

  • 微分の3次近似多項式について少し質問です><

    微分の3次近似多項式について少し質問です>< お願いします。 2次近似式の場合の公式は f(x,y)=f(0,0)+fx(0,0)・x+fy(0,0)・y+1/2!{fxx(0,0)・x^2+2fxy(0,0)・x・ y+fyy(0,0)・y^2} になると思うので、 3次近似式多項式の場合は上の公式に 1/3!{fxxx(0,0)・x^3+3fxxy(0,0)・x^2・y+3fxyy(0,0)・x・y^2+fyyy(0,0)・y^3}を加えれば良いですよね?? 少し不安だったので質問しました。間違っていたら教えてください。 ちなみに^2は二乗を、fxxなどをそれで(xで微分)したことを表します。 お願いします。

  • 速度とかの微分とは?

    物理についてはかなり初心者なのですが、とある所に書いてあったものが気になったので質問します 書いてあったものとは 「加速度とは速度の微分、そして速度は物体の位置rの微分」なのですが、微分するとはlim[h→0]{f(x+h)-f(x)}/hのことですよね では今回の場合f(x)はなんなんでしょうか?

  • n次の微分係数の近似計算

    初歩的な質問ですみません。 数値計算ができる実数関数f(x)の任意の微分可能な点xでのn次の微分係数を 導関数を求めずに近似計算したいのですが、できるだけ正確な方法はありますか。 コンピュータで簡単に計算したいので記号操作のない方法がいいのです。 よろしくお願いします。

  • eの微分の公式について

    e^xの微分はe^xですが e^f(x)の微分はf'(x)e^f(x)でいいのでしょうか? ネットで調べたのですが、e^xの微分の公式の説明ばかりだったので教えてください

  • 関数の逆数の微分公式の示し方について「

    積の微分公式 [f(x)h(x)]'=f'(x)h(x)+f(x)h'(x)の示し方について 回答をいただきありがとうございました!! なんとか理解できました! 関連問題で [1/g(x)]'=- 1/[g(x)]2乗 を示す問題があるのです。 先ほどの問題と関連付けて h(x)=1/g(x)とおき解くのかな?と思うのですが 当てはめてもうまくいきません・・。 解き方が間違っているのでしょうか。 どなたかわかればお願いします。 私も引き続き頑張ってみます。

  • 微分公式について

    すいません。 公式の証明についておしえて頂けないでしょうか? 助かります。 f(x),g(x)が微分可能なとき、次の各符号が成り立つ。 (1) (kd(x))'=kf'(x) (Kは定数) 証明はどのように導けるのでしょうか? (2) (f(x)±g(x))'=f'(x)±g'(x) (符号同順) 証明はどのように導けるのでしょうか? (3) (f(x)・g(x))'=f'(x)・g(x)+f(x)・g'(x) について、 (f(x)・g(x))'=lim {f(x+h)・g(x+h)-f(x)・g(x)}/h      h→0 まではわかるのですが、このあとの lim {f(x+h-f(x)}g(x+h)+{g(x+h)-g(x)}f(x)/h はどのようにしてあらわれるのでしょうか? (4) (1/g(x))’=-(g(x))/{g(x)}^2 (ただしg(x)キ0) について (1/g(x))’= を計算して つぎのように表すには =lim 1/h{(1/g(x+h))-1/g(x)}  h→0 にはどのようにしてでるのでしょうか? (5) (f(x)/g(x))'={f'(x)・g(x)-f(x)・g'(x)}/{g(x)}^2 は(3)と(4)より導けるそうですが、どのようにして導くのでしょうか? 親切なかたおねがいします。 たくさんあってごめんなさい

  • 近似式の公式・なぜxでなく|x|なのか?

    近似式の公式が |x|が十分に小さいとき f(x)≒f(0)+f´(0)x とありました。なぜ|x|が十分に小さいときでないといけないのでしょうか?    0.0000001も-0.0000001も同じくらい小さいのだから  |x|でなく「xが十分に小さいとき」でもいいのではないでしょうか?

  • 常微分方程式の数値計算

    実験で常微分方程式の数値計算をしました y'(x)=2xy,y(0)=1.0(解はy=ex2)←eのx二乗の微分方程式できざみ幅h=0.1、区間〔0,2〕の条件で オイラー法と改良オイラー法とルンゲクッタ法を使って 表計算ソフトを使って求めよとあるのですが、 表計算で近似値のy座標とか Δt後のxの変化分K1とか求めるのですが、全然意味がわからなくて、 何かいい方法はないでしょうか?

  • テイラー近似式の求め方について

    大学の授業でテイラー近似式の求め方を習ったときの板書の記述に、 「関数f(x)を2次関数P(x)で近似するとき、接点のx座標を x = a とすると、P(a) = f(a) であるから  P(x) = f(a) + (x-a)(xの一次式)  が成り立つ」 というような部分があったのですが、どうしてこのような式が導き出せるのでしょうか? また、その授業ではこの後、(xの一次式)をbx+cと置いてからP(x)の式を微分していき、f(x)とP(x)の接点での傾きや2階微分も一致していることから、bとcをaやf'(a)やf''(a)を用いて表して、それをP(x)の式に代入して2次関数による近似式を導いていました。 元の関数と近似式の、接点だけでなく、傾きや2階微分も一致する理由もできれば教えていただきたいです。