Julia言語
2021年初投稿です。今回は婚活アプリのシステムモデリングをしてみましたが、Jupyterで作成したものをそのままブログに貼り付けてみました。こちらのほうが手数少なく記事が作成できそうですが、見栄えがどうでしょうか……? Jupyterからの投稿手順については…
前回の続きでセルオートマトンについて書いていきます。 otepipi.hatenablog.com 今回はセルオートマトンの分類についてになります。 以下書籍を参考にしています。セルオートマトンに関する和書は数少ないですが、その中でも特に詳細に記述されている用に思…
今回はシステムの離散モデルの1種であるセルオートマトンをJuliaで描画してみたいと思います。 最近、『東京大学工学教程 システム工学』シリーズを読む機会がありました。 東京大学工学教程 システム工学 システム理論I作者:大橋 弘忠,古田 一雄発売日: 201…
今回も書籍『A Biologist's Guide to Mathematical Modeling in Ecology and Evolution』 で学んだ内容を復習します。内容としては、計算モデルの収束判定です。
これまでいくつかの計算モデルを静的にプロットしてきました。 今回はJuliaのパッケージInteract.jlを使って プロットをgifにしてみます。
今回も書籍『A Biologist's Guide to Mathematical Modeling in Ecology and Evolution』 から学習した内容の備忘録になります。 計算モデルを解析する際に使用されるCobweb Plotsを作成してみます。
今回も書籍『A Biologist's Guide to Mathematical Modeling in Ecology and Evolution』 から学習した内容の備忘録になります。 ネズミが生殖により増えたり、銀行に預けたお金が複利で増えたり、人気商品だということが広まるとさらに人気になったり…… 「…
今回はJuliaで分岐図を作成してみたいと思います。 分岐図についてですが例として以下のようなものになります。 これはロジスティック関数の分岐図でパラメーターrを増やしていくと値が発散してカオス減少が確認できるものになります。 ja.wikipedia.org 今…
唐突ですがJuliaを使って信頼性工学の勉強をしていきます。 今回参考にした書籍は以下です。 入門 信頼性工学(第2版) 確率・統計の信頼性への適用作者:福井 泰好出版社/メーカー: 森北出版発売日: 2016/07/30メディア: 単行本(ソフトカバー) ワイブル分布…
久々にOpen Modelicaに手を出してみました。 今回はJuliaを使ってOpen Modelicaを操作してシミュレーションする試みです。 今年になってOpen ModlicaのJulia APIが開発されために可能になりました。 www.openmodelica.org 手順 パッケージOMJuliaを使用しま…
久々にDesign Structure Matrixの記事になります。 今までDesign Structure Matrixの描画にはGadfly.jlパッケージのヒートマップ機能を使用していました。 例としては以下のようなものになります。 ただこの描画方法ですとDSMの要素の有無を色でしか表現でき…
Design Structure Matrix ( DSM )関係の関数を集めたJuliaパッケージDesignStructureMatrix.jlを公開しました。 github.com 現時点の内容としては DSMの描画 DSMのシーケンシング DSMのクラスタリング が利用できます。詳細はREADMEを御覧ください。 今回、J…
今まではDesign Structure Matrixの描画にSeaborn.jlを使用してきました。 otepipi.hatenablog.com ただSeaborn.jlはPython環境がないと使用できない点、日本語に対応していない点が不満でしたので、描画をGadfly.jlに乗り換えたいと思います。 Gadfly.jlで…
Design Structure Matrixのシーケンシング関連の記事です。今回の内容は以下の記事をJuliaで自動化したものになります。 otepipi.hatenablog.com 可到達行列を並び替えて下三角行列に近い形にします。 並べ替える前の可到達行列は以下のような形になります。…
DSM(DesignStructureMatrix)のシーケンシングに必要なDSMの可到達行列をJuliaのプログラムで求めてみます。 可到達行列とは 以下のスライドの説明がわかりやすいと思います。 http://ise.me.tut.ac.jp/lectures/decision-making/DSS12-2.pdf DSMの隣接行列A…
前回の記事の続きです。 otepipi.hatenablog.com 前回はJuliaでDSMのクラスタリングのみしましたが、今回はそのクラスタリング結果に基づいてDSMを並べ替えるところまでやります。 実装 実装したコードは以下のようになりました。 using LinearAlgebra using…
今回はDSM(Design Structure Matrix)のクラスタリングコードをJuliaで実装してみます。 クラスタリングアルゴリズムについては下記記事を参照してください。 otepipi.hatenablog.com 実際には以下の記事の擬似コードをJuliaで実装し直したものになります。 o…
前回の記事で行列を並べ替える置換行列を勉強しましたが、これをDSM(Design Structure Matrix)に応用してみます。 otepipi.hatenablog.com 例題 以下のDSMを対角線上に非ゼロ要素が集まるように行列演算で並べ替えます。 また、今回のDSMの隣接行列は以下の…
今回はJuliaのパッケージMetis.jlでグラフを分割してみます。 github.com 以下の隣接行列からなるグラフを2つに分割してみます。 A=[0 1 0 0 1 1 0; 0 0 0 1 0 0 1; 0 1 0 1 0 0 1; 0 1 1 0 1 0 1; 0 0 0 1 0 1 0; 1 0 0 0 1 0 0; 0 1 1 1 0 0 0] Metis.par…
前々回Juliaでランダムネットワークを生成しましたが、今回はスケールフリー・ネットワークを生成してみます。 otepipi.hatenablog.com スケールフリーネットワークとは ノードの次数分布がべき則で近似できるネットワークのことです。 一方、以前紹介したラ…
この記事は以下の大著を大いに参考にしています。 いつか書評記事を書きたいですね。 ネットワーク科学: ひと・もの・ことの関係性をデータから解き明かす新しいアプローチ作者: アルバート・ラズロバラバシ,Albert‐L´aszl´o Barab´asi,池田裕一,井上寛康,谷…
前回はDSM(Design Structure Matrix)をMatlabのheatmapで描画し、さらにネットワーク可視化を行いましたが、今回はJulia言語でそれをやってみます。 前回の記事は以下 otepipi.hatenablog.com heatmapでDSMの可視化 wikipediaのDSM例を描画します。 今回、…
今回はOctaveとJuliaの行列演算速度を比較してみます。 高速と言われるJuliaですが、Octaveと比べてどの程度早いのでしょうか? 題材は以下より、n ×n行列とn×1列の積をとります。 この計算速度は一般的にO(n2)になるとされています。 MATLABとOctaveによる…
以下の記事に使用した計算モデルに間違いがあったため修正と、教訓のために記事を残しておきます。 otepipi.hatenablog.com otepipi.hatenablog.com 何を間違ったか プラントモデルに使用する数式を間違えました 上記記事では以下の例題を扱っておりました。…
これまで何回かJuliaでPID制御をする記事を書きましたが、コードの正しさを確認する検定を行っていなかったので今回はそれを確認します。 過去の記事は以下 otepipi.hatenablog.com otepipi.hatenablog.com otepipi.hatenablog.com 今回の検定内容 ジーグラ…
今回は前2回と同様にMarkdown Preview Enhancedを使い、今回はJuliaを実行してみます。 otepipi.hatenablog.com otepipi.hatenablog.com shd101wyy.github.io 前提として、Juliaがシステム環境変数Pathに登録されている必要があります。 Markdownで下記のよ…
最近巷ではDockerが流行していることもあり、私も勉強のためシミュレーション環境をDockerに移行してみたいと考えています。 導入に向けての記録を備忘録代わりにとっておきます。 環境 win10 Home 64bit intel core i7 事前準備としてタスクマネージャーの…
この記事中のプログラムコードには誤りがあります。 詳細は下記記事を御覧ください。 otepipi.hatenablog.com 前回からの続きです。今回は前回のオートチューニングで得られたパラメーターを当てはめてPIDしてみます。 前回は↓ otepipi.hatenablog.com 得ら…
この記事中のプログラムコードには誤りがあります。 詳細は下記記事を御覧ください。 otepipi.hatenablog.com 今回はJuliaでPIDパラメーターのオートチューニングを行ってみます。 今回、PIDのオートチューニングにはジーグラ・ニコルスのステップ応答を使用…
前回、JuliaでPI制御を実装しましたので、今回はそれに微分ゲインを加えてPID制御にします。 otepipi.hatenablog.com 離散的であるプログラムでの実装では微分制御は以下の式で実装できます。 $$ \begin{equation} u_d(t)=k_d \frac{e_t - e_{t-1}}{⊿t} \end…