數學基礎 一 矩陣運算 一

2021-09-25 13:37:28 字數 3451 閱讀 3306

程式設計需不需要數學?很多人可能認為數學在程式設計中並沒有什麼重要的作用,最多進行簡單的加減乘除。當前其實數學在程式設計中有著至關重要的作用。當你想寫乙個人工智慧時,乙個簡單的影象識別就需要用到矩陣,向量的運算,甚至還要用到積分。當你設計乙個遊戲時你需要用到向量來計算人物的移動,還需要計算人物的攻擊力等引數使每個人物都有自己的優缺點。甚至連乙個簡單的壓縮都要用到積分,編碼的計算。沒有數學你在程式設計中只能做最膚淺的事情。

矩陣(matrix)是乙個按照長方陣列排列的複數或實數集合。

形如:

a=[12

3456

789]

\left[ \begin 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end \right]

⎣⎡​147

​258

​369

​⎦⎤​

1.上面的為三維矩陣

x維矩陣就是x*x的乙個矩形

2.第m行第n個元素記為a_或a[m,n]

運算法則

假設a= [a11

a12⋯a

1na21

a22⋯a

2n⋮⋮

⋱⋮am

1am2

⋯amn

]\left[ \begin a_ & a_ & \cdots & a_ \\ a_ & a_ & \cdots & a_ \\ \vdots & \vdots & \ddots & \vdots \\ a_ & a_ & \cdots & a_ \\ \end \right]

⎣⎢⎢⎢⎡​

a11​

a21​

⋮am1

​​a1

2​a2

2​⋮a

m2​​

⋯⋯⋱⋯

​a1n

​a2n

​⋮am

n​​⎦

⎥⎥⎥⎤

​,b=[b11

b12⋯b

1nb21

b22⋯b

2n⋮⋮

⋱⋮bm

1bm2

⋯bmn

]\left[ \begin b_ & b_ & \cdots & b_ \\ b_ & b_ & \cdots & b_ \\ \vdots & \vdots & \ddots & \vdots \\ b_ & b_ & \cdots & b_ \\ \end \right]

⎣⎢⎢⎢⎡​

b11​

b21​

⋮bm1

​​b1

2​b2

2​⋮b

m2​​

⋯⋯⋱⋯

​b1n

​b2n

​⋮bm

n​​⎦

⎥⎥⎥⎤

​則:a±b=[a11

±b11a

12±b12

⋯a1n

±b1n

a21±b

21a22±

b22⋯a

2n±b

2n⋮⋮

⋱⋮am

1±bm

1am2

±bm2

⋯amn

+bmn

]\left[ \begin a_±b_ & a_±b_ & \cdots & a_±b_ \\ a_±b_ & a_±b_ & \cdots & a_±b_ \\ \vdots & \vdots & \ddots & \vdots \\ a_±b_ & a_±b_ & \cdots & a_+b_ \\ \end \right]

⎣⎢⎢⎢⎡​

a11​

±b11

​a21

​±b2

1​⋮a

m1​±

bm1​

​a12

​±b1

2​a2

2​±b

22​⋮

am2​

±bm2

​​⋯⋯

⋱⋯​a

1n​±

b1n​

a2n​

±b2n

​⋮am

n​+b

mn​​

⎦⎥⎥⎥

⎤​假設a=[a11

a12a1

na21a

22a2n

am1a

m2am

n]

\left[ \begin a_ & a_ & a_ \\ a_ & a_ & a_ \\ a_ & a_ & a_ \end \right]

⎣⎡​a11

​a21

​am1

​​a1

2​a2

2​am

2​​a

1n​a

2n​a

mn​​

⎦⎤​,常數c

則a×c=[a11

∗ca12

∗ca1

n∗ca

21∗ca

22∗ca

2n∗c

am1∗

cam2

∗cam

n∗c]

\left[ \begin a_*c & a_*c & a_*c \\ a_*c & a_*c & a_*c \\ a_*c & a_*c & a_*c \end \right]

⎣⎡​a11

​∗ca

21​∗

cam1

​∗c​

a12​

∗ca2

2​∗c

am2​

∗c​a

1n​∗

ca2n

​∗ca

mn​∗

c​⎦⎤

​1、用a的第1行各個數與b的第1列各個數對應相乘後加起來,就是乘法結果中第1行第1列的數;

2、用a的第1行各個數與b的第2列各個數對應相乘後加起來,就是乘法結果中第1行第2列的數;

3、用a的第1行各個數與b的第3列各個數對應相乘後加起來,就是乘法結果中第1行第3列的數;

依次進行,(直到)用a的第1行各個數與b的第末列各個數對應相乘後加起來,就是乘法結果中第1行第末列的的數。

二、1、用a的第2行各個數與b的第1列各個數對應相乘後加起來,就是乘法結果中第2行第1列的數;

2、用a的第2行各個數與b的第2列各個數對應相乘後加起來,就是乘法結果中第2行第2列的數;

3、用a的第2行各個數與b的第3列各個數對應相乘後加起來,就是乘法結果中第2行第3列的數;

依次進行,(直到)用a的第2行各個數與b的第末列各個數對應相乘後加起來,就是乘法結果中第2行第末列的的數。

依次進行,

(直到)用a的第末行各個數與b的第1列各個數對應相乘後加起來,就是乘法結果中第末行第1列的數;

用a的第末行各個數與b的第2列各個數對應相乘後加起來,就是乘法結果中第末行第2列的數;

用a的第末行各個數與b的第3列各個數對應相乘後加起來,就是乘法結果中第末行第3列的數;

依次進行,

(直到)用a的第末行各個數與b的第末列各個數對應相乘後加起來,就是乘法結果中第末行第末列的的數。

數學基礎3 矩陣

矩陣的秩 秩與方程組之間的關係 特徵值和特徵向量 通過初等行變換,將乙個不帶引數的矩陣化為行階梯型,然後數矩陣的不全為零的行的個數,總的個數就是矩陣的秩。通常表示為r a rk a 或ranka。初等變換 包括 對調兩行,對某行乘以不為0的數和將某行乘以k倍加到另一行對應的元素上。a 是n階矩陣,若...

數學基礎 矩陣學習

乙個 m x n 的矩陣是由m行n列勻速排序成的矩形陣列 m x n的矩陣只能與 n x p的矩陣相乘,得到是乙個m x p大小的矩陣 新得到的矩陣第i行第j列的元素 是由 第乙個矩陣第i行與第二個矩陣第j列進行點乘得到的。例如 矩陣乘法不滿 換律 除非特別情況 但是滿足結合律與分配律 注意 實際開...

矩陣微分基礎(一)

這篇文章將介紹向量和矩陣微分相關基礎,他是它將是後面學習的基礎。假設函式 f r mapsto r 它的函式變數為乙個大小為 m times n 的矩陣,函式值為實數,則 f a 關於 a 的梯度是乙個由偏導數組成的矩陣 nabla af a in r left begin frac frac fr...