Matlab memo (自分用覚え書き)

グラフの表示位置
rect=get(gcf,'Position')
figure('Position',rect)
 
2つのグラフを表示
PLOTYY(X1,Y1,X2,Y2)
[ax,h1,h2]=plotyy(X1,Y1,X2,Y2)
 ylim(ax(1),[* *])
 ylabel(ax(2),'***')
 set(ax(1),'XColor','k','YColor','k','Ylim',[* *])
 
右軸に2つのデータをプロット

[hAx,hLine1,hLine2] = plotyy(x,y1,[x',x'],[y2',y3']);

 
X軸に平行な直線
plot([X1 X2], [Y1 Y1]);
 
片対数
semilogy(Y)
 
両対数
loglog(X, Y)
 
ラベルを消す
set(gca, 'YTickLabel', [],'XTickLabel',[],'YTick',[],'XTick',[])
 
反転
set(gca, 'YDir','rev')
 
行列のサイズが確認できない場合
A(1:3:end) = X
 
配列の一意の値の抽出
a=unique(A)
 
置換
A(A<0) = NaN;
A(A==0) =NaN;
 
行列の読み込み
fid=fopen('***','r');
%A=fgets(fid)
B=fscanf(fid,'%f', [72,36])
B=textscan(fid,'%s %d %d %f',[4, 500]);
 
NaNを無視した平均、中央値、分散
nanmean(x)
nanmedian(x)
nanstd(x)
 
figureをクリア
clf
figureを全て閉じる
close all force
 
データラベルのフォント
h=findall(gcf, 'Tag', 'DataTipMarker', 'Type', 'Text');
set(h, 'fontsize', 12)
 
軸フォント
set(gca, 'Fontsize', 12);
ラベルフォント
xlabel(...., 'FontSize', 12);
 
タイトル改行
title({'  ', '  '})
 
Emptyかどうかの判別
TF = isempty(A);  %Empty=1, else=0
 
排他的論理和集合
C=setxor(A, B);
共通集合
C=intersect(A, B);
 
ランダム置換
B=randperm(A);