作者jjt (jet)
看板Perl
标题[心得] perl向量运算
时间Tue Nov 27 11:06:04 2007
相关网站
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