包含javamatrix类的词条
今天给各位分享javamatrix类的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA编程 声明一个矩阵类Matrix,有这样一些实例方法:将一个矩阵转置、求两个矩阵的和。
- 2、JAVA里Matrix的简单问题
- 3、用java 编写一个矩阵类Matrix,要求能利用该矩阵类生成任意行、列的矩阵对象,比如3╳5矩阵,10╳20矩阵
- 4、用java声明Matrix类表示矩阵,使用二维数组存储矩阵元素,实现以下方法:
- 5、java构造一个矩阵
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类和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-26,除非注明,否则均为
原创文章,转载请注明出处。