システムとモデリング

modelica, Julia, Design Structure Matrix, SysML, 他モデリング全般について。

Draw.io Integrationがアップデートしてdrawio.pngに対応しました。

今回は前回の続きでVisual Studio Codeの拡張機能 Draw.io Integrationについての解説です。 前回の記事は↓ otepipi.hatenablog.com 6月11日のアップデートで拡張子drawio.pngに対応し、pngファイルをそのまま編集できるようになりました。 これにより、Mark…

Markdown文書のSVGファイルをDraw.ioでリアルタイムに編集する[Visual Studio Code]

今回は最近リリースされて各所話題になっている 『VisualStudioCode上でDraw.ioが使用できるパッケージ』を使用してMarkdwon文書中のSVGファイルをリアルタイムに編集してみます。 marketplace.visualstudio.com パッケージの取得 Visual Studio Codeで以下…

Springerの無料本 興味あるものリスト

現在、出版社のSpringerで学生・教員向けに教科書が無料でDLできるようになっています。(少なくとも7月末まで) group.springernature.com 備忘録的に、自分の興味を持っている分野で惹かれた本をリストにしました(タイトルだけでほぼ判断しています) 数…

Juliaで計算モデルの解析:収束判定

今回も書籍『A Biologist's Guide to Mathematical Modeling in Ecology and Evolution』 で学んだ内容を復習します。内容としては、計算モデルの収束判定です。

Juliaでベクトル場をプロットする。

今回も書籍『A Biologist's Guide to Mathematical Modeling in Ecology and Evolution』 の写経をします。

コロナ感染者予測の結果

コロナウィルスが未だ世界中で猛威を奮っています。 本ブログでは2020年1月ごろに簡単なSIRモデルを使用して結果を予測しました。 その予測が合っていたかどうか確認します。 otepipi.hatenablog.com 上記記事で中国湖北省の感染者数を以下のように予測しま…

Interact.jlでプロットをgifにする

これまでいくつかの計算モデルを静的にプロットしてきました。 今回はJuliaのパッケージInteract.jlを使って プロットをgifにしてみます。

JuliaでCobweb plotを作成する

今回も書籍『A Biologist's Guide to Mathematical Modeling in Ecology and Evolution』 から学習した内容の備忘録になります。 計算モデルを解析する際に使用されるCobweb Plotsを作成してみます。

DiscreteモデルとContinuousモデルの違い

今回も書籍『A Biologist's Guide to Mathematical Modeling in Ecology and Evolution』 から学習した内容の備忘録になります。 ネズミが生殖により増えたり、銀行に預けたお金が複利で増えたり、人気商品だということが広まるとさらに人気になったり…… 「…

Juliaで分岐図を描画してカオスを感じる

今回はJuliaで分岐図を作成してみたいと思います。 分岐図についてですが例として以下のようなものになります。 これはロジスティック関数の分岐図でパラメーターrを増やしていくと値が発散してカオス減少が確認できるものになります。 ja.wikipedia.org 今…

電気回路のアナロジー

制御工学の本を読んでいると、電気回路のアナロジーについて言及しているものがあります。 このアナロジーは並進運動・回転運動などの機械要素や流体要素の線形モデルが数学的に電気回路の数式モデルと類似していることからきています。 以下のようなもので…

Juliaで信頼性工学:ワイブル分布のプロット

唐突ですがJuliaを使って信頼性工学の勉強をしていきます。 今回参考にした書籍は以下です。 入門 信頼性工学(第2版) 確率・統計の信頼性への適用作者:福井 泰好出版社/メーカー: 森北出版発売日: 2016/07/30メディア: 単行本(ソフトカバー) ワイブル分布…

新型コロナウイルスの感染者数予測~簡単なモデルから~

今中国、そして世界各国で猛威をふるいはじめている新型コロナウイルスの感染者数を、シンプルな微分方程式系でモデリングしてみたいと思います。伝染病関係の数理モデリングをするのは今回が初めてで、色々おかしい部分があると思いますので予めご容赦くだ…

Matlabで微分方程式の計算練習

今回は簡単にMatlabで微分方程式を解く練習をします。 対象とする微分方程式は以下とします。 $$ u'' + u = 0 $$ この理論解の1つは以下のようになり、u-u'平面でのグラフは円になります。 $$ u = \cos{t} $$ $$ u'=\sin{t} $$ この方程式をMatlabのODEソル…

2020年の抱負

新年初記事になります。 ひとまず新年の抱負を列挙しておきます。 抱負1微分方程式によるモデリングと数値計算に力を入れる 本ブログ『システムとモデリング』は多要素からなる複雑なシステムをモデリング(特徴を捉えて主観的に抽象化、簡略化)し、それを…

PMP試験勉強のため休止していたブログを再開します

ブログを書くのは4ヶ月ぶりになります。 8月にPMPの試験に申し込み、ブログ執筆を休止してPMPの勉強を開始したものの異動などでバタバタしているうちにほとんどPMPの勉強も進まないまま12月に…… ブログがほぼ唯一のアウトプット手段ですが、4ヶ月もアウトプ…

modelicaでタイマー設定のヒーターをモデリングする

物理モデリングに優れた言語modelicaを使用して物理モデルと制御モデルが一体になったシミュレーションをします。 今回は以下の例題を参考にしながらすすめていきます。 mbe.modelica.university 以下のような制御をシミュレーションしてみます。 高温(温度…

Open ModelicaをJuliaで操作する

久々にOpen Modelicaに手を出してみました。 今回はJuliaを使ってOpen Modelicaを操作してシミュレーションする試みです。 今年になってOpen ModlicaのJulia APIが開発されために可能になりました。 www.openmodelica.org 手順 パッケージOMJuliaを使用しま…

Plotly で Design Structure Matrix を描画する。

久々にDesign Structure Matrixの記事になります。 今までDesign Structure Matrixの描画にはGadfly.jlパッケージのヒートマップ機能を使用していました。 例としては以下のようなものになります。 ただこの描画方法ですとDSMの要素の有無を色でしか表現でき…

リスク分析の大局メモ

最近リスクマネジメント系の本を読んだので、これを基にリスク分析の概況をまとめてみたいと思います。 Risk Analysis: Assessing Uncertainties Beyond Expected Values and Probabilities作者: Terje Aven出版社/メーカー: Wiley発売日: 2008/05/19メディ…

最近読んだ本のまとめ

ブログを更新するのが久々になってしまいました。 DSMのパッケージを作成して以降、しばらくインプットに専念していました。 主にシステム関係の本を読んでいましたので、軽く紹介していきたいと思います。 組込みエンジニアの教科書 組込みエンジニアの教科…

Juliaパッケージ DesignStructureMatrix.jlを制作して公式パッケージにするまで

Design Structure Matrix ( DSM )関係の関数を集めたJuliaパッケージDesignStructureMatrix.jlを公開しました。 github.com 現時点の内容としては DSMの描画 DSMのシーケンシング DSMのクラスタリング が利用できます。詳細はREADMEを御覧ください。 今回、J…

Gadfly.jlでDesign Structure Matrixを描画する。

今まではDesign Structure Matrixの描画にSeaborn.jlを使用してきました。 otepipi.hatenablog.com ただSeaborn.jlはPython環境がないと使用できない点、日本語に対応していない点が不満でしたので、描画をGadfly.jlに乗り換えたいと思います。 Gadfly.jlで…

『ピクサーの制作パイプライン』をDSMでモデリングする

DSM

Twitterのタイムラインに以下のようなつぶやきが流れてきました。 #ピクサー展 にきたら、PMを経験した人なら吐き気をもよおしそうなプロジェクト進行の図を見つけてしまった pic.twitter.com/5Z1IMSLyLo— りょかち (@ryokachii) 2019年6月1日 ピクサー映画…

Juliaで可到達行列をレベル分けして並び替える

Design Structure Matrixのシーケンシング関連の記事です。今回の内容は以下の記事をJuliaで自動化したものになります。 otepipi.hatenablog.com 可到達行列を並び替えて下三角行列に近い形にします。 並べ替える前の可到達行列は以下のような形になります。…

Juliaで可到達行列を求める

DSM(DesignStructureMatrix)のシーケンシングに必要なDSMの可到達行列をJuliaのプログラムで求めてみます。 可到達行列とは 以下のスライドの説明がわかりやすいと思います。 http://ise.me.tut.ac.jp/lectures/decision-making/DSS12-2.pdf DSMの隣接行列A…

ISMを勉強することによりDSMへの理解を深める

浅学ながらISM(Interpretive Structural Modeling)という手法を最近知りました。この方法は主に社会システムに用いられる手法で、要素間の関係を多階層有向グラフで表現するものです。 参考となるWEBサイトは以下のようなものになるかと思います。 https:/…

可到達行列法のアルゴリズム

DSM

DSMのシーケンシングアルゴリズムの1つである可到達行列法について勉強してみます。 シーケンシングアルゴリズムについては↓の記事で解説して います。 otepipi.hatenablog.com 参考にした資料 Warfield, J. N. (1973). Binary Matrices in System Modeling…

DSMのシーケンシングアルゴリズム

DSM

DSM(DesignStructureMatrix)のクラスタリングが一段落しましたので、次はシーケンシングについて勉強していきたいと思います。 シーケンシングとは プロセスについてのDSMに用いられる分析手法で、DSMの要素を並び替えることでDSMを下三角行列に近づけ、フィ…

DSMをJuliaでクラスタリングし、自動で整列させる

前回の記事の続きです。 otepipi.hatenablog.com 前回はJuliaでDSMのクラスタリングのみしましたが、今回はそのクラスタリング結果に基づいてDSMを並べ替えるところまでやります。 実装 実装したコードは以下のようになりました。 using LinearAlgebra using…