• 締切済み

simulinkで自由落下をシュミュレーションしたいのですが・・・

simulinkでボールを自由落下させ,床に衝突し,反発させる運動をシミュレーションしたいのですが,うまくいきません.下向きを負としているので,重力加速度は’-g’とします.床に衝突する直前の速度は’-gt' 反発直後の速度は’gte'(eは反発係数)です.床で反発した際,速度が正になります.速度が正になるとき,’ゼロクロッシング’が検知されシミュレーションができません.またゼロクロッシングの検知を無効にすると,衝突後,床の座標を’0’だととすれば,0付近で細かく振動するグラフになってしまいます. 式は dx/dt=-gt+C1(C1は初速)     x=C1t-1/2gt2+C2(C2は初めの位置) としてやりました.C1は0とし.C2は10と考えました. 1.429秒で床にあたるようで,その時間でゼロクロッシングが検知されてしまいます. アドバイスいただける方,宜しくお願いいたします・

みんなの回答

  • Donotrely
  • ベストアンサー率41% (537/1280)
回答No.3

ふと思ったんですけど、 >衝突後,床の座標を’0’だととすれば,0付近で細かく振動するグラフになってしまいます. もしかして反発係数eに誤ってが小さ過ぎる値を設定しているとか?

  • Donotrely
  • ベストアンサー率41% (537/1280)
回答No.2

素人なので良くは分かりませんが、 >またゼロクロッシングの検知を無効にすると,衝突後,床の座標を’0’だととすれば,0付近で細かく振動するグラフになってしまいます. 床を突き抜けた状態でシミュレーションされてしまうのではないでしょうか? 突き抜けた後で、床の下の方からはね返って、床上にちょっと頭を出してまた床下へ、 ってな具合? だからゼロクロッシングはたぶん要るんでしょうね。 床に衝突する近傍で細かい刻みでシミュレーションする必要があるんじゃないでしょうか? ただ、ゼロクロッシングを入れると衝突したところで止まってしまう原因は分かりませんけど。 どういう風にモデルを作るのかとか、全く未経験門外漢で知る由もありませんが、 サイトの説明では下記を使えとありますね。 体操と深呼吸をして見直しては如何でしょうか? 当方の実力ではその位野次?しかしゃべれません。 http://dl.cybernet.co.jp/matlab/support/manual/r14/toolbox/simulink/ug/?/matlab/support/manual/r14/toolbox/simulink/ug/f7-9506.shtml#f7-19684

bonbonkawa
質問者

お礼

ありがとうございます。お手数おかけしました。 参考にさせていただきます。

  • Donotrely
  • ベストアンサー率41% (537/1280)
回答No.1

興味本位でお聞きしますが、 >’ゼロクロッシング’が検知されシミュレーションができません. どうして?どういう結果になって?シミュレーションができないんですか?

bonbonkawa
質問者

補足

1.429秒でシミュレーションがとまってしまいます。