【发布时间】:2014-08-28 16:55:58
【问题描述】:
我需要打印 2 个矩阵如何相乘的逐步说明。例如,如果有两个矩阵:
┌ ┐
│ 1 2 │
A = │ 4 3 │
└ ┘
┌ ┐
│ 6 9 │
B = │ -8 -5 │
└ ┘
...我需要打印:
**Explanation:**
C11 = 1•6 + 2•(-8) = -10
C12 = 1•9 + 2•(-5) = -1
C21 = 4•6 + 3•(-8) = 0
C22 = 4•9 + 3•(-5) = 21
**Result**
┌ ┐
│ -10 -1 │
A•B = │ 0 21 │
└ ┘
我怎样才能做到这一点?请注意,矩阵可能不是 2 X 2,尺寸肯定会有所不同。
编辑:
我尝试了类似的方法:
int frstMtxLen = frstMtx.length;
int scndMtxLen = secMtx.length;
for(int i = 0; i < frstMtxLen; i++)
{
for(int j = 0; j < frstMtx[i].length; j++)
{
resltMtxP[i][j] = "";
for (int k = 0; k < scndMtxLen; k++)
{
resltMtxP[i][j] = "\t"+resltMtxP[i][j]+" + "+ frstMtx[i][k] +" X "+secMtx[k][j]+" ;
}
try
{
doc.insertString(doc.getLength(), resltMtxP[i][j]+" ", headings); //I'm writing to a JTextPane
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
try
{
doc.insertString(doc.getLength(), "\n", keyWord);
}
catch (BadLocationException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
将矩阵打印为:
+ 2.0 X 6.0 + 4.0 X 7.0 + 2.0 X 9.0 + 4.0 X 8.0
+ 5.0 X 6.0 + 8.0 X 7.0 + 5.0 X 9.0 + 8.0 X 8.0
告诉我哪里出错了。
【问题讨论】:
-
您当前的代码在哪里,您有什么具体问题?
-
如果你是来找代码的,那么对不起!可能没有人会免费为您提供代码,而是您自己必须为它辛勤工作!
-
你想要一个完整的 GUI 解决方案是 Swing 吗?
-
@admdrew 我已经编辑了问题以添加代码和问题。请看一下,让我知道问题出在哪里
-
@shekharsuman 不用担心!提供的答案对我有用。感谢您的关注。
标签: java swing for-loop matrix