-
以下是用js做了一个矩阵点积的计算:
矩阵点积:计算行和列之间的乘积之和,也叫矩阵乘积
第一个矩阵的列数必须等于第二个矩阵的行数。如果第一个矩阵的维度是(m×n),则需要第二个矩阵的维度必须为(n×x),得到的结果矩阵的维度为(m×x)。
js代码:
const a = [ // 3 * 2的矩阵 3行2列 [1,2], [3,4], [5,6] ] const b = [ // 2 * 1 的矩阵 2行1列 [2], [4] ] // a和b矩阵满足a的列数=b的行数 可以做矩阵点积计算 function dianJi(a, b) { const width = a.length; const height = b.length; const result = []; for(let x = 0; x < width; x++) { // 遍历a的行数 const row = []; for(let y = 0; y < b[0].length; y++) { // 遍历b的列数 let sum = 0; for(let i = 0; i < a[0].length; i++) { // 遍历a的列数 sum += a[x][i] * b[i][y]; } row[y] = sum; } result[x] = row; } return result; } const r = dianJi(a, b); // 生成3 * 1的矩阵 console.log(r, '3*1');
const a2 = [ [1,2,3], [4,5,6], [7,8,10], [11,12,13] ] const b2 = [ [2,7], [1,2], [3,6] ] const r2 = dianJi(a2, b2); // 生成3 * 1的矩阵 console.log(r2, '4*2');
-
标签:const,点积,矩阵,length,let,列数 From: https://www.cnblogs.com/fqh123/p/17033957.html