# 両対数グラフの散布図を作成する【MATLAB】 ###### tags: `MATLAB` `実験レポート` 検索しても微妙な英語のyoutube動画しか出てこなくない?と思い作成 累乗近似直線も書きます エディタにコピペすればおk csvファイルを読み込ませて自動化させるなど改善の余地あり ``` %コマンドウィンドウにmat1=zeros(要素数, 2) で配列 mat1(n行,2列)を作る % mat1(:,1)がx mat1(:,2)がyとなるようにエディタにペースト figure(1); scatter(mat1(:,1), mat25(:,2), 12, "black","o"); %プロットのみ散布図を作成  hold on; %別系列の追加を宣言 p1=polyfit(log(mat1(end-9:end, 1)),log(mat1(end-9:end, 1)), 2); xp1=logspace(log10(5), log10(20),3); yp1=exp(p1(2)).*xp1.^p1(1); plot(xp1,yp1); %累乗近似直線の追加(線形になっている部分の抽出) %最後の10個がいい感じだったのでそこだけピックアップ サンプル数と行番号は適宜変える hold off; label1= 'プロット'; label2= 'y=exp(p1(2)) \times 10^{-9} \times x^{p1(1)}$'; legend(label1,label2,'Interpreter','latex'); %凡例追加 LaTeX型式 日本語と混ぜると数式がバグるので妥協した %exp(p1(2))とp1(1)は計算した実数値に直す grid on; %補助線表示 set(gca, "XScale", "log", 'YScale', 'log','XLim',[5, 20],'YLim', [5E-8,2E-6]) %get currernt axis 両対数グラフにして適当に範囲指定 xlabel('$x \quad \textsf{tanni}$','Interpreter','latex'); ylabel('$y \quad \textsf{tanni}$','Interpreter','latex'); %軸ラベル名 LaTeX型式 日混数バ妥 saveas(gcf,"graph1.png") %get current figure png保存 matlabフォルダ内