バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia-backnumber/
はじめに
前回までで、各ツール、各言語のユーザ関数作成方法について説明。
行列云々とは関係ない機能ではあるが、
人間がコードを管理する上では重要な機能ではある。
そして、今回からやる波形表示も人間のための機能にあたる。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
計算したものは表示したい

行列とか関係無しでプログラムだけの話だと気が楽だねー。

最初の目的からすると少し外れてはいるが、
まぁ関数の定義はソースコードを適切に分解するのは重要だからな。

とすると、今回からまた行列絡みの意味わからん話になるのか・・・。

(意味わからん話って・・・。)

まぁ今回もプログラム的な話を継続する予定だ。

ほう?なにするの?

波形表示だな。

MTALABとかだとplotとかするやつだね。

そうそう。
まぁ実は各言語似たような仕様になってるし、
ここで一気に確認しても良いかもしれない。

確かにMATLABとPythonはそっくりだった記憶はあるよ。
MATLABの場合

まずはMATLAB。
plot関数を呼べばOKだ。
>> x=linspace(0,2*pi,200);
>> hold on;
>> plot(x,sin(x),'--r');
>> plot(x,cos(x),'-.b');


hold onは続けて同一のグラフにplotしたい場合に使用する。
新規に別Windowsでグラフを生成したい場合はhold offにする。
ちなみにhold offがデフォルトだ。

あと、複数のグラフを表示するパターンがあったよね?

subplotを使うパターンだな。
グラフ配置を縦に2つ、横3つ置く場合は以下になるな。
>> x=linspace(0,2*pi,200);
>> hold on;
>> subplot(2,3,1)
>> plot(x,sin(x),'--r');
>> subplot(2,3,2)
>> plot(x,cos(x),'-.b');
>> subplot(2,3,3)
>> plot(x,sin(x),'--r');
>> subplot(2,3,4)
>> plot(x,cos(x),'-.b');
>> subplot(2,3,5)
>> plot(x,sin(x),'--r');
>> subplot(2,3,6)
>> plot(x,cos(x),'-.b');


‘–r’とか’-.b’は「ラインスタイル」と「色」だね。
ラインスタイル

代表的なラインスタイルを書き出しておこう。
指定子 | 線種 |
---|---|
‘-‘ | 実線 (既定の設定) |
‘–‘ | 破線 |
‘:’ | 点線 |
‘-.’ | 一点鎖線 |
色指定

色も代表的なのあるよね。

これだな。
指定子 | 色 |
---|---|
r | 赤 |
g | 緑 |
b | 青 |
c | シアン |
m | マゼンダ |
y | 黄 |
k | 黒 |
w | 白 |
マーカ指定

あとは、plotした点を変えることも可能だ。
指定子 | マーカタイプ |
---|---|
‘+’ | プラス記号 |
‘o’ | 円 |
‘*’ | アスタリスク |
‘.’ | 点 |
‘x’ | 十字 |
‘square’ または ‘s’ | 正方形 |
‘diamond’ または ‘d’ | 菱形 |
‘^’ | 上向き三角形 |
‘v’ | 下向き三角形 |
‘>’ | 右向き三角形 |
‘<‘ | 左向き三角形 |
‘pentagram’ または ‘p’ | 星形五角形 |
‘hexagram’ または ‘h’ | 星形六角形 |

とりあえずはここら辺を抑えておけば困ることはないねー。
まとめ

まとめだよ。
- ユーザ関数定義に引き続き、波形表示も人間向け機能。
- MATLABによる波形表示を確認。
- plotで表示。
- hold onで同一グラフに表示させる設定が可能。
- subplotでグラフ分割。
- ラインスタイル、色、マーカの指定が可能。
バックナンバーはこちら。
コメント