シミュレーション中にSimscape Multibodyの​ジョイントブロックの​設定値を変更したい。

4 Ansichten (letzte 30 Tage)
Ryo
Ryo am 29 Dez. 2023
Kommentiert: Ryo am 8 Jan. 2024
お世話になっております。
現在、Simscape Multibodyを使ったモデル化に取り組んでいます。
具体的には、楽器の弦が張力により固有値が変わるように、ばね乗数が一定に定まらず、なんらかの式で表現される様なばね乗数を実装できないかと考えています。
(ジョイントで提議するパラメータをシミュレーション中に変更したい)
Matlab Functionブロックを用いて、ワークスペース変数やモデル変数を変更すればなんとかなるかとも思ったのですが、思ったように計算できていないのが実状です。
他になにか良い方法がありましたらご教示下さい。
よろしくお願いいたします。

Akzeptierte Antwort

Toshinobu Shintai
Toshinobu Shintai am 3 Jan. 2024
「Translational Multibody Interface」「Rotational Multibody Interface」などを使ってみてはいかがでしょうか。以下リンク先の例題にありますように、併進、回転運動ドメインと繋ぐことができ、そちらでばね定数などを可変にすることができます。
可変ばねブロックは、Simscape Drivelineになりますが、以下にあります。
  5 Kommentare
Toshinobu Shintai
Toshinobu Shintai am 4 Jan. 2024
「Simscape」の基本機能として、カスタムブロックを作成することができます。そちらを用いれば、少なくとも「Simscape Driveline」を用いなくてもよくなりますが、いかがでしょうか。
以下の投稿画像にて、その手順が紹介されています。
通常の「Translational Spring」のソースコードをコピーして改変し、ばね定数を可変にしたカスタムブロックを作成することができます。
Ryo
Ryo am 8 Jan. 2024
なるほど、カスタムブロックを作成するという方法もあるんですね。
現在、実装したいブロックがカスタムできないものだったのですが、今後他の用途で必要になった場合葉この方法を採用したいと思います。
ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu シミュレーションと解析 finden Sie in Help Center und File Exchange

Produkte


Version

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!