Я пытаюсь написать матричную библиотеку при обработке с использованием javascript, но продолжаю получать ошибку выше в строке 5. Кажется, я не могу определить причину ошибки, поэтому любая помощь будет оценена.
Цель состоит в том, чтобы реализовать функцию матричного произведения.
function Matrix(rows,cols){
this.rows = rows;
this.cols = cols;
this.data = [];
for(var i = 0; i < this.rows; i++){
//assign every row an array
this.data[i] = [];
for (var j = 0; j < this.cols; j++){
//assign every column an array
this.data[i][j] = 0;
}
}
}
Matrix.prototype.multiply = function(n){
if(n instanceof Matrix){
// Matrix product
if (this.cols !== n.rows) {
console.log('Columns of A must match rows of B.');
return undefined;
}
let result = new Matrix(this.rows, n.cols);
for (let i = 0; i < result.rows; i++) {
for (let j = 0; j < result.cols; j++) {
// Dot product of values in col
let sum = 0;
for (let k = 0; k < this.cols; k++) {
sum += this.data[i][k] * n.data[k][j];
}
result.data[i][j] = sum;
}
}
return result;
}
else{
for(var i = 0; i < this.rows; i++){
for (var j = 0; j < this.cols; j++){
//multiply scalar
this.data[i][j] *= n;
}
}
}
}