Javascript 如何在不使用库的情况下求解3x3矩阵的逆? 加载结果 var反向=数学投资([[1,2,4],[3,4,5],[7,8,9]); document.getElementById(“结果”).textContent=JSON.stringify(倒置);

Javascript 如何在不使用库的情况下求解3x3矩阵的逆? 加载结果 var反向=数学投资([[1,2,4],[3,4,5],[7,8,9]); document.getElementById(“结果”).textContent=JSON.stringify(倒置);,javascript,math,matrix,inversion,Javascript,Math,Matrix,Inversion,这就是我使用math.js时所做的,但我很好奇如何在不使用库的情况下做到这一点。确保矩阵“完整”,如:无缺失值。 以下代码适用于具有行计数的矩阵=列计数也是如此 var originalMatrix=[[1,2,3]、[4,5,6]、[7,8,9]; 函数逆矩阵(矩阵){ 返回矩阵.reduce( (acc、cv)=>{ cv.reduce( (acc2、cv2、idx2)=>{ 如果(acc[idx2]==未定义)acc[idx2]=[]; acc[idx2]。推力(cv2); },[] )

这就是我使用math.js时所做的,但我很好奇如何在不使用库的情况下做到这一点。

确保矩阵“完整”,如:无缺失值。
以下代码适用于具有行计数的矩阵=列计数也是如此

var originalMatrix=[[1,2,3]、[4,5,6]、[7,8,9];
函数逆矩阵(矩阵){
返回矩阵.reduce(
(acc、cv)=>{
cv.reduce(
(acc2、cv2、idx2)=>{
如果(acc[idx2]==未定义)acc[idx2]=[];
acc[idx2]。推力(cv2);
},[]
);
返回acc;
},[]
);
};
console.log(原始矩阵);
console.log(invertMatrix(originalMatrix));
console.log(invertMatrix(invertMatrix(originalMatrix));
var anotherMatrix=[[1,2,3]、[4,5,6]、[7,8,9]、[10,11,12]、[13,14,15];
控制台日志(anotherMatrix);
控制台日志(反转矩阵(anotherMatrix));
log(invertMatrix(invertMatrix(anotherMatrix)))
.as控制台包装{max height:100%!important;top:0;}
确保矩阵如中所示为“完整”:无缺失值。
以下代码适用于具有行计数的矩阵=列计数也是如此

var originalMatrix=[[1,2,3]、[4,5,6]、[7,8,9];
函数逆矩阵(矩阵){
返回矩阵.reduce(
(acc、cv)=>{
cv.reduce(
(acc2、cv2、idx2)=>{
如果(acc[idx2]==未定义)acc[idx2]=[];
acc[idx2]。推力(cv2);
},[]
);
返回acc;
},[]
);
};
console.log(原始矩阵);
console.log(invertMatrix(originalMatrix));
console.log(invertMatrix(invertMatrix(originalMatrix));
var anotherMatrix=[[1,2,3]、[4,5,6]、[7,8,9]、[10,11,12]、[13,14,15];
控制台日志(anotherMatrix);
控制台日志(反转矩阵(anotherMatrix));
log(invertMatrix(invertMatrix(anotherMatrix)))

.as console wrapper{max height:100%!important;top:0;}
您将如何使用笔和纸?在堆栈上获得帮助的最佳方法是将您试图解决问题的代码放在堆栈上(现在,您只是要求一个简单的、完整的代码解决方案)然后告诉你在哪里卡住了。你会怎么用笔和纸呢?在堆栈上获得帮助的最好方法是把你试图解决问题的代码放在一起(现在,你只是要求一个简单的、完整的代码解决方案),然后告诉你在哪里卡住了。你的代码似乎是在计算矩阵的转置。总的来说,这不是问题所在inverse@dmuir,你是对的。我误解了这个问题。当我学习矩阵时,它不是英语的=这会导致(太多)误解。。。当遇到“顶点”和“边”时,我仍然必须停下来思考哪个是点,哪个是线,例如。。。我将很快编写“反向”的代码。再次感谢!您的代码似乎在计算矩阵的转置。总的来说,这不是问题所在inverse@dmuir,你是对的。我误解了这个问题。当我学习矩阵时,它不是英语的=这会导致(太多)误解。。。当遇到“顶点”和“边”时,我仍然必须停下来思考哪个是点,哪个是线,例如。。。我将很快编写“反向”的代码。再次感谢!
 <html>
<head>
  <script language="JavaScript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/3.2.1/math.js"></script>
</head>
<body>
  <p id="result">loading result...</p>
  <script> 
   var inverted = math.inv([[1,2,4],[3,4,5],[7,8,9]]);
  document.getElementById("result").textContent = JSON.stringify(inverted);
  </script>
</body>
</html>