MATLAB,Python,Scilab,Julia比較 その39【波形表示方法①】

MATLAB,Python,Scilab,Julia比較 その39【波形表示方法①】 数値計算
MATLAB,Python,Scilab,Julia比較 その39【波形表示方法①】

バックナンバーはこちら。
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');
MATLAB複数グラフ、sin、cos、subplot、plot
太郎くん
太郎くん

‘–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でグラフ分割。
    • ラインスタイル、色、マーカの指定が可能。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました