主要是要把后面的矩阵看成未知数的系数就比较容易懂了.
矩阵的最初目的,只是为线性方程组提供一个简写形式。
然后测试了一下瞬间就明白了了.
先来一个所有的x,y,都是2的.矩阵乘法.
import numpy as np
import pandas as pd
a=[
[1,1,1,3],
[2,2,2,2],
[1,1,1,3],
[2,2,2,2]
]
b = [2,2,2,2] # 注意这里是列矩阵,不是行矩阵. 也就是竖着的1列4行,每个都是2 但是这样横着写恰巧符合我们人类的视角.
#b是4个数, 要跟上面的列数相同.
df1 = pd.DataFrame(a)
df2 = pd.DataFrame(b)
np.dot(df1,df2)
得到的结果是
[
[12],# a第1行 * b的第一列 = 1*2 + 1*2 + 1*2 + 1*3 = 12
[16],# a第2行 * b的第一列 = 2*2 + 2*2 + 2*2 + 2*2 = 16
[12],# a第3行 * b的第一列 = 1*2 + 1*2 + 1*2 + 1*3 = 12
[16] # a第4行 * b的第一列 = 1*2 + 1*2 + 1*2 + 1*3 = 12
]
然后再后面 加一个所有的x都是3的.矩阵乘法.
import numpy as np
import pandas as pd
a=[
[1,1,1,3],
[2,2,2,2],
[1,1,1,3],
[2,2,2,2]
]
b = [
[2,3] ,
[2,3] ,
[2,3] ,
[2,3]
]
df1 = pd.DataFrame(a)
df2 = pd.DataFrame(b)
np.dot(df1,df2)
下面的结果第一列是x=2时 * 矩阵a 的结果
和 x=3 第一列 * 矩阵a 的结果
[
[12, 18],
[16, 24],
[12, 18],
[16, 24]
]
同样的, 如果把b改成
b = [
[2,3,4] ,
[2,3,4] ,
[2,3,4] ,
[2,3,4] ,
]
# 结果是 24,32,24,32 是系数全为4的矩阵成绩
[
[12, 18, 24],
[16, 24, 32],
[12, 18, 24],
[16, 24, 32]
]