MATLAB ログプロット

Ammar Ali 2023年1月30日
  1. MATLAB で loglog() 関数を使用した両対数プロット
  2. MATLAB で semilogx() 関数を使用した両対数プロット
  3. MATLAB で semilogy() 関数を使用した両対数プロット
MATLAB ログプロット

このチュートリアルでは、MATLAB の loglog()semilogx()、および semilogy() 関数を使用して、変数を対数スケールでプロットする方法について説明します。

MATLAB で loglog() 関数を使用した両対数プロット

x 軸と y 軸の 10 を底とする対数スケールで変数をプロットする場合は、loglog() 関数を使用できます。以下のコードを参照してください。

a = logspace(0,10);
b = 3.^a;
loglog(a,b)
grid on

出力:

loglog()関数を使用した Matlab の両対数プロット

上の図では、両方の軸が基数 10 の対数スケールであることがわかります。さまざまな線のスタイル、マーカー、および色を使用してプロットを変更することもできます。たとえば、上記の変数をさまざまなプロパティで再度プロットしてみましょう。以下のコードを参照してください。

a = logspace(0,10);
b = 3.^a;
loglog(a,b,'-ok','LineWidth',3)
grid on
axis tight

出力:

loglog()関数を使用した Matlab の両対数プロット-2

上記のコードでは、基数 10 の対数スケールで、線幅 3、円マーカー、および黒色で変数をプロットしています。loglog() 関数で、マーカーサイズ、マーカーエッジの色、マーカーの面の色などの他のプロパティを変更することもできます。同じ図に複数の変数をプロットすることもできます。たとえば、上の図に別の変数をさまざまな色とマーカーでプロットしてみましょう。以下のコードを参照してください。

a = logspace(0,10);
b = 3.^a;
c =1./b;
lg = loglog(a,b,a,c,'--dg','LineWidth',3)
grid on
axis tight
lg(1).Color = 'r';

出力:

loglog()関数を使用した Matlab の両対数プロット-3

legend() 関数を使用してプロットに凡例を追加し、どのプロットがどの変数に属しているかを示すこともできます。以下のコードを参照してください。

a = logspace(0,10);
b = 3.^a;
c =1./b;
lg = loglog(a,b,a,c,'--dg','LineWidth',3)
grid on
axis tight
lg(1).Color = 'r';
legend('Variable1','Variable2','Location','east')

出力:

loglog()関数を使用した Matlab の両対数プロット-4

loglog() 関数を使用して行列をプロットすることもできます。マトリックスの場合、各列は同じ図に異なる色の異なる変数としてプロットされます。以下のコードを参照してください。

a = 1:10;
b = 2*a;
c = 3*a;
mat = [a;b;c];
lg = loglog(mat)
grid on
axis tight

出力:

loglog()関数を使用した Matlab の両対数プロット-5

上記のコードでは、10 列を含む行列をプロットしています。図からわかるように、各列に 1つずつ、合計 10 行あります。

MATLAB で semilogx() 関数を使用した両対数プロット

変数を基数 10 の対数スケールの x 軸と線形スケールの y 軸にプロットする場合。semilogx() 関数を使用できます。以下のコードを参照してください。

a = 1:100;
b = 2*a;
lg = semilogx(a,b)
grid on
axis tight

出力:

semilogx()関数を使用した Matlab の両対数プロット

上の図では、x 軸のみが基数 10 の両対数スケールになっています。また、線のスタイル、マーカー、色が異なる複数の変数と行列をプロットして、loglog() 関数。legend() 関数を使用して、プロットに凡例を追加することもできます。

MATLAB で semilogy() 関数を使用した両対数プロット

変数を基数 10 の対数スケールの y 軸と線形スケールの x 軸にプロットする場合。semilogy() 関数を使用できます。以下のコードを参照してください。

a = 1:100;
b = 2*a;
lg = semilogy(a,b)
grid on
axis tight

出力:

semilogx()関数を使用した Matlab の両対数プロット

上の図では、y 軸のみが基数 10 の対数目盛になっていることがわかります。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - MATLAB Plot