var this.mtx [i] [lead]在javascript中做了什么?

时间:2016-12-14 01:34:43

标签: javascript

我正在浏览一个来自这个网站的缩减行梯形图代码:http://rosettacode.org/wiki/Reduced_row_echelon_form#JavaScript我试图把它放到更简单的代码中,以便我能理解每条指令的作用。然后我遇到了:while(this.mtx [i] [lead] == 0)。我理解this.mtx [i]是什么,但我不知道在mtx [i]之后正确的情况下[领导]是什么。非常感谢您的帮助。这是代码:

Matrix.prototype.toReducedRowEchelonForm = function() {
var lead = 0;
for (var r = 0; r < this.rows(); r++) {
    if (this.columns() <= lead) {
        return;
    }
    var i = r;
    while (this.mtx[i][lead] == 0) {
        i++;
        if (this.rows() == i) {
            i = r;
            lead++;
            if (this.columns() == lead) {
                return;
            }
        }
    }

    var tmp = this.mtx[i];
    this.mtx[i] = this.mtx[r];
    this.mtx[r] = tmp;

    var val = this.mtx[r][lead];
    for (var j = 0; j < this.columns(); j++) {
        this.mtx[r][j] /= val;
    }

    for (var i = 0; i < this.rows(); i++) {
        if (i == r) continue;
        val = this.mtx[i][lead];
        for (var j = 0; j < this.columns(); j++) {
            this.mtx[i][j] -= val * this.mtx[r][j];
        }
    }
    lead++;
}
return this;
}

0 个答案:

没有答案