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

Note

yalmip と Simulink 線形解析の関数の干渉

突然 Simulink の線形解析のコマンドが動かなくなり,原因を追及したところ yalmipと関数名がかぶっていることがわかりました。 見つけにくいバグなので注意して下さい。

FigToolsの使い方

Publication-Quality-Figures Matlab Toolbox.

Install

  1. Download FigTools (Creared by Thomas Beauduin)
    Clone or download → Open in Desktop
  2. 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');

外見変更

おすすめフォント

Migu 1M

MATLABの背景色をVisualStudioのカラーテーマにする

  1. Download
    1. matlab-schemer
    2. visualStudio.prf (attached)
  2. Run schemer_import.m
  3. Select visualStudio.prf

MATLABの背景を Monokai (SublimeText) などのカラーテーマにする

パッケージをGitHubからダウンロード
GitHub / matlab-schemer

設定方法は以下のサイト参照
MATLABのカラースキームを変更する