MATLAB - 繪製陣列



資料視覺化有助於理解複雜的資訊,而 MATLAB 作為一種強大的程式語言,可以將原始數字轉換為有意義的視覺表示。

MATLAB 提供了強大的資料視覺化工具,繪製陣列是將數值資訊以圖形方式表示的基本技術。無論您是處理一維陣列、矩陣還是多維陣列,MATLAB 的繪圖函式都提供了各種選項來建立有洞察力的視覺化效果。

MATLAB 提供了廣泛的繪圖函式和自定義選項,使使用者能夠建立各種各樣的視覺化效果。

在 Matlab 中進行繪圖時,我們具有以下優勢:

  • 線圖、散點圖、條形圖、直方圖、曲面圖等滿足 Matlab 中不同資料型別和分析需求。
  • 您可以控制顏色、標記、線型、座標軸屬性和註釋,從而可以根據特定需求調整繪圖。
  • MATLAB 的繪圖可以進行互動,允許縮放、平移和資料檢查,以便進行更深入的探索。

matlab 中可用的基本繪圖函式如下:

  • plot() 函式 - 建立線圖以視覺化變數或函式之間的關係。
  • scatter() 函式 - 生成散點圖,非常適合顯示單個數據點。
  • bar() 函式 - 構造條形圖,用於比較分類資料。

在 Matlab 中繪製陣列

要在 matlab 中繪製陣列,我們需要首先建立一個數組。一個用於 X 軸,另一個用於 Y 軸。

讓我們以如下所示的簡單示例為例:

示例 1

X = [16, 2, 3,13, 5];
Y = [1, 3, 5, 7, 20];

因此,這裡 X 現在是將在 X 軸上繪製的座標,而 Y 陣列具有將在 Y 軸上繪製的座標。

現在 X 和 Y 陣列已定義,讓我們利用 Matlab 中可用的 plot() 函式來繪製它。

用於繪圖的程式碼如下:

% An array with coordinates that needs to be plotted
X = [16, 2, 3,13, 5];
Y = [1, 3, 5, 7, 20];
% Plotting the array using plot() function
plot(X, Y);

現在讓我們在 matlab 中執行程式碼,這將向我們顯示線圖,其中 X 中的值繪製在 x 軸上,陣列 Y 中的值繪製在 y 軸上。

plotting array

執行後,您可以看到顯示繪製值線圖的圖形。讓我們為它新增更多自定義。

首先,讓我們為 X 軸和 Y 軸新增標籤,現在我們在圖形上看不到任何標籤。

實現此目的的程式碼如下所示:

% An array with coordinates that needs to be plotted
X = [16, 2, 3,13, 5];
Y = [1, 3, 5, 7, 20];
% Plotting the array using plot() function
plot(X, Y);

執行後的輸出如下:

plot function

要新增標籤,只需使用 xlabel 和 ylabel 方法,並使用您希望在軸上看到的標籤。

現在讓我們使用 legend() 和 title() 方法向上面的圖形新增圖例和標題。相同的程式碼如下所示:

% An array with coordinates that needs to be plotted
X = [16, 2, 3,13];
Y = [1, 3, 5, 7];
% Plotting the array using plot() function
plot(X, Y);
xlabel('X-axis');
ylabel('Y-axis');
title('Array Plotting');
legend('coordinates');

當您執行相同操作時,輸出如下所示:

coordinates

現在讓我們將線繪製轉換為虛線,標記為圓圈,顏色為綠色。它的程式碼 -

% An array with coordinates that needs to be plotted
X = [16, 2, 3,13];
Y = [1, 3, 5, 7];
% Plotting the array using plot() function
plot(X, Y, '--go', 'LineWidth', 1, 'MarkerSize', 4);
xlabel('X-axis');
ylabel('Y-axis');
title('Array Plotting');
legend('coordinates');

執行後的輸出為:

array plotting

示例 2

使用陣列進行繪圖的另一個示例如下所示:

% Generate sample data
x = linspace(0, 10, 100); % Create an array of 100 points from 0 to 10
y = sin(x); % Compute sine values for each point in x

% Plot the data
plot(x, y);
title('Sine Wave');
xlabel('x-axis');
ylabel('sin(x)');

這裡 linspace() 生成一個從 0 到 10 的 100 個點的陣列。sin() 計算陣列中每個點的正弦值。plot() 使用 x 和 y 值建立線圖。

title()、xlabel() 和 ylabel() 方法向繪圖新增標籤和標題。

此示例透過繪製從 0 到 10 的陣列 x 相對的 sin 函式來生成正弦波。生成的繪圖展示了 x 值與其相應的正弦值之間的關係。

執行後的輸出如下:

sin wave

使用陣列進行多線繪製

考慮以下我們獲得的資料:

x = linspace(0, 10, 100); % Create an array of 100 points from 0 to 10
y1 = sin(x); % Compute sine values for each point in x
y2 = cos(x); % Compute cosine values for each point in x

linspace(0,10,100) 建立一個從 0 到 10 的 100 個點的陣列。此外,我們有 sin(x) 和 cos(x),它們將為 x 中的每個陣列值生成正弦值,併為 x 中的每個陣列值生成餘弦值。

讓我們使用 plot() 函式進行繪圖。程式碼如下:

% Generate sample data
x = linspace(0, 10, 100); % Create an array of 100 points from 0 to 10
y1 = sin(x); % Compute sine values for each point in x
y2 = cos(x); % Compute cosine values for each point in x

% Plot both sine and cosine functions
plot(x, y1, 'r--', x, y2, 'b-.');
title('Sine and Cosine');
xlabel('x');
ylabel('y');
legend('sin(x)', 'cos(x)');

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

sine cosine
廣告

© . All rights reserved.