1樓:汲弼倫天玉
a b為兩向量
數量積:dot(a,b)
向量積:cross(a,b)
夾角:acos(dot(a,b)/(norm(a)*norm(b)))%弧度制,轉角度制乘180/pi
模:norm(a) norm(b)
2樓:小周喜歡熬夜
在做分類時常常需要估算不同樣本之間的相似性度量(similarity measurement),這時通常採用的方法就是計算樣本間的「距離」(distance)。採用什麼樣的方法計算距離是很講究,甚至關係到分類的正確與否。
本文的目的就是對常用的相似性度量作乙個總結。
目錄1. 歐氏距離
2. 曼哈頓距離
3. 切比雪夫距離
4. 閔可夫斯基距離
5. 標準化歐氏距離
6. 馬氏距離
7. 夾角余弦
8. 漢明距離
9. 傑卡德距離 & 傑卡德相似係數
10. 相關係數 & 相關距離
11. 資訊熵
1.歐氏距離(euclidean distance)
歐氏距離是最易於理解的一種距離計算方法,源自歐氏空間中兩點間的距離公式。
(1)二維平面上兩點a(x1,y1)與b(x2,y2)間的歐氏距離:
(2)三維空間兩點a(x1,y1,z1)與b(x2,y2,z2)間的歐氏距離:
(3)兩個n維向量a(x11,x12,…,x1n)與 b(x21,x22,…,x2n)間的歐氏距離:
也可以用表示成向量運算的形式:
(4)matlab計算歐氏距離
matlab計算距離主要使用pdist函式。若x是乙個m×n的矩陣,則pdist(x)將x矩陣m行的每一行作為乙個n維向量,然後計算這m個向量兩兩間的距離。
例子:計算向量(0,0)、(1,0)、(0,2)兩兩間的歐式距離
x = [0 0 ; 1 0 ; 0 2]
d = pdist(x,'euclidean')
結果:d =
1.0000 2.0000 2.2361
2.曼哈頓距離(manhattan distance)
從名字就可以猜出這種距離的計算方法了。想象你在曼哈頓要從乙個十字路口開車到另外乙個十字路口,駕駛距離是兩點間的直線距離嗎?顯然不是,除非你能穿越大樓。
實際駕駛距離就是這個「曼哈頓距離」。而這也是曼哈頓距離名稱的**, 曼哈頓距離也稱為城市街區距離(city block distance)。
(1)二維平面兩點a(x1,y1)與b(x2,y2)間的曼哈頓距離
(2)兩個n維向量a(x11,x12,…,x1n)與 b(x21,x22,…,x2n)間的曼哈頓距離
急,matlab怎麼編寫向量之間夾角公式,如下
3樓:四捨**入
可以參考下面的**
function c=myangle(a1,a2,b1,b2)a=a1-a2;
b=b1-b2;
c=acosd( dot(a,b)./assista(a)./assista(b));
endfunction xn=assista(x)[n,m]=size(x);
xn=zeros(1,m);
for i=1:m
xn(i)=norm(x(:,i)); %end擴充套件資料:
matlab常用函式和命令
display 顯示物件內容的過載函式
dlinmod 離散回系統的線性化模型
dmperm 矩陣dulmage-mendelsohn 分解答dos 執行dos 指令並返回結果
double 把其他型別物件轉換為雙精度數值drawnow 更新事件佇列強迫matlab重新整理螢幕floor(x):下取整,即捨去正小數至相鄰整數ceil(x):上取整,即加入正小數至相鄰整數
4樓:書宬
a=[1 2];b=[3 4];
cosab=dot(a,b)/(norm(a)*norm(b))
5樓:風天雪月
c=dot(a,b)/norm(a,2)/norm(b,2)
c就是cos的值,如果要求角度,用rad2deg(acos(c))。
matlab中函式subspace,求兩個向量之間的夾角,為什麼要對向量矩陣轉置?
6樓:匿名使用者
函式實現往往會有一些限制。如果要函式覆蓋所有情況,函式實現者代價很高得。你如果簡單轉置就可以,那就轉置吧
7樓:華科數學
其實,我覺得,不轉置也可以給出結果的,而且這個題目中給出的結果和轉置後是一樣的。如果a和b都不是一維的向量,計算出的結果會有不同。因為matlab是將每一列作為乙個向量,而不是把每一行作為乙個向量。
在你的這個裡面,如果不轉置,給出的是矩陣[0 1]和矩陣[1 0]之間的夾角,如果轉置,給出的是向量[0 1]『和向量[1 0]』之間的夾角。
matlab怎麼計算**上兩條線段的夾角
8樓:匿名使用者
根據給定的節點,計算夾角
資訊,示意圖如下。
已知x1(x1, y1)、x2(x2, y2)、x3(x3, y3),計算直線x2x1與x2x3的夾內角資訊。
根據容向量內積,得到計算公式為:
theta1 = acosd(dot([x1-x2,y1-y2],[x3-x2,y3-y2])/(norm([x1-x2,y1-y2])*norm([x1-x2,y3-y2])));
其中,dot([x1-x2,y1-y2],[x3-x2,y3-y2])為計算內積,norm([x1-x2,y1-y2])為計算向量長度,acosd為計算以度為單位的夾角資訊。
matlab 向量夾角subspace
9樓:匿名使用者
高維是無法像bai三維那樣想象的
du但歐幾里得空間總是可以zhi定義夾角
dao, 從三維計算式推廣過去的
向量內a,b的夾角
=(a·b)/|容a||b| ,定義為內積除以各自的模, 這樣總是乙個 -1到1之間的數, 與三角函式sin或cos可以建立對映
兩個以上的向量如何計算(注 兩個向量用平行四邊形定則已會
一種萬能的方法 雖然比較麻煩 比如說 當有三個向量的時候 先做其中兩個向量的合向量 再用這個合向量與另一向量做合向量 最後做出的一個向量就是計算出得向量 具體的原理 在數學學向量的時候會說 另外一種 正交費解 注 向量和向量是一個概念 只是一個是數學叫法 一個是物理叫法 隨意話一個十字座標軸 使儘可...
如何計算與兩個向量都垂直的單位向量
顧小蝦水瓶 設這個向量x y z與已知兩個向量乘積為0,在是xyz分別平方的和等於1。單位向量是指模等於1的向量。由於是非零向量,單位向量具有確定的方向。單位向量有無數個。一個非零向量除以它的模,可得所需單位向量。一個單位向量的平面直角座標系上的座標表示可以是 n,k 則有n k 1。 計算與兩個向...
已知兩個向量組,證明兩向量組等價
清溪看世界 設向量組a a1,a2,am與向量組b b1,b2,bn 證明向量組a與向量組b等價,需要證明rank a rank b rank a,b 其中a和b是向量組a和b所構成的矩陣,rank a 表示矩陣a的秩,rank b 表示矩陣b的秩,rank a,b 表示增廣矩陣 a,b 的秩。另外...