[心得] perl向量運算
相關網站
http://www.perl.com/pub/a/2003/02/19/engine.html?page=2
比如向量v1 = [1.0, 2.0] v2= [3.0, 1.0]
要做cosine的話 公式如下:
cos = ( V1 * V2 ) / ||V1|| x ||V2||
用perl自己寫的話,如果覺得不好看的話
這個網站,有給一個好用的函式
sub cosine {
my ($vec1, $vec2 ) = @_;
my $n1 = norm $vec1;
my $n2 = norm $vec2;
my $cos = inner( $n1, $n2 ); # inner product
return $cos->sclr(); # converts PDL object to Perl scalar
}
我舉一個計算的範例
use PDL;
my $a=[ 1.0, 2.0 ];
my $vec = piddle $a;
my $vec2 = piddle [ 3.0,1.0 ];
print cosine($vec, $vec2);
輕鬆就算出cosine的答案XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.197.133
Perl 近期熱門文章
PTT數位生活區 即時熱門文章