python中怎么定義二維向量類及其運(yùn)算如下:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了南潯免費(fèi)建站歡迎大家使用!
1、向量一維的數(shù)組,包括行向量和列向量,和傳統(tǒng)向量定義不同的是定義的默認(rèn)是行向量。
2、向量的運(yùn)算,向量和矩陣相加一樣,只有在維數(shù)相同的情況下才可以相加,向量相加實(shí)質(zhì)上是對應(yīng)位置元素的相加。
3、內(nèi)積運(yùn)算通過函數(shù)實(shí)現(xiàn),一維的向量相乘只能用于行向量相乘,對于二維中的列向量的運(yùn)算,則遵從矩陣的運(yùn)算法則。
4、向量的線性組合,向量的線性組合可以在行進(jìn)行運(yùn)算,但是更推薦基于列向量中進(jìn)行運(yùn)算。
一、以下函數(shù)是turtle海龜庫內(nèi)關(guān)于海龜?shù)臓顟B(tài)函數(shù)
1、position()或 pos()獲取海龜?shù)漠?dāng)前位置坐標(biāo)
無參數(shù)
2、towards(x,y)與參考點(diǎn)的夾角
參數(shù):x,y坐標(biāo)值,為towards測量夾角做參考
3、xcor()返回當(dāng)前點(diǎn)的x坐標(biāo)
無參數(shù)
4、ycor()返回當(dāng)前點(diǎn)的y坐標(biāo)
無參數(shù)
5、heading()返回海龜當(dāng)前方位與(0,0)點(diǎn)(既原點(diǎn))的夾角
無參數(shù)
6、distance(x,y)測量與參考坐標(biāo)點(diǎn)之間的長度
參數(shù)(x,y)為參考坐標(biāo)點(diǎn)
二、以下是設(shè)置單位的兩個函數(shù)
1、degrees(fullcircle)設(shè)置圓或圓弧以角度為單位,默認(rèn)360度。
參數(shù):fullcircle 設(shè)置圓周多少度,默認(rèn)圓一周360度
2、radians()設(shè)置圓或圓弧單位為弧度
無參數(shù)
夾角為α=arccos(∑(xiyi)/sqrt((∑(xixi)∑(yiyi)))
即:cos夾角=兩個向量的內(nèi)積/向量的模(“長度”)的乘積
另:兩個向量應(yīng)當(dāng)是同一個空間里的,也就是m和n應(yīng)該相等。
例如:
平面向量夾角公式:cos=(ab的內(nèi)積)/(|a||b|)
(1)上部分:a與b的數(shù)量積坐標(biāo)運(yùn)算:設(shè)a=(x1,y1),b=(x2,y2),則a·b=x1x2+y1y2
(2)下部分:是a與b的模的乘積:設(shè)a=(x1,y1),b=(x2,y2),則(|a||b|)=根號下(x1平方+y1平方)*根號下(x2平方+y2平方)
正切公式用tan表示,余角公式用cos表示。正切公式(直線的斜率公式):k=(y2-y1)/(x2-x1),余弦公式(直線的斜率公式):k=(y2-y1)/(x2-x1)。
擴(kuò)展資料:
當(dāng)兩個角的度數(shù)之和等于180°,即一個平角,這兩個角便是互補(bǔ)角。若兩個相鄰的角互為余角,兩個非共用邊會形成一直線。不過兩個不相鄰的角也可以是補(bǔ)角,例如平行四邊形中,任兩鄰角為互補(bǔ)角。圓內(nèi)接四邊形的對角也是互補(bǔ)角。
若點(diǎn)P為圓O外的一點(diǎn),而過點(diǎn)P作圓的切線,切點(diǎn)分別在點(diǎn)T和點(diǎn)Q,則∠TPQ和∠TOQ為互補(bǔ)角。
兩互補(bǔ)角的正弦相等,其余弦及正切(若有定義義)大小相等,但符號異號。
在歐幾里得幾何中,三角形兩角的和為第三角的補(bǔ)角。
參考資料來源:百度百科-夾角
通過夾角的大小,來判斷向量的相似程度。夾角越小,就代表越相似。
余弦相似度是文本相似度度量中使用較多的一種方法,對于兩個向量X和Y,其對應(yīng)的形式如下:
X=(x1,x2...,xn)
Y=(y1,y2...,yn)
其向量的余弦相似度公式為:
X,Y對應(yīng)其中的A和B
python實(shí)現(xiàn):
輸出結(jié)果:0.5000000000000001
結(jié)果越接近1,夾角就越接近0,代表越相似。
越趨近于-1,他們的方向越相反;接近于0,表示兩個向量近乎于正交
首先要寫上這一句:
from numpy import *
(寫上這句的前提也得你已經(jīng)安了numpy)
(1) 定義一個零向量(4維):
a=zeros(4)
a
array([0.,0.,0.,0.])
定義一個List:
b=[1,2,3,4]
(2)向量可直接與List相加:
c=a+b
c
array([1.,2.,3.,4.])
(3)要給向量里每個元素都乘以同一個數(shù):
d=b*[3]
或者:
c=3
d=b*[c]
d
array([3.,6.,9.,12.])
而不能是d=b*3,即要乘的這個數(shù)字得是個List形式
(4)兩個向量相除(對應(yīng)元素相除):
e=[3,2,3,4]
f=d/e
f
array([1.,3.,3.,3.])