小编Fut*_*ure的帖子

JavaScript 余弦相似度函数

我正在尝试创建一个余弦相似度函数,然后在 HTML 元素中显示结果。我写了以下内容:

function cosinesim(A,B){
        var dotproduct=0;
        var mA=0;
        var mB=0;
        for(i = 0; i < A.length;){
            dotproduct += (A[i] * B[i]);
            mA += (A[i]*A[i]);
            mB += (B[i]*B[i]);
        }
        mA = Math.sqrt(mA);
        mB = Math.sqrt(mB);
        var similarity = (dotproduct)/(mA)*(mB)
        return similarity;
    }

//.....

var array1 = [1,0,0,1];
var array2 = [1,0,0,0];

var p = cosinesim(array1,array2);
document.getElementById("sim").innerHTML = String(p);
Run Code Online (Sandbox Code Playgroud)

我已经测试过,我输入的两个数组的长度相同,但是当我的代码运行到这个位时,它崩溃了,我似乎找不到问题所在。

如有任何帮助,我们将不胜感激,谢谢。

javascript trigonometry similarity

10
推荐指数
2
解决办法
1万
查看次数

JavaScript函数导致循环结束?

我的功能和循环有问题,不知道为什么.

var a = ['1,0,1', '0,1,0', '1,1,1'];
var b = [1, 1, 1];

function myFunction() {
  for (i = 0; i < a.length; i++) {
    var user = a[i].split(',');
    var cs = cosinesim(user, b);
    document.getElementById("cs").innerHTML += String(user) + '  ' + String(cs) + '<br>';
    cs = 0;
    user = '';
  }
}

function cosinesim(A, B) {
  var dotproduct = 0;
  var mA = 0;
  var mB = 0;
  for (i = 0; i < A.length; i++) {
    dotproduct += (parseInt(A[i]) …
Run Code Online (Sandbox Code Playgroud)

javascript

0
推荐指数
1
解决办法
50
查看次数

标签 统计

javascript ×2

similarity ×1

trigonometry ×1