簡體   English   中英

矩陣和數組有什么區別?

[英]What is the difference between matrix and array?

什么是更普遍的術語? 為什么MATLAB命名為矩陣實驗室呢?

矩陣是表示以nxm標量值數組的形式從維n的空間到維m的空間的線性變換的實用方法。

以非常系統的方式執行線性代數操作也是非常實用的,可以在計算機上實現。 例如,如果矩陣A表示線性變換f而矩陣B表示線性變換g ,則組成f o g寫為A * B,其中*表示矩陣乘法。 Matlab還有許多與矩陣運算相關的例程(即線性代數運算),如detpinvsvd等......

正如您現在仍然可以在Matlab中看到的那樣,像*/這樣的運算符與矩陣運算密切相關,因而與線性代數運算密切相關,我認為這是matlab在其早期闡述中的最初目標,因此它的名字(當然是非常具有推測性)但是猜測離現實不遠)。

要對n維數據集執行逐元素操作,您必須編寫.*./ 表示您現在正在執行數組操作

我不會說數組操作包含矩陣運算 ,它們是不同的。 后者與線性代數有關,而其他則只涉及對大型數據集進行操作的實用方法。 這些數據不限於數字,它們只是n維數據集(字符串,數字,單元格等)。

Matlab還具有非常合成的語法,可以對子塊(即線性/邏輯下標)執行數組操作 ,這使得在應用后續矩陣數組操作之前,只需在一行代碼中重新組織數據集就非常容易。

如果您詢問MATLAB,“矩陣”一詞通常是指2d陣列,而“陣列”可以是n維。

早期版本的MATLAB僅支持2d矩陣,而不支持n維數組。 我相信在MATLAB的第5版中引入了對n維數組的支持。

我會說MATLABs矩陣是一種更高級的數組,如果你比較c樣式數組,例如double array[] ,或Java數組,例如double arry2[] 我還要說matlab矩陣比c ++向量或Java ArrayList更適合數學目的。 但是,如果你的意思是matlab數組,我會說它更復雜。 然后我會推薦關於matlab數據的鏈接,它描述了mxArray類型,用於存儲matlab中的大部分數據。 如果沒有更好地描述你對數組的意思,這個問題很難完全回答,但我會說,關於類型,像a = [1,2,3,4]這樣的數組和像b = [1,2,3,4;5,6,7,8]這樣的矩陣沒有區別b = [1,2,3,4;5,6,7,8] 還有更高維度的矩陣,因為c = ones(3,4,3) 這些通常在MATLAB中也稱為矩陣,或者如果您需要更具體的N維矩陣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM