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

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

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Applications에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!