每天五分鐘解決一個(gè)人工智能問題教翩。
前情回顧
import numpy as np
v1 = np.array([1,1])
v1
輸出:
array([1, 1])
m1 = np.array([[0,-1], [1,0]])
m2 = np.array([[0,1],[-1,0]])
print(m1)
print(m2)
輸出:
[[ 0 -1]
[ 1 0]]
[[ 0 1]
[-1 0]]
矩陣m1 (它的物理意義是左轉(zhuǎn)90度)秽晚, 矩陣m2
(它的物理意義是右轉(zhuǎn)90度)
開始今天的正題:
現(xiàn)在我要把一個(gè)向量右轉(zhuǎn)90度再左轉(zhuǎn)90度,那最后的結(jié)果應(yīng)該是還回到原來(lái)的位置堵泽。
接下來(lái)就用代碼實(shí)現(xiàn)這部分邏輯:
v1為向量修己,m2為右轉(zhuǎn)90恢总,m1為左轉(zhuǎn)90
v1 = np.array([1,1])
new_v1 = np.matmul(m2, v1)
#把v1向量帶入m2矩陣進(jìn)行運(yùn)算
new_v1
輸出:
array([ 1, -1])
很好已經(jīng)右轉(zhuǎn),再左轉(zhuǎn)睬愤,把new_v1向量交給m1矩陣
new_new_v1 = np.matmul(m1, new_v1)
new_new_v1
輸出:
array([1, 1])
看到?jīng)]离熏?以上操作相當(dāng)于把向量先右轉(zhuǎn)再左轉(zhuǎn)。結(jié)果我們預(yù)想的一樣戴涝,回到了(1,1)
我們?cè)賴L試一下先左轉(zhuǎn)再右轉(zhuǎn):
代碼如下:
v1 = np.array([1,1])
v1
輸出:
array([1, 1])
交給m1矩陣,進(jìn)行左轉(zhuǎn):
new_v1 = np.matmul(m1, v1)
#把v1向量帶入m2矩陣進(jìn)行運(yùn)算
new_v1
輸出:
array([-1, 1])
交給m2矩陣再右轉(zhuǎn):
new_new_v1 = np.matmul(m2, new_v1)
new_new_v1
輸出:
array([1, 1])
以上操作相當(dāng)于把向量先左轉(zhuǎn)再右轉(zhuǎn)
先不要看答案钻蔑,先猜一下一下運(yùn)算的結(jié)果是什么
#
v1 = np.array([1,1])
new_v1 = np.matmul(m1, v1)
new_new_v1 = np.matmul(m1, new_v1)
new_new_v1
你猜到了嗎啥刻?
array([-1, -1])
目錄:
人工智能必知必會(huì)-前言
人工智能必知必會(huì)-標(biāo)量,向量咪笑,矩陣可帽,張量
人工智能必知必會(huì)-向量的加減與縮放
人工智能必知必會(huì)-向量的內(nèi)積
人工智能必知必會(huì)-向量之間的距離
人工智能必知必會(huì)-初識(shí)矩陣
人工智能必知必會(huì)-矩陣與向量
人工智能必知必會(huì)-矩陣的加減法
人工智能必知必會(huì)-矩陣乘法
人工智能必知必會(huì)-矩陣與方程組
人工智能必知必會(huì)-再看矩陣與向量
人工智能必知必會(huì)-矩陣與向量乘法的物理意義
人工智能必知必會(huì)-詞向量(案例)
人工智能必知必會(huì)-矩陣相乘上
人工智能必知必會(huì)-矩陣相乘下