システムとモデリング

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

MatlabのクラスタリングプログラムでDSMを整理する

今回は以下のサイトで公開されているMatlabのクラスタリングプログラムを使用してDSMをクラスタリングしてみます。 MATLAB Macro for Clustering DSMsdsmweborg.wordpress.com またこのプログラムを作った背景や詳しい内容は下記pdfにあります。 http:/…

DSMの情報収集に役立つサイト

DSM

DSM(Design Structure Matrix)の情報を集める上でおすすめのサイトを紹介致します。 といっても2つしかないですが……DSMは情報が少なすぎますね。むしろこちらから役立つ情報を発信していきたいと思います。 dsmweborg DSMの概要から商用ツールの解説まで、…

DSMを置換行列で並べ替える

前回の記事で行列を並べ替える置換行列を勉強しましたが、これをDSM(Design Structure Matrix)に応用してみます。 otepipi.hatenablog.com 例題 以下のDSMを対角線上に非ゼロ要素が集まるように行列演算で並べ替えます。 また、今回のDSMの隣接行列は以下の…

DSMに必要な数学:行列で行列を置換する

DSM

今回はDSM(Design Structure Matrix)の活用に必要な行列の並べ替えについて実施してみます。 DSMについては以下の記事を参照してください。 otepipi.hatenablog.com 行列の並べ替え DSMでは分析過程で行列の並べ替えを行います。 例えば上のようなDSMを次の…

DSM(Design Structure Matrix)の概略

DSM

今回は設計手法の1つであるDSM(Design Structure Matrix)について概略をまとめてみます。 他、Design Structure Matrixについての記事は以下 otepipi.hatenablog.com またこの記事は以下を大いに参考にしています。 デザイン・ストラクチャー・マトリクス D…

Metis.jlでグラフを分割する

今回は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…

ビジネスモデル図解とCVCA(Customer Value Chain Analysis)を比較する

最近書店で『ビジネスモデル2.0図鑑』をよく見かけます。大変な良書のようです。 ビジネスモデル2.0図鑑 作者: 近藤哲朗 出版社/メーカー: KADOKAWA 発売日: 2018/09/29 メディア: 単行本 この商品を含むブログ (2件) を見る ビジネスモデル図解は製品設計手…

Juliaでスケールフリー・ネットワークの生成と可視化

前々回Juliaでランダムネットワークを生成しましたが、今回はスケールフリー・ネットワークを生成してみます。 otepipi.hatenablog.com スケールフリーネットワークとは ノードの次数分布がべき則で近似できるネットワークのことです。 一方、以前紹介したラ…

DSM・ネットワーク・グラフ理論関係 読んだ本まとめ

今回は最近読んだDSM・ネットワーク関係、グラフ理論関係の本をまとめていきます。 備忘録的な内容になりますのでご容赦ください。 DSM関係 事の発端は設計手法・プロジェクトマネジメント手法の一種であるデザインストラクチャーマトリックス法(Design Str…

Juliaでランダム・ネットワークを生成して可視化する

この記事は以下の大著を大いに参考にしています。 いつか書評記事を書きたいですね。 ネットワーク科学: ひと・もの・ことの関係性をデータから解き明かす新しいアプローチ作者: アルバート・ラズロバラバシ,Albert‐L´aszl´o Barab´asi,池田裕一,井上寛康,谷…

ポケモン ネットワーク分析で新タイプの相性を考える試み

前回に引き続きポケモンを題材にします。 前回それぞれのタイプの優秀さを比較して、それなりに格差があることがわかりました。 今回は『新タイプ』を追加して格差をやわらげることを考えてみたいと思います。 前回の記事は以下 otepipi.hatenablog.com 前回…

最も優秀なタイプは?ポケモンのタイプ相性をネットワーク分析する。

グラフ理論・ネットワーク分析の勉強も進んできたのでそれらを応用して、ポケモンのタイプ相性をネットワーク分析してみたいと思います。 隣接行列の作成 ネットワークをプロットする基になる隣接行列を作成します。 まず、ポケモンの公式サイトからタイプ相…

グラフ理論の用語集

Design Structure Matrixを調べているうちに、これの理解にはグラフ理論の勉強が必須と思うようになりましたので以下の本を通読しました。 グラフ理論入門作者: R.J.ウィルソン,Robin J. Wilson,西関隆夫,西関裕子出版社/メーカー: 近代科学社発売日: 2001/1…

DSM-Design Structure MatrixをJulia言語のheatmap(by Seaborn)で描画&ネットワーク可視化(by GraphPlot)

前回はDSM(Design Structure Matrix)をMatlabのheatmapで描画し、さらにネットワーク可視化を行いましたが、今回はJulia言語でそれをやってみます。 前回の記事は以下 otepipi.hatenablog.com heatmapでDSMの可視化 wikipediaのDSM例を描画します。 今回、…

DSM-Design Structure MatrixをMatlabのHeatMapで描画&ネットワーク可視化

前回の記事ではDSM(Design Structure Matrix)をJavaScriptで描画しましたが、今回はMatlabのHeatMapで描画してみます。Matlabはやはり有料ソフトだけあってかドキュメントが充実しており、HeatMap内のannotationの付け方もすぐにわかりました。 前回の記事…

DSM-Design Structure MatrixをD3.jsで描画してみる

DSM

DSM(Design Structure Matrix)はシステムのモデリング手法の1つで、要素間の関係を行列形式で表すものです。モデリング手法は各種存在しますが、DSMはその中でもグラフ理論・行列計算というしっかりした数学的バックグラウンドがあり、またシンプルな手法で…

【PlantUMLの使い方】PlantUMLでタイミングチャートを作成する

PlantUML関連が続いてしまっていますが、しばらくチェックしていない間に機能がかなり増えているので紹介しきってしまいたいとお見ます。 今回は新たに追加されたタイミングチャートの紹介です。 タイミングチャートはオブジェクトの状態を時系列で表す図でU…

【PlantUMLの使い方】PlantUML マインドマップのVisual Studio Codeスニペット

前回PlantUMLのマインドマップの記事を上げましたので、今回はVisual Studio CordのPlantUMLマインドマップスニペットを作成します。 otepipi.hatenablog.com また同じくPlantUMLのWBSのスニペットの紹介を下記記事でしておりますので、Visual Studio Cordの…

【PlantUMLの使い方】PlantUMLでマインドマップを作成する

コードで図が書ける便利なPlantUMLに最近マインドマップ描画機能が追加されたので試してみたいと思います。 PlantUML関連の記事は以下 otepipi.hatenablog.com otepipi.hatenablog.com otepipi.hatenablog.com otepipi.hatenablog.com マインドマップの例題 …

【PlantUMLの使い方】PlantUML WBSのVisual Studio Codeスニペット

前回、PlantUMLのWBSについての記事を書きました。 otepipi.hatenablog.com 今回はこのPlantUML WBSのVisual Studio Codeのスニペットを作成していきます。 Visual Studio Codeは軽量多機能のエディターで、開発環境としては最もシェアがあります。 insights…

【PlantUMLの使い方】PlantUMLでWBS (Work Breakdown Structure)を作成する

PlantUMLはプログラムコードから図を生成できる便利なツールですが、2019年の3月末に機能が追加されWBS(Work Breakdown Structure)が作成できるようになりましたので、この記事で紹介します。 当ブログでは以前にもPlantUMLでいろいろな図を作っていました…

捕食者の個体数をPID制御する

今回は前回に引き続き、PID制御とはあまり関係のなさそうな分野で無理やりPID制御を導入してみます。 前回の記事は以下 otepipi.hatenablog.com 今回は生物の捕食ー非捕食関係下の個体数の変動を取り扱います。 捕食者、非捕食者の個体数の関係はロトカ・ヴ…

魚の体重をPID制御する

今回はPID制御を用いて魚の体重をコントロールしてみます。 魚の体重の成長曲線を示すモデルとしてフォン・ベルタンフィーモデルがよく知られています。 $$ \frac{dw}{dt} = \alpha w^{2/3} - \beta w $$ ここで$w$は魚の体重を示します。また右辺第一項は栄…

OctaveとMatlabの速度比較

前回に引き続きOctaveとMatlabで速度比較をしてみます。 前回は以下 otepipi.hatenablog.com 今回はOctave, Matlabともに前回と同じ以下のコードで計算させてみます。 n = 10000; step = 100; A = rand(n,n); v = rand(n,1); T = [ ]; sizeA =[ ]; for k = 5…

OctaveとJuliaの行列演算速度を比較する

今回はOctaveとJuliaの行列演算速度を比較してみます。 高速と言われるJuliaですが、Octaveと比べてどの程度早いのでしょうか? 題材は以下より、n ×n行列とn×1列の積をとります。 この計算速度は一般的にO(n2)になるとされています。 MATLABとOctaveによる…

Octaveでメッシュを作成する DistMesh

今回は制御工学ではなく有限要素法に関係する内容です。 有限要素法についても全く素人なのですが、Octaveでメッシュを作成するプログラムが公開されていましたので、それのチュートリアルを試してみたいと思います。 DistMesh DistMeshはMATLABとGNU Octave…

プラントの理論モデルに使用する式には注意しよう(戒め)

以下の記事に使用した計算モデルに間違いがあったため修正と、教訓のために記事を残しておきます。 otepipi.hatenablog.com otepipi.hatenablog.com 何を間違ったか プラントモデルに使用する数式を間違えました 上記記事では以下の例題を扱っておりました。…

JuliaでPID制御:自動調整の検定

これまで何回かJuliaでPID制御をする記事を書きましたが、コードの正しさを確認する検定を行っていなかったので今回はそれを確認します。 過去の記事は以下 otepipi.hatenablog.com otepipi.hatenablog.com otepipi.hatenablog.com 今回の検定内容 ジーグラ…

ブログテーマを変更しました

突然ですがブログテーマを『Push-up』に変更しています。 blog.hatena.ne.jp タイトルの文字の大きさやタイトルの高さなど、CSSをいくら弄っても反映されず(私の環境からはそう見える)苦戦している状況です。 しばらくの間レイアウトがコロコロ変わるかと…

MarkdownでJuliaを実行する

今回は前2回と同様にMarkdown Preview Enhancedを使い、今回はJuliaを実行してみます。 otepipi.hatenablog.com otepipi.hatenablog.com shd101wyy.github.io 前提として、Juliaがシステム環境変数Pathに登録されている必要があります。 Markdownで下記のよ…