MATLAB tips - KosekiLab/Wiki_public GitHub Wiki
おすすめToolbox
MATLAB公式
- 制御関係
Control System Toolbox
Symbplic Math Toolbox
System Identification Toolbox
Robust Control Toolbox
Model Predictive Control Toolbox - ワイヤレス,パワエレに必須
Simscape Power Systems
Simscape
その他便利なToolbox
- ThomasBeauduin/FigTools
- HoriFujimotoLab/FdiTools
Frequency Domain System Identificationのためのツールボックス Thomasの解説スライド - HoriFujimotoLab/AcqTools
Myway等の実験データをMATLABに取り込むツールボックス - matlab-schemer
- matlab2tikz
Note
yalmip と Simulink 線形解析の関数の干渉
突然 Simulink の線形解析のコマンドが動かなくなり,原因を追及したところ yalmipと関数名がかぶっていることがわかりました。 見つけにくいバグなので注意して下さい。
FigToolsの使い方
Publication-Quality-Figures Matlab Toolbox.
Install
- Download
FigTools (Creared by Thomas Beauduin)
Clone or download → Open in Desktop - addpath Home → Path settings → Add folder → (例) C:\Users\UserName\Documents\GitHub\FigTools\sourceFiles
Example
Time response
s = tf('s');
G1 = 1/(s+1);
G2 = 2*(s+0.5)/(s+1)^2;
[y1,t1] = step(G1);
[y2,t2] = step(G2);
hfig = figure;
plot(t1,y1,'b-'); hold on;
plot(t2,y2,'r-');
xlabel('Time [s]');
ylabel('Position [m]');
legend('$G_1$','$G_2$');
title('Step response');
pfig = pubfig(hfig);
pfig.LegendLoc = 'best';
expfig('plot/step','-pdf','-emf','-png');
Frequency response
s = tf('s');
G1 = 100/(s^2+10*s+10000);
G2 =100/(s^2+100*s+10000);
freq = logspace(0,3,1000);
[mag1,phase1] = bode(G1,freq*2*pi);
[mag2,phase2] = bode(G2,freq*2*pi);
hfig = figure;
subplot(2,1,1);
semilogx(freq,mag2db(squeeze(mag1)),'b-'); hold on;
semilogx(freq,mag2db(squeeze(mag2)),'r-');
title('Frequency response');
ylabel('Magnitude [dB]');
legend('$G_1$','$G_2$');
subplot(2,1,2);
semilogx(freq,squeeze(phase1).','b-'); hold on;
semilogx(freq,squeeze(phase2).','r-');
set(gca,'ytick',-360:90:360);
xlabel('Frequency [Hz]');
ylabel('Phase [deg]');
pfig = pubfig(hfig);
pfig.LegendLoc = 'best';
expfig('plot/bode','-pdf','-emf','-png');
外見変更
おすすめフォント
MATLABの背景色をVisualStudioのカラーテーマにする
- Download
- matlab-schemer
- visualStudio.prf (attached)
- Run
schemer_import.m
- Select
visualStudio.prf
MATLABの背景を Monokai (SublimeText) などのカラーテーマにする
パッケージをGitHubからダウンロード
GitHub / matlab-schemer
設定方法は以下のサイト参照
MATLABのカラースキームを変更する