プロが教える店舗&オフィスのセキュリティ対策術

加速度から速度に変換するときの質問です.

垂直方向の加速度をはかる時に,加速度センサを台の上に置いて静止させておくと重力によって1Gが出力されます.
それを数値積分して速度にしたいのですがどのように行えばよいでしょうか?
単に積分しただけでは0(m/s)という値は出てこないと思うのですが・・・分かる方教えてください.

ちなみにMATLABを使用して計算しています.

A 回答 (3件)

MATLABを使うとか、数値積分するとか言う前に、解くべき問題を明確化する必要があります。


MATLABは、単なる計算を助けてくれる道具であって、電卓と同レベルです。
数値積分も、積分の手段のひとつであって、使わなくて済む場合や使わない方が良い場合も多いのです。

今の問題の場合、台の上に置かれて静止していることから、
(a)重力加速度で物体が鉛直方向下向きに受ける力
と、
(b)台から上向きに受ける力
は釣り合っていて、運動は生じません。
このことは、加速度がいくらであっても、一緒のことです。

以上のことを、力の釣合い方程式に従って説明しましょう。
運動しているときの物体の位置をx、時刻をtとすれば、釣り合いの方程式は次のようになります。
F = m・d^2x/dt^2 + c・dx/dt + k・x

まず、物体の運動に寄与する要因を把握しておく必要があります。
要するに、要因としては、次の4種類を考慮する必要があるわけです。
(1)物体に作用する力 F
(2)質量 m
(3)運動の抵抗要因 c
(4)初期位置に対するばね要因 k

まず(1)ですが、台の上に置かれて静止していることから、
(a)重力加速度で物体が鉛直方向下向きに受ける力
と、
(b)台から上向きに受ける力
は釣り合っていて、全体としての力Fは、
F = 0
です。
このことは、重力加速度の値がどうであっても、一緒のことです。

また、今の場合、センサーが台から受けるばね効果などは考慮しないので、
k = 0
です。

cによる力は、運動が生じてから作用するものなので、運動開始時点の議論をする場合には、とりあえず、
c = 0
と置けます。

よって、解くべき方程式は、次のようになります。
m・d^2x/dt^2 = 0
これを解けば、
速度 = dx/dt = 定数
が得られます。

要するに、時刻によらず等速度運動をするという解が得られるわけで、初期速度が0であるため、
速度 = dx/dt = 0
要するに、速度は0です。

以上が結論であって、MATLABや数値積分以前の問題であることがおわかりでしょう?
道具や手段を考える前に、問題の本質を見抜き、議論できるような力を身に付けましょう。

なお、ANo.1の方の
「結局、加速度0になりましょう。」
というのは、正確ではありません。
センサー全体には、台からの外力を受けようが受けまいが、紛れもなく重力加速度が作用しているからです。
台から受ける力は、センサーが台と接触する面から受ける外力であって、別の種類のものです。
これら両者の力が釣り合っている、ということで、外から両者を見たら、力は0に見えるというわけです。
    • good
    • 0
この回答へのお礼

分かりやすい丁寧な説明ありがとうございます。
少し考えが甘かったようです・・・。

お礼日時:2008/02/03 00:15

#1です.


語弊ある書き方すみませんでした.
主旨としては,積分する値のことを指していました.
不正確な記述をお詫び致します.また,ご指摘ありがとうございました.
    • good
    • 0

台の上に静止しているので、台からの反力を考慮せねばなりません。


結局、加速度0になりましょう。
更に、この状態で積分すると速度は一定値となり、0とは限りませんので、
速度の初期値も与える必要があります。明らかに0ですね。

上記はあくまで、台の上に静止させている、と言う状態での話です。
もし台を突然なくして落下を開始する場合には、
反力はなくなり、速度の初期値を0として与えて積分します。

積分するときには境界条件、初期条件に十分注意が必要です。
    • good
    • 0
この回答へのお礼

回答いただきありがとうございますm(_ _)m
様々な方法を試行錯誤した結果無事動かすことが出来ました。

お礼日時:2008/02/03 00:13

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