Simulinkシミ​ュレーション実行中に​Simscapeのパ​ラメータを変動させた​い

Simscapeを用いて回路特性のシミュレーションモデルを作成しているのですが、抵抗やコンデンサをシミュレーション時間に応じて可変させたいと考えております。 例えばシミュレーション開始5秒後に抵抗の値を10MΩから100MΩに変動させたり,シミュレーション開始5秒後に抵抗の値を10MΩから100MΩに5秒間で線型的に増加させたりしたいです。 自分でも色々調べてみて,パラメータを文字でおいて,MATLABのワークスペースから値を取得できるようにはしてあります。 環境は2018aを使用しています。 宜しくお願い致します。

 Accepted Answer

Atsushi Matsumoto
Atsushi Matsumoto on 7 Jun 2018

0 votes

Simulink/Simscapeのパラメータは実行途中に連続的に可変させるのには適しておりません。 &nbsp
抵抗の抵抗値やコンデンサのキャパシタンスを可変させたいのであれば、代わりにElectronics/Passive DevicesにあるPotentiometerブロックやVariable Capacitorブロックを使ってみてはいかがでしょうか?

7 Comments

Motoki Mizusako
Motoki Mizusako on 7 Jun 2018

回答ありがとうございます。最終的にコンデンサの式C=εS/dの式のパラメータを変動させることでCを変動させたいと考えております。教えていただいた方法ですと、RやCのパラメータを変動させることはできますが、式中の変数を可変させてRやCを変動させるのは難しいと思っております。 僕のイメージとしてはSimulinkでのシミュレーション時間を用いて1ステップ毎にMATLAB中でパラメータを変動させ、結果をSimulinkに反映できないかと考えています。 宜しくお願い致します。

Atsushi Matsumoto
Atsushi Matsumoto on 11 Jun 2018
Edited: Atsushi Matsumoto on 11 Jun 2018
具体的にどのブロックのどのパラメータを可変させたいのか教えてもらえませんか?
Simscape/FoundationのCapacitorブロックですと、静電容量(C)、直列抵抗、並列コンダクタンスのパラメータがあります。
Motoki Mizusako
Motoki Mizusako on 11 Jun 2018
コンデンサの式,C=εS/dのdを可変させた場合やR=ρl/dのdを可変させた場合の出力電圧の応答を見たいと考えています.ここでdは時間変動するパラメーターと考えています。なのでそもそもSimscapeを使わずにMATLAB Functionでシミュレーション時間tを取得して計算させた方が早いのかなと考えています。宜しくお願い致します。
Atsushi Matsumoto
Atsushi Matsumoto on 12 Jun 2018
Variable Capacitorブロックの入力はCですが、図のようにεS/dを計算して入力してやれば良いのでは?
Motoki Mizusako
Motoki Mizusako on 12 Jun 2018
ありがとうございます。いただいたモデルを動かして見ましたが、実現したいモデルに近いことが実現できそうです。これと同様にVariable Resistanceを配置してシミュレーションして見ます。 このモデルではSをεとdで分けていますが,掛け算と割り算のブロックで表現すればCが算出でき、それをVariable Capacitanceの入力に用いているという理解でよろしいでしょうか。
Atsushi Matsumoto
Atsushi Matsumoto on 12 Jun 2018
はい。そのとおりです。
Motoki Mizusako
Motoki Mizusako on 12 Jun 2018
ありがとうございます。ご教示いただいた方法でシミュレーションモデルを作ってみます。丁寧に教えていただきありがとうございました。

Sign in to comment.

More Answers (1)

Hiroumi Mita
Hiroumi Mita on 10 Jun 2018

0 votes

Simulinkの標準機能であるSimstateは、モデルのパラメータを変更し、システムの状態量を継続して シミュレーションを再開できます。
これはSimscapeにも対応します。 この機能をうまく使うことで、ご所望のことは実現できると思います。
次の手順を踏んでみてください。
【手順】 (1) Simstateをdocで調べる。
(2) Simscapeの簡単なモデルで練習する。
(3) 該当のモデルで試してみる。

1 Comment

雄太
雄太 on 16 Jan 2025
添付頂いた資料と同様のことをやりたいのですが、動作が上手くできていません。
お手数ですが、サンプルモデルとmファイルを送付いただけますか

Sign in to comment.

Products

Release

R2018a

Community Treasure Hunt

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

Start Hunting!