MATLAB - 對數座標軸繪圖



MATLAB 中的對數座標軸繪圖提供了一個強大的工具,用於視覺化跨越幾個數量級的數

什麼是對數刻度?

對數刻度基於數字的對數。在繪圖的上下文中,對數刻度透過取每個資料點的對數來轉換資料。

在處理表現出指數行為的現象時,對數刻度尤其有利。例如,在科學和工程應用中,訊號強度、

以下是一些您可以繪製對數刻度的方法。

  • 使用 loglog() 方法
  • 使用 semilogx() 方法

使用 loglog() 方法

loglog() 方法有助於對數刻度繪圖。以下是它的語法。

語法

loglog(X,Y)
loglog(X,Y,LineSpec)
loglog(X1,Y1,...,Xn,Yn)
loglog(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)
loglog(Y)
loglog(Y,LineSpec)

語法的詳細解釋如下:

loglog(X,Y) − MATLAB 中的 loglog 函式旨在建立使用 X 和 Y 向量中指定的座標進行

loglog(X,Y,LineSpec) − 使用 loglog(X, Y, LineSpec) 允許您生成具有指定線型、

loglog(X1,Y1,...,Xn,Yn) − 語法 loglog(X1, Y1, ..., Xn, Yn) 允許您在共享的

loglog(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) − 允許您為各個 x-y 對分配不同的

loglog(Y) − 使用 loglog(Y) 時,該函式會針對一組隱式 x 座標繪製 Y。如果 Y 是向量,

loglog(Y,LineSpec) − 涉及針對隱式 x 座標繪製 Y,同時透過指定的 LineSpec 定義線型、

讓我們對上面提到的每個語法都舉例說明。

示例 1:使用 loglog(X,Y)

程式碼如下:

X = logspace(1, 3, 100);
Y = 2*X.^2;
loglog(X, Y);

這裡,loglog 函式用於建立在 x 軸和 y 軸上都使用以 10 為底的對數刻度的繪圖。

當您在 matlab 命令視窗中執行程式碼時,輸出為:

loglog

此處的程式碼為:

X = logspace(1, 3, 100);
Y = 2*X.^2;
loglog(X, Y, 'r--o');

在此示例中,loglog(X, Y, 'r--o') 語法用於建立在 x 軸和 y 軸上都使用以 10 為底的對數刻度的

當您在 matlab 命令視窗中執行程式碼時,輸出為:

loglog linespec

示例 2:使用 loglog(X1,Y1,...,Xn,Yn)

程式碼如下:

X1 = logspace(1, 3, 100);
Y1 = 2*X1.^2;

X2 = logspace(1, 3, 100);
Y2 = 500./X2;

loglog(X1, Y1, 'b-', X2, Y2, 'r--');

在此示例中,loglog(X1, Y1, 'b-', X2, Y2, 'r--') 用於建立在以 10 為底的對數刻度上繪製兩個資料集

當您在 matlab 命令視窗中執行程式碼時,輸出為:

loglog xn yn

示例 3:使用 loglog(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)

上述語法的程式碼如下所示:

X1 = logspace(1, 3, 100);
Y1 = 2*X1.^2;

X2 = logspace(1, 3, 100);
Y2 = 500./X2;
loglog(X1, Y1, 'bo-', X2, Y2, 'r--');

在此示例中,loglog(X1, Y1, 'bo-', X2, Y2, 'r--') 用於建立在以 10 為底的對數刻度上繪製兩個資料集

當您在 matlab 命令視窗中執行程式碼時,輸出為:

linespec1 linespecn

示例 4:使用 loglog(Y)

在此示例中,loglog(Y_vector) 用於為向量 (Y_vector) 建立 loglog 繪圖。

Y_vector = logspace(1, 3, 100); 
loglog(Y_vector);

當您在 matlab 命令視窗中執行相同的操作時,輸出為:

loglog y vector

示例 5:使用 loglog(Y,LineSpec)

上述語法的程式碼如下:

Y_vector = logspace(1, 3, 10);
loglog(Y_vector, 'o-', 'LineWidth', 2, 'MarkerSize', 8, 'MarkerFaceColor', 'r');

在此示例中,loglog(Y_vector, 'o-', 'LineWidth', 2, 'MarkerSize', 8, 'MarkerFaceColor', 'r') 用於為向

當您在 matlab 命令視窗中執行相同的操作時,輸出為:

linewidth markersize

使用 semilogx() 方法

MATLAB 中的 semilogx() 函式用於建立在 x 軸上以對數刻度顯示,而在 y 軸上以線性刻度顯示的

語法

以下是使用 semilogx() 方法的語法。

semilogx(X,Y)
semilogx(X,Y,LineSpec)
semilogx(X1,Y1,...,Xn,Yn)
semilogx(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)
semilogx(Y)
semilogx(Y,LineSpec)

語法的詳細解釋如下:

semilogx(X,Y) − 它建立一個在 x 軸上使用以 10 為底的對數刻度,在 y 軸上使用線性刻度

semilogx(X,Y,LineSpec) − 使用 semilogx(X, Y, LineSpec) 生成具有指定線型、標記和

semilogx(X1,Y1,...,Xn,Yn) − 它有助於在共享的一組軸上繪製多組 x 和 y 座標。此語法形

semilogx(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) − 它為各個 x-y 對分配不同的線型、

semilogx(Y) − 以圖形方式表示 Y 相對於一組固有的 x 座標。對於向量 Y,x 座標範圍從 1 到 Y 的長度。當 Y 是矩陣時,每一列在圖上貢獻一條單獨的線,並且 x 座標從 1 擴充套件到 Y 的行數。

semilogx(Y,LineSpec) − semilogx(Y, LineSpec) 使用隱式 x 座標描繪 Y 中的資料,同時允許透過指定的 LineSpec 自定義線型、標記和顏色。

讓我們看看每種語法的幾個示例。

示例 1:使用 semilogx(X,Y)

上述語法的程式碼如下:

X = logspace(1, 3, 100);
Y = 2*X.^2;
semilogx(X, Y);

在此示例中,semilogx(X, Y) 建立一個圖,其中 x 軸使用以 10 為底的對數刻度表示,y 軸使用線性刻度。

當您在 matlab 命令視窗中執行相同的操作時,輸出為:

當您在 matlab 命令視窗中執行相同的操作時,輸出為:

semilogx

示例 2:使用 semilogx(X,Y,LineSpec)

上述語法的程式碼為 −

X = logspace(1, 3, 100);
Y = 2*X.^2;
semilogx(X, Y, 'r--o');

在此示例中,semilogx(X, Y, 'r--o') 生成一個圖,其中 x 軸採用對數刻度,y 軸採用線性刻度。LineSpec 引數 ('r--o') 指定一條紅色虛線,帶有圓形標記。這允許您使用定義的線型、標記和顏色自定義繪圖的外觀。

semilogx linespec

示例 3:使用 semilogx(X1,Y1,...,Xn,Yn)

上述語法的程式碼為 −

X1 = logspace(1, 3, 100);
Y1 = 2*X1.^2;

X2 = logspace(1, 3, 100);
Y2 = 1.5*X2.^1.5;

semilogx(X1, Y1, 'b-', X2, Y2, 'r--');

在此示例中,semilogx(X1, Y1, 'b-', X2, Y2, 'r--') 用於建立包含兩個資料集的圖,x 軸採用以 10 為底的對數刻度,y 軸採用線性刻度。藍色線表示第一個資料集,紅色虛線表示第二個資料集。

當您在 matlab 命令視窗中執行相同的操作時,輸出為:

semilogx xn yn

示例 4:使用 semilogx(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)

上述語法的程式碼為 −

X1 = logspace(1, 3, 100);
Y1 = 2*X1.^2;

X2 = logspace(1, 3, 100);
Y2 = 1.5*X1.^1.5;

semilogx(X1, Y1, 'b-o', X2, Y2, 'r--'); 

在此示例中,semilogx(X1, Y1, 'b-o', X2, Y2, 'r--') 用於建立包含兩個資料集的圖,x 軸採用以 10 為底的對數刻度,y 軸採用線性刻度。

當您在 matlab 命令視窗中執行程式碼時,輸出為:

semilogx linespec1 linedpecn

示例 5:semilogx(Y)

上述語法的程式碼如下:

Y_vector = logspace(1, 3, 10);
semilogx(Y_vector);

在此示例中,semilogx(Y_vector) 用於為向量 (Y_vector) 建立一個圖。程式碼執行後,輸出如下所示 −

semilogx ,y

示例 6:semilogx(Y)

上述程式碼的語法 −

Y = logspace(1, 3, 10);
semilogx(Y, 'r--o', 'LineWidth', 2, 'MarkerSize', 8, 'MarkerFaceColor', 'b');

在此示例中,semilogx(Y, 'r--o', 'LineWidth', 2, 'MarkerSize', 8, 'MarkerFaceColor', 'b') 用於為向量 (Y) 建立一個圖。LineSpec 引數指定紅色虛線,帶有圓形標記。還自定義了線寬、標記大小和標記填充顏色等其他樣式引數。

當您在 matlab 命令視窗中執行程式碼時,輸出為:

marker face color
廣告

© . All rights reserved.