Java,矩阵乘法,如何将值插入矩阵
Java, Matrices multiplication, How do I insert values into the matrices
我正在尝试让矩阵乘法工作,我才刚刚开始学习编程。如何将值添加到我在 main 中创建的 4x4 和 4x4 矩阵? (这不是我的代码,但我理解大部分代码,除了使用 setElement 和 getElement 如果你能向我解释它应该做什么)我真的很感激你的帮助
public class Matrix{
private float[][] elements;
private int rows;
private int cols;
public int getRows()
{
return rows;
}
public int getCols()
{
return cols;
}
public Matrix(int rows, int cols)
{
this.rows = rows;
this.cols = cols;
elements = new float[rows][cols];
}
public void setElement(int row, int col, float value)
{
elements[row][col] = value;
}
public float getElement(int row, int col)
{
return elements[row][col];
}
public static Matrix mult(Matrix a, Matrix b)
{
Matrix c = new Matrix(a.getRows(), b.getCols());
for (int row = 0; row < a.getRows(); row++)
{
for (int col = 0; col < b.getCols(); col++)
{
float sum = 0.0f;
for (int i = 0; i < a.getCols(); i++)
{
sum += a.getElement(row, i) * b.getElement(i, col);
}
c.setElement(row, col, sum);
}
}
return c;
}
public static void main(String[] args)
{
Matrix m = new Matrix(4,4);
Matrix m1 = new Matrix(4,4);
Matrix multip = Matrix.mult(m, m1);
multip = Matrix.mult(m, m1);
System.out.println(multip);
}
}
名称 setElement
和 getElement
几乎可以说明一切。
您在 Matrix
上调用 setElement
以指定该 Matrix
中给定行和列位置处的元素的值。如果您想知道给定位置的元素的值,您可以调用 getElement
。
以下是您如何使用它们的示例:
Matrix m = new Matrix(2,2); // Make a 2x2 matrix
m.setElement(0, 0, 11.0); // row #0, col #0 <- 11.0
m.setElement(0, 1, 12.0); // row #0, col #1 <- 12.0
m.setElement(1, 0, 21.0); // row #1, col #0 <- 21.0
m.setElement(1, 1, 22.0); // row #1, col #1 <- 22.0
// This will print "Yes"
if (m.getElement(0, 0) == 11.0)
System.out.println("Yes");
else
System.out.println("No");
我正在尝试让矩阵乘法工作,我才刚刚开始学习编程。如何将值添加到我在 main 中创建的 4x4 和 4x4 矩阵? (这不是我的代码,但我理解大部分代码,除了使用 setElement 和 getElement 如果你能向我解释它应该做什么)我真的很感激你的帮助
public class Matrix{
private float[][] elements;
private int rows;
private int cols;
public int getRows()
{
return rows;
}
public int getCols()
{
return cols;
}
public Matrix(int rows, int cols)
{
this.rows = rows;
this.cols = cols;
elements = new float[rows][cols];
}
public void setElement(int row, int col, float value)
{
elements[row][col] = value;
}
public float getElement(int row, int col)
{
return elements[row][col];
}
public static Matrix mult(Matrix a, Matrix b)
{
Matrix c = new Matrix(a.getRows(), b.getCols());
for (int row = 0; row < a.getRows(); row++)
{
for (int col = 0; col < b.getCols(); col++)
{
float sum = 0.0f;
for (int i = 0; i < a.getCols(); i++)
{
sum += a.getElement(row, i) * b.getElement(i, col);
}
c.setElement(row, col, sum);
}
}
return c;
}
public static void main(String[] args)
{
Matrix m = new Matrix(4,4);
Matrix m1 = new Matrix(4,4);
Matrix multip = Matrix.mult(m, m1);
multip = Matrix.mult(m, m1);
System.out.println(multip);
}
}
名称 setElement
和 getElement
几乎可以说明一切。
您在 Matrix
上调用 setElement
以指定该 Matrix
中给定行和列位置处的元素的值。如果您想知道给定位置的元素的值,您可以调用 getElement
。
以下是您如何使用它们的示例:
Matrix m = new Matrix(2,2); // Make a 2x2 matrix
m.setElement(0, 0, 11.0); // row #0, col #0 <- 11.0
m.setElement(0, 1, 12.0); // row #0, col #1 <- 12.0
m.setElement(1, 0, 21.0); // row #1, col #0 <- 21.0
m.setElement(1, 1, 22.0); // row #1, col #1 <- 22.0
// This will print "Yes"
if (m.getElement(0, 0) == 11.0)
System.out.println("Yes");
else
System.out.println("No");