在 MATLAB 中建立零陣列

Ammar Ali 2021年11月25日
在 MATLAB 中建立零陣列

本教程將討論使用 MATLAB 中的 zeros() 函式建立零陣列。

使用 MATLAB 中的 zeros() 函式建立零陣列

我們可以使用 Matlab 的 zeros() 函式來建立零陣列或矩陣。此功能不包括多個輸入。如果只提供一個縮放器輸入,zeros() 函式將返回一個 n×n 零矩陣。例如,讓我們建立一個大小為 3×3 的零矩陣。請參閱下面的程式碼。

ZeroV = zeros(3)

輸出:

ZeroV =

     0     0     0
     0     0     0
     0     0     0

如果提供矩陣大小或維度的單個輸入,zeros() 函式將返回一個零矩陣,其維度將與輸入大小相同。例如,讓我們建立一個大小為 2×3 的零矩陣。請參閱下面的程式碼。

ZeroV = zeros([2 3])

輸出:

ZeroV =

     0     0     0
     0     0     0

正如你在輸出中看到的,輸出矩陣是 2×3。如果提供多個​​縮放器輸入,如 N1、N2、…、Nn,zeros() 函式將返回大小為 N1-by-…..-by-Nn 的零矩陣。例如,讓我們建立一個大小為 1×2×3 的零矩陣。請參閱下面的程式碼。

ZeroV = zeros(1,2,3)

輸出:

ZeroV(:,:,1) =

     0     0


ZeroV(:,:,2) =

     0     0


ZeroV(:,:,3) =

     0     0

如你所見,輸出矩陣具有三個維度。假設你有一個包含一些值的矩陣,並且你想要建立一個零矩陣,該矩陣的大小或維度應與第一個矩陣相同。在這種情況下,你可以使用 size() 函式獲取前一個矩陣的大小,並將其傳遞給 zeros() 函式以建立具有相同大小或維度的零矩陣。例如,讓我們建立一個與另一個矩陣具有相同大小的零矩陣。請參閱下面的程式碼。

mat = [1 2; 3 6]
ZeroV = zeros(size(mat))

輸出:

mat =

     1     2
     3     6


ZeroV =

     0     0
     0     0

正如你在輸出中看到的,兩個矩陣具有相同的大小或維度。我們還可以通過使用 zeros() 函式內的 like 屬性來獲得一個與另一個矩陣具有相同資料型別的零矩陣。請參閱下面的程式碼。

mat = int16([1 2 3 6])
ZeroV = zeros(size(mat),'like',mat)

輸出:

mat =

  1×4 int16 row vector

   1   2   3   6


ZeroV =

  1×4 int16 row vector

   0   0   0   0

正如你在輸出中看到的,兩個矩陣都具有相同的資料型別 int16。如果你不想複製另一種矩陣資料型別,你可以將你的資料型別放在 zeros() 函式中,並且輸出將採用相同的資料型別。例如,讓我們建立一個資料型別為 int8 的矩陣。請參閱下面的程式碼。

mat = [1 2 3 6]
ZeroV = zeros(size(mat),'int8')

輸出:

mat =

     1     2     3     6


ZeroV =

  1×4 int8 row vector

   0   0   0   0

正如你在輸出中看到的,零矩陣的資料型別為 int8。如果不想使用 zeros() 函式,可以使用冒號運算子建立索引向量,然後可以在這些索引上放置零以建立零陣列或向量。例如,讓我們建立一個大小為 1×10 的零向量。請參閱下面的程式碼。

i = 1:10;
zeros(i) = 0

輸出:

zeros =

     0     0     0     0     0     0     0     0     0     0

正如你在輸出中看到的,向量包含十個零。

作者: 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 Array