-1

オブジェクトの加速度を見つける必要があります。テキストで指定された式はa=d ^ 2(L)/ d(T)^ 2です。ここで、L=長さとT=時間この式を使用してMATLABで計算しました。

a = (1/(T3-T1))*(((L3-L2)/(T3-T2))-((L2-L1)/(T2-T1))) 

また

a = (v2-v1)/(T2-T1) 

しかし、正しい答えが得られない場合は、MATLABの他の方法で(a)を見つける方法を教えてもらえますか?

4

1 に答える 1

5

これは matlab とは関係ありません。関数を数値的に 2 回微分しようとしているだけです。関数の高次 (3 次、4 次) 導関数の動作に応じて、妥当な結果が得られるかどうかが決まります。|T3 - T1|^2また、L が 4 回微分可能であると仮定すると、使用しているような式で次数のエラーが発生することを予期する必要があります。異なるサイズの間隔を使用する代わりに、次のような対称近似を使用してみてください。

v (x) = (L(x-h) - L(x+h))/ 2h
a (x) = (L(x-h) - 2 L(x) + L(x+h))/ h^2 

数値数学の講義で思い出したことによると、これは高次導関数の数値計算により適しています。それでも注文エラーが発生します

C |h|^2, with C = O( ||d^4 L / dt^4 || )

は関数の最高ノルムを||.||表します (つまり、L の 4 次導関数は有界である必要があります)。それが正しい場合は、その式を使用して、受け入れたい結果を生成するために選択する必要がある h の小ささを計算できます。ただし、これは L のテイラー近似の分析の結果である理論上の誤差にすぎないことに注意してください。[1] または [2] を参照してください。数値数学の入門書。L の評価の質によっては、追加のエラーが発生する場合があります。また、|L(x-h) - L(x)|が非常に小さい場合、数値減算の条件が悪くなる可能性があります。

[1] ナブナー、アンガーマン。Numeric partieller Differentialgleichungen; スプリンガー

[2] http://math.fullerton.edu/mathews/n2003/numericaldiffmod.html

于 2011-11-27T14:20:01.430 に答える