matlab裡陣列和矩陣有什麼區別嗎我分不清

2021-04-17 19:11:22 字數 5754 閱讀 4701

1樓:匿名使用者

有些概念一開始困擾很多人,本人之前也很困擾。

陣列陣列就是有序數內列的集合。數容

組的每乙個元素都屬於同一種型別,它們使用同乙個陣列名和不同的下標來唯一確定陣列中的成員。下標是指數組元素在陣列中的序號。

向量從程式語言的角度,向量就是一維陣列,從數學的角度看,向量就是1×n或n×1的矩陣,即行向量或列向量。

矩陣在matlab中,矩陣的概念和線性代數中定義的矩陣的概念是一樣的。矩陣使用一對圓括號或方括號括起來,符合一定規則的數學物件。

在matlab中,任何形勢的數都是以矩陣的形式儲存,就連乙個單獨的變數也是,它被存為1*1的矩陣中。即,萬物即是矩陣。

另外matlab的元包矩陣值得一提,它才是大海一樣的胸懷,在同乙個矩陣中,你可以存放任何形式的數,字串等,甚至還可以放矩陣。這一點是數學概念裡的陣列所不能及的。

2樓:匿名使用者

在matlab裡面,

矩陣之間

的算術運算按照線性代數的規則進行

例子:>> a=[1 2;3 4]

a =1     2

3     4

>> b=[1 1;1 1]

b =1     1

1     1

>> a*b

ans =

3     3

7     7

而陣列之間的運算是專陣列對應元素間進行一屬一計算例子:>> a=[1 2;3 4]

a =1     2

3     4

>> b=[1 1;1 1]

b =1     1

1     1

>> a.*b

ans =

1     2

3     4

另外,要注意陣列與單元陣列、結構陣列的區別與聯絡

3樓:紫冰雨的季節

一維數bai組相當於向量,二維數du組相當於zhi矩陣.所以矩陣是陣列dao的子集

陣列運算

版是指數組對權應元素之間的運算,也稱點運算.矩陣的乘法、乘方和除法有特殊的數學含義,並不是陣列對應元素的運算,所以陣列乘法、乘方和除法的運算子前特別加了乙個點。

矩陣是乙個二維陣列,所以矩陣的加、減、數乘等運算與陣列運算是一致的。但有兩點要注意:

(1)對於乘法、乘方和除法等三種運算,矩陣運算與陣列運算的運算子及含義都不同:矩陣運算按線性變換定義,使用通常符號;陣列運算按對應元素運算定義,使用點運算子;

(2)數與矩陣加減、矩陣除法在數學是沒有意義的,在matlab中為簡便起見,定義了這兩類運算。

4樓:匿名使用者

本質上來講,陣列是個1*n維的矩陣。

matlab中矩陣和陣列有什麼區別?

5樓:匿名使用者

一維陣列

bai相當於向du量,二維陣列相當於矩陣

.所以矩zhi陣是陣列的dao子集版

陣列運算是指數組對權應元素之間的運算,也稱點運算.矩陣的乘法、乘方和除法有特殊的數學含義,並不是陣列對應元素的運算,所以陣列乘法、乘方和除法的運算子前特別加了乙個點。

矩陣是乙個二維陣列,所以矩陣的加、減、數乘等運算與陣列運算是一致的。但有兩點要注意:

(1)對於乘法、乘方和除法等三種運算,矩陣運算與陣列運算的運算子及含義都不同:矩陣運算按線性變換定義,使用通常符號;陣列運算按對應元素運算定義,使用點運算子;

(2)數與矩陣加減、矩陣除法在數學是沒有意義的,在matlab中為簡便起見,定義了這兩類運算

6樓:糖糖寳寳

在matlab裡面,矩陣之間的算術運算按照線性代數的規則進行

例子:而陣列之間的運算是陣列對應元素間進行一一計算例子:

7樓:匿名使用者

單個的數復就是1*1的矩陣;

陣列或製

向量就是1*n或n*1的矩陣。

事實上對於matlab來說數、陣列或向量和二維矩陣在本質上沒有任何區別,他們的維數都是2,一切都是以矩陣的形式儲存的。

陣列中的元素可以是字元等;矩陣中的只能是數;

8樓:匿名使用者

沒什麼區別,matlab裡的矩陣就是其他語言裡的陣列

matlab 中.*和*有什麼區別

9樓:匿名使用者

「.*」和「*」的區別:

1、在進行數之間的運算時「.*」和「*」是沒有區別的,都是表示普通的乘法運算。例:m = 2,n = 3,m.*n = 6, m*n = 6。

2、在進行矩陣之間的運算時「.*」和「*」的意義就有所不同了。假設a,b表示兩個矩陣,a*b表示矩陣a與矩陣b進行矩陣相乘,a.

*b表示矩陣a中的元素與矩陣b中的元素按位置依次相乘,得到的結果將作為新矩陣中相同位置的元素。

3、matlab 中用乙個特殊的符號來區分矩陣運算和陣列運算。在需要區分兩者不同的時侯,把點置於符號前來指示這是乙個陣列運算(例如, .*)。

線面給出的是一些常見的陣列和矩陣運算。陣列加法:a+b,陣列加法和矩陣加法相同。

陣列減法:a-­b ,陣列減法和矩陣減法相同。

陣列乘法:a.*b,a 和 b 的元素逐個對應相乘,兩陣列之間必須有相同的形,或其中乙個是標量。

矩陣乘法:a*b,a 和 b 的矩陣乘法,a 的列數必須和 b 的行數相同。

陣列右除法:a./b,a 和 b 的元素逐個對應相除:a(i,j)/b(i,j)兩陣列之間必須有相同的形,或其中乙個是標量。

陣列左除法:a.\b,a 和 b 的元素逐個對應相除:b(i,j)/a(i,j)兩陣列之間必須有相同的形,或其中乙個是標量。

擴充套件資料:

bandem :香蕉最優化展示expo-style banana optimization。

sshow filtdem :濾波效果演示filter effect demo。

sshow filtdem2 :濾波設計演示filter design demo。

cztdemo :fft和czt (兩種不同型別的z-變換演算法)。

phone :演示**通聲音的時間與頻率的關係。

sigdemo1 :離散訊號的時頻圖,可用滑鼠設定。

sigdemo2 :連續訊號的時頻圖,可用滑鼠設定。

filtdemo :低通濾波器的互動式設計。

moddemo :聲音頻號的調製。

sosdemo :數字濾波器的切片圖。

neural :神經網路模組組。

firdemo :二維fir濾波器。

nlfdemo :非線性濾波器。

dctdemo :dct演示。

mlpdm1 :利用多層感知器神經網路擬合曲線動畫。

mlpdm2 :利用多層感知器神經網路進行xor問題運算。

invkine :運動逆問題。

juggler :跳球戲法。

fcmdemo :fcm。

slcp :類似倒立擺動畫。

slcp1 :類似倒立擺動畫cart and a varying pole。

slcpp1 :類似倒立擺動畫,有兩個擺,乙個可以變化。

sltbu :卡車支援。

slbb :類似於翹翹板。

10樓:匿名使用者

.*為點乘運算,是指兩個矩陣中對應元素進行乘法運算。要求兩矩陣的維數相同。

*為矩陣乘法,若a為m*n維矩陣,b為n*p為矩陣,則a*b為m*p維矩陣。

11樓:

*代表變數相乘,或者矩陣相乘

.*是矩陣中對應位置變數相乘,組成新得矩陣[1 2 3].*[3 4 5]=[3 8 15]就不能用*

12樓:匿名使用者

來個例子吧

a=[1,2;3,4];

你先看一下

a^2與a*a

這兩個的結果是矩陣相乘的結果。(矩陣相乘是有條件的:第乙個矩陣的列數等於第二個矩陣的行數)

而a.^2是矩陣對應元素相乘的結果

好好理解上面的。再看下面的

a=[1,2;3,4;5,6];

再試一下:a^2與a.^2 (其中有乙個是錯的)然後仔細品味一下兩者的區別。

13樓:匿名使用者

'.*'運算子用於矩陣間對應元素的相乘,或數與數之間,數與矩陣之間的相乘。

'*'運算子用於一般數學意義下的相乘運算。

這裡有乙個類似的問題,已經有人回答

14樓:匿名使用者

matlab中帶「.」(讀作「點」)的運算子都表示點運算。這就要求a.*b中的a、b必須同規格,然後對應點的資料相乘,結果也是乙個與a、b相同規格的矩陣。(標量是1*1矩陣)

matlab的資料單元是矩陣,*表示的是矩陣相乘。要求a*b中a的列數等於b的行數。(可以參考線性代數中的矩陣運算規則)

基礎問題可以去ilovematlab.cn查詢答案

15樓:匿名使用者

乙個是點星,乙個是星,多了乙個點的區別

16樓:熊熊爾白

禾在口左邊,木在口中間!

17樓:匿名使用者

a\b 矩陣除法,等價於 inv(a)*b

18樓:楊好巨蟹座

>> a=[1 2;3 4];>> b=[1 2;3 4];

>> a/bans = 1 0 0 1>> a./bans = 1 1 1 1

a/b相當於a乘b的逆a./b是a的每個元素與b的每個元素對應相除>> a=[1 2 3 4 5];>> b=3;>> a./b>> a/b這種情況下,結果就是一樣的

左除 右除

:a/b=a*inv(b);

a\b=inv(a)*b;

>> a=magic(3)

a =8 1 6

3 5 7

4 9 2

>> b=pascal(3)

b =1 1 1

1 2 3

1 3 6

>> a/b

ans =

27 -31 12

1 2 0

-13 29 -12

>> a*inv(b)

ans =

27 -31 12

1 2 0

-13 29 -12

>> a\b

ans =

0.0667 0.0500 0.

09720.0667 0.3000 0.

63890.0667 0.0500 -0.

0694>> inv(a)*b

ans =

0.0667 0.0500 0.

09720.0667 0.3000 0.

63890.0667 0.0500 -0.

0694>> a/b-(b'\a')'

ans =

0 0 0

0 0 0

0 0 0

綜上所述:

a\b : 表示inv(a)*b 解a*x=bb/a:表示b*inv(a) 解x*a=b

Matlab怎樣從陣列矩陣中隨機取數

try function randperm for example a 1 2 3 4 5 6 7 8 9 10 b a randperm length a x b 1 5 matlab中從已知矩陣中隨機抽取5個元素如何實現.1.撰寫評論內容。如何從陣列中隨機提取元素。2.建立乙個新函式chouqu...

matlab裡求矩陣的梯度用什麼語句

使用gradient語句即可實現求梯度功能。具體語法如下 fx,fy gradient f 其中fx表示橫向的梯度 相對於原矩陣f而言 fy表示縱向的梯度。示例如下 matlab裡求矩陣的梯度使用的語句,如下 matlab環境下 gradx 1 1 grady 1 1 conx zeros row,...

二維陣列與矩陣的區別?二維陣列和矩陣的區別

二維陣列是程式語言中的叫法,矩陣是數學教材上的教法。它們之間沒多大區別。如果把有些規定說明一致的話,應該是一樣的。其實是一樣的。int a int b 3 3 a b 那麼陣列名就是首個元素位址。a 1就是b 1 0 或者b 1 的位址。二維陣列和矩陣的區別 二維陣列是矩陣的一種實現方式,就是在程式...