包含javamatrix类的词条

博主:adminadmin 2022-12-26 21:15:13 62

今天给各位分享javamatrix类的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA编程 声明一个矩阵类Matrix,有这样一些实例方法:将一个矩阵转置、求两个矩阵的和。

我简单的叙述下,matrix就一个二维数组,矩阵的转置就是对角上的折叠,说白了就是两个值的互换]。求和就非常简单了,必须是行和列都相同的才行,把对应位置的值加起来就ok。转置的具体方式可参考线性代数里的介绍

JAVA里Matrix的简单问题

import java.io.FileWriter;

import java.io.IOException;

import java.util.Arrays;

public class Matrix

{

boolean isReshapable(int length, int row, int col)

{

if(length  0 || row  0 || col  0)

{

return false;

}

if(length == 0)

{

if(row == 0  col == 0)

{

return true;

}

else

{

return false;

}

}

if(length == row * col)

{

return true;

}

return false;

}

int[][] reshape(int[] vector, int row, int col)

{

if(vector == null)

{

return null;

}

if(isReshapable(vector.length, row, col))

{

int[][] vectors = new int[row][col];

for(int i = 0; i  row; i++)

{

vectors[i] = new int[col];

for(int j = 0; j  col; j++)

{

vectors[i][j] = vector[i * col + j];

}

}

return vectors;

}

return null;

}

void writeMatrix(String filename, int[][] matrix)

{

try

{

FileWriter fw = new FileWriter(filename);

for(int i = 0; i  matrix.length; i++)

{

for(int j = 0; j  matrix[i].length; j++)

{

fw.write(matrix[i][j] + "");

if(j  matrix[i].length - 1)

{

fw.write(",");

}

}

fw.write("\r\n");

}

fw.flush();

fw.close();

}

catch(IOException e)

{

e.printStackTrace();

}

}

public static void main(String[] args)

{

Matrix m = new Matrix();

int[] vector = new int[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };

System.out.println(Arrays.deepToString(m.reshape(vector, 6, 2)));

m.writeMatrix("matrix.txt", new int[][]{ { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } });

}

}

用java 编写一个矩阵类Matrix,要求能利用该矩阵类生成任意行、列的矩阵对象,比如3╳5矩阵,10╳20矩阵

public class Matrix {

// 表示行和列

private int mRow, mColumn;

// 构造方法

public Matrix(int row, int column) {

mRow = row;

mColumn = column;

}

// 获取0-20随机数

private int random() {

double random1 = Math.random();// 这个Math类的方法可以获取0.0-1.0之间的随机数

double random2 = random1 * 20; // 0.0 - 20.0

return (int) random2;

}

// 创建矩阵

private void createMatrix() {

int totalCount = mRow * mColumn; // 总共有那么多

for (int count = 1; count = totalCount; count++) {

int number = random();// 上面的方法

System.out.print(number  10 ? "0" + number : number); // 输出数字,如果数字小于10,前面加0补全两位

System.out.print(" "); // 分隔符,随便填

if (count % mRow == 0) {

System.out.println(); // 换行

}

}

}

public static void main(String[] args) {

Matrix matrix = new Matrix(3, 5); // 几行几列传进去

matrix.createMatrix();

}

}

为了经验我也是蛮拼的了

用java声明Matrix类表示矩阵,使用二维数组存储矩阵元素,实现以下方法:

public class Matrix {

private static String matrix_A;

private int mx[][], m, n;

public Matrix(int r, int c) {

m = r;

n = c;

mx = new int[m][n];

iniMatrix();

}

public Matrix() {

m = 3;

n = 3;

mx = new int[3][3];

iniMatrix();

}

public void iniMatrix()// 随机取数

{

int i, j;

for (i = 0; i = m - 1; i++)

for (j = 0; j = n - 1; j++)

mx[i][j] = (int) (Math.random() * 100);

}

public void tranMatrix()// 转置矩阵

{

int i, j, t;

int mt[][] = new int[m][n];

for (i = 0; i = m - 1; i++)

for (j = 0; j = n - 1; j++)

mt[i][j] = mx[i][j];

t = m;

m = n;

n = t;

mx = new int[m][n];

for (i = 0; i = m - 1; i++)

for (j = 0; j = n - 1; j++)

mx[i][j] = mt[j][i];

}

public void printMatrix()// 输出矩阵所有值

{

int i, j;

for (i = 0; i = m - 1; i++) {

for (j = 0; j = n - 1; j++)

System.out.print(" " + mx[i][j]);

System.out.println();

}

}

//判断一个矩阵是否为上三角矩阵

public boolean isUpperTriangularMatrix() {

int i, j = 0;

int c = this.mx[1][0];

for(i=1; ithis.mx.length; i++)

for(j=0; ji; j++)

if(this.mx[i][j] != c)

break;

if(i=this.mx.length)

return true;

return false;

}

public void addMatrix(Matrix b)// 矩阵相加

{

int i, j;

for (i = 0; i = m - 1; i++)

for (j = 0; j = n - 1; j++)

mx[i][j] = mx[i][j] + b.mx[i][j];

}

public static void main(String args[]) {

Matrix ma = new Matrix(4, 3);

Matrix mb = new Matrix(4, 3);

System.out.println("The matrix_A:");

ma.printMatrix();

System.out.println("The matrix_B:");

mb.printMatrix();

if(ma.isUpperTriangularMatrix())

System.out.println("上三角矩阵:\n" + ma.isUpperTriangularMatrix());

System.out.println("Matrix_A + Matrix_B:");

ma.addMatrix(mb);

ma.printMatrix();

System.out.println("Transpose Matrix_A:");

mb.tranMatrix();

mb.printMatrix();

System.out.println("Transpose Matrix_A+Matrix_B:");

mb.tranMatrix();

mb.printMatrix();

}

}

java构造一个矩阵

1、java构造函数--数组 在构造函数中初始化数组,如 public class array { private int [][] matrix; public array(int r,int c) { matrix=new matrix[r][c]; } }

matrix=new matrix[r][c];

2、这里是new int[][]; java中8个基本数据类型都是有默认值的,int默认值为0 ,

3、所以数组中默认都为0.

4、但是切记有默认值的变量必须是类的属性,方法中局部变量必须赋值才可以使用。

关于javamatrix类和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。