数学基础(一)--矩阵运算(一)

编程需不需要数学?很多人可能认为数学在编程中并没有什么重要的作用,最多进行简单的加减乘除。当前其实数学在编程中有着至关重要的作用。当你想写一个人工智能时,一个简单的图像识别就需要用到矩阵,向量的运算,甚至还要用到积分。当你设计一个游戏时你需要用到向量来计算人物的移动,还需要计算人物的攻击力等参数使每个人物都有自己的优缺点。甚至连一个简单的图片压缩都要用到积分,编码的计算。没有数学你在编程中只能做最肤浅的事情。

1.什么是矩阵

    矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。
    形如:

A= [ 1 2 3 4 5 6 7 8 9 ] \left[ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} \right] 147258369
1.上面的为三维矩阵
X维矩阵就是x*x的一个矩形
2.第m行第n个元素记为a_{mn}或A[m,n]

2.矩阵的加减法

运算法则
假设A= [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] \left[ \begin{matrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \\ \end{matrix} \right] a11a21am1a12a22am2a1na2namn
,B= [ b 11 b 12 ⋯ b 1 n b 21 b 22 ⋯ b 2 n ⋮ ⋮ ⋱ ⋮ b m 1 b m 2 ⋯ b m n ] \left[ \begin{matrix} b_{11} & b_{12} & \cdots & b_{1n} \\ b_{21} & b_{22} & \cdots & b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ b_{m1} & b_{m2} & \cdots & b_{mn} \\ \end{matrix} \right] b11b21bm1b12b22bm2b1nb2nbmn则:

A±B= [ a 11 ± b 11 a 12 ± b 12 ⋯ a 1 n ± b 1 n a 21 ± b 21 a 22 ± b 22 ⋯ a 2 n ± b 2 n ⋮ ⋮ ⋱ ⋮ a m 1 ± b m 1 a m 2 ± b m 2 ⋯ a m n + b m n ] \left[ \begin{matrix} a_{11}±b_{11} & a_{12}±b_{12} & \cdots & a_{1n}±b_{1n} \\ a_{21}±b_{21} & a_{22}±b_{22} & \cdots & a_{2n}±b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1}±b_{m1} & a_{m2}±b_{m2} & \cdots & a_{mn}+b_{mn} \\ \end{matrix} \right] a11±b11a21±b21am1±bm1a12±b12a22±b22am2±bm2a1n±b1na2n±b2namn+bmn

3.矩阵的乘法

a.A×c型

假设
A= [ a 11 a 12 a 1 n a 21 a 22 a 2 n a m 1 a m 2 a m n ] \left[ \begin{matrix} a_{11} & a_{12} & a_{1n} \\ a_{21} & a_{22} & a_{2n} \\ a_{m1} & a_{m2} & a_{mn} \end{matrix} \right] a11a21am1a12a22am2a1na2namn,常数c

则A×c= [ a 11 ∗ c a 12 ∗ c a 1 n ∗ c a 21 ∗ c a 22 ∗ c a 2 n ∗ c a m 1 ∗ c a m 2 ∗ c a m n ∗ c ] \left[ \begin{matrix} a_{11}*c & a_{12}*c & a_{1n}*c \\ a_{21}*c & a_{22}*c & a_{2n}*c \\ a_{m1}*c & a_{m2}*c & a_{mn}*c \end{matrix} \right] a11ca21cam1ca12ca22cam2ca1nca2ncamnc

b.A×B型

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的第末列各个数对应相乘后加起来,就是乘法结果中第末行第末列的的数。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值