みなさんこんにちは,マハトです.

本日,7月ごろに作り始めたMATLAB グラフエディタがついに完成しました!
前回の記事で紹介したものとは大きく変わり,より使いやすく機能も充実させたので,
それらを紹介したい&ソースコードの公開をしたいと思います.

まず,「graph_editor(ノードの数)」 によって起動してみます.今回はノードの数は6個にしました.

起動

6個のノードが円周状に並んでいます.
次にエッジを作ってみましょう.作り方は,始点→終点の順にノードをクリックするだけ.試しに1→2の順にノードをクリックすると……

エッジ1

1→2のエッジが作られました.このとき逆に2→1のエッジを作ってみると,

エッジ2

このように,双方向のエッジに変わります.
こんな感じで好きなノード間にエッジを生成し,グラフを書いていきます.

また, ノードやエッジを右クリックするとメニューが表示されるようになっています.

右クリック


 このメニューを使用することで,ノードやエッジの色や大きさ,太さ等を自由に編集することができます.
試しに色々編集してみたのがこちら↓ 

設定変更

また,各エッジには重みを設定することもできます.メニューバーから「Weigh on」を選択すると……

重み

重みが表示されます.これも重みの数値やフォントサイズ,位置などを自由に設定できます.

他にも,生成したグラフのグラフラプラシアンや隣接行列等を求めることもできます.メニューバーのDisplayからGraph Laplacianを選択してみます.

グラフラプラシアン

コマンドウィンドウに上のグラフのグラフラプラシアンがMATLAB形式で表示されました.正しい値が出力されていると思います.
※グラフラプラシアンや隣接行列の定義は転置されているものとされていないものがありますが,今回は僕がマルチエージェント制御でよく使う方の定義を使用しています.ご了承ください.


ちなみに,作ったグラフはもちろん画像ファイルとして保存できます.今回はfig,png,jpg,eps,svg形式で保存できるようにしてみました.また,figで保存しておくと,メニューバーのFile→Openでそのfigを開くことで再編集することができます.

他にも機能はありますが,紹介しきれないので詳細はフォルダに入っているreadmeをご覧ください.


以上でグラフエディタの紹介は終わりにしようと思います.今回はパズドラとは違ってコードも結構キレイに(あくまで相対的にですが)書いたつもりなので,ソースコードを公開しようと思います.
URLはこちら(Googleドライブです)↓
https://drive.google.com/open?id=0B5hAfc2dCPemQWZFSUp2M1VBVTQ

バグ等が見つかりましたら,この記事のコメント,もしくはreadmeに書いてある連絡先までよろしくお願いします.


ということで,今回の記事は以上になります.
工大祭ではさすがにグラフエディタを展示するのも何なので,MAT&ドLABンズを改造して展示しようかなと思っています.
何も手を付けてないけど,あと1か月あるし何とかなるよね……


おまけ:MATLABで作ったグラフエディタでMATLAB作ってみた
matlabグラフ