手習ひデジタル信号処理(191) Scilab、{Scilabデモ}、球面振り子

Joseph Halfmoon

信号処理素人老人がScilabの「信号処理のデモ」からカテゴリ脱出。前回は「常微分方程式」カテゴリでしたが、今回は「代数方程式」カテゴリです。順番が後なのに簡単になった?というのは誤解でした。DAE、微分代数方程式です。代数方程式を微分してシミュレーションしないといけないの?難しくなっているじゃん。

※「手習ひデジタル信号処理」投稿順 Indexはこちら

※Windows11上の    Scilab2024.0.0を使用させていただいております。(Scilabについては御本家 Scilab 様へ)

DAE、Differential-Algebric Equations 微分代数方程式

さて今回「鑑賞」させていただくScilabデモの選択画面が以下に。selectSphericalPend

前回までの「常微分方程式」ODEの後に登場するのに、後の方が簡単なの?と思ったお惚け老人は馬鹿でした。代数方程式というのは言葉足らずなだけでした。

微分代数方程式 DAE

と書くべきでしょう。だいたい、デモのスクリプトは以下のパスに格納されとります。

Scilabのインストールパス\modules\differential_equations\demos\dae\dae1\pend3d1.dem.sce

differential_equationsの配下に入っておりますぞ。そして今回の「システム」を解くソルバ関数は以下です。

dassl()

DASSLとな。Scilabモグリ老人は使ったこともないソルバです。なんじゃら難しそう。しかし強い味方あり、最近頼り切っている感のあるGoogleの生成AI、Gemini 2.5 Flash様です。まずはDAEについてお教えいただきます。geminiDAE1

ほほう、前回までのODEより何だメンドイ感じじゃん。さらに重要事項についてもお教えくだすってます。geminiDAE2

そしてその数値解法についても言及あり。geminiDAE4

でたなDASSL(Differential Algebric System Solver)、という感じ。まさにこれを使ってみるデモなのね。

球面振り子

さてシミュレーションのターゲットである球面振り子に戻ります。「ありがちな」単振り子の場合、よく見ると振動が「微小」とか「平面」の中に限定されていたりしていることに気づきます。それに比べると球面振り子は自由度が違うのさ、ということみたいっす。これまたGemini様にご解説いただきます。geminiSP1

この後、お約束のラグランジュ方程式など登場しますが、バッサリ割愛させていただきます。末尾に曰く。geminiSPx

DAEモデルへの言及いただきました。

さて肝心のシミュレーション結果が以下に。sphericalPendGraph

上記凡例を見るとわかるように、3つのケースを並べてシミュレーションしているようです。index(でたな)の取り方にも複数あるうえに、stabilization(安定化?)を施したケースもあるみたい。物理素人老人が中身を見ていくのはツラソー。まあ、Gemini様のお陰で雰囲気分かったので、まあいいか(ほんとにそれで良いのか?)というところ。

手習ひデジタル信号処理(190) Scilab、{Scilabデモ}、PFR(管型反応器)へ戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です