导航:首页 > 编程语言 > javamatrix

javamatrix

发布时间:2022-04-24 11:30:01

java里Matrix的简单问题

importjava.io.FileWriter;
importjava.io.IOException;
importjava.util.Arrays;

publicclassMatrix
{
booleanisReshapable(intlength,introw,intcol)
{
if(length<0||row<0||col<0)
{
returnfalse;
}
if(length==0)
{
if(row==0&&col==0)
{
returntrue;
}
else
{
returnfalse;
}
}
if(length==row*col)
{
returntrue;
}
returnfalse;
}

int[][]reshape(int[]vector,introw,intcol)
{
if(vector==null)
{
returnnull;
}
if(isReshapable(vector.length,row,col))
{
int[][]vectors=newint[row][col];
for(inti=0;i<row;i++)
{
vectors[i]=newint[col];
for(intj=0;j<col;j++)
{
vectors[i][j]=vector[i*col+j];
}
}
returnvectors;
}
returnnull;
}

voidwriteMatrix(Stringfilename,int[][]matrix)
{
try
{
FileWriterfw=newFileWriter(filename);
for(inti=0;i<matrix.length;i++)
{
for(intj=0;j<matrix[i].length;j++)
{
fw.write(matrix[i][j]+"");
if(j<matrix[i].length-1)
{
fw.write(",");
}
}
fw.write(" ");
}
fw.flush();
fw.close();
}
catch(IOExceptione)
{
e.printStackTrace();
}
}

publicstaticvoidmain(String[]args)
{
Matrixm=newMatrix();
int[]vector=newint[]{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",newint[][]{{1,2,3},{4,5,6},{7,8,9}});
}
}

㈡ java矩阵乘法

import java.util.Arrays;
public class Test {
static int[][] matrix1;
static int[][] matrix2;
public static void main(String[] args) {
matrix1=new int[][]{{1,2,3,4},{2,3,4,5},{3,4,5,6},{4,5,6,7},{5,6,7,8},{6,7,8,9}};
matrix2=new int[][]{{9,8,7,6,5,4},{8,7,6,5,4,3},{7,6,5,4,3,2},{6,5,4,3,2,1}};

if(matrix1.length!=matrix2[0].length){//若无法相乘则退出
System.out.println("ivalid input");
System.exit(0);
}

int[][] r = new int[matrix1[0].length][matrix2.length];
for(int i=0;i<r.length;++i){
for(int j=0;j<r[i].length;++j){//每一个r[i][j]的运算:
r[i][j]=0;//初始化
for(int k=0;k<matrix2.length;++k)
r[i][j]+=matrix1[i][k]*matrix2[k][j];
}
}
//输出结果
for(int i=0;i<r.length;++i)
System.out.println(Arrays.toString(r[i]));
}
}

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

publicclassMatrix{

//表示行和列
privateintmRow,mColumn;

//构造方法
publicMatrix(introw,intcolumn){
mRow=row;
mColumn=column;
}

//获取0-20随机数
privateintrandom(){
doublerandom1=Math.random();//这个Math类的方法可以获取0.0-1.0之间的随机数
doublerandom2=random1*20;//0.0-20.0
return(int)random2;
}

//创建矩阵
privatevoidcreateMatrix(){
inttotalCount=mRow*mColumn;//总共有那么多
for(intcount=1;count<=totalCount;count++){
intnumber=random();//上面的方法

System.out.print(number<10?"0"+number:number);//输出数字,如果数字小于10,前面加0补全两位
System.out.print("");//分隔符,随便填
if(count%mRow==0){
System.out.println();//换行
}

}
}

publicstaticvoidmain(String[]args){
Matrixmatrix=newMatrix(3,5);//几行几列传进去
matrix.createMatrix();
}
}

为了经验我也是蛮拼的了

㈣ java中 matrix[0].length 是什么意思 求解~~~~ 那matrix.length呢

先说结论,matrix.length表示的是行数,matrix[0].length表示的是列数。可通过一下代码进行实验,如果身边没有Java环境,可在ideone.com进行尝试。
int[][] arr = new int[3][4];

System.out.println(arr.length);
System.out.println(arr[0].length);

㈤ 用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; i<this.mx.length; i++)
for(j=0; j<i; 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编写matrix类,这个矩阵类可以存放各种类型的数据,char、string、int,该怎么编

你define变量的时候 直接用String就行了呗 如果里面的数值需要进行运算的时候 转化为int计算 然后再转成String保存就行了

String To Int: Integer.parseInt(x); //x是被转化的String型参数;
Int To String:String.valueOf(y); //y是被转化的int型参数;

int currPara = Integer.parseInt(x);
String.valueOf(currPara);

㈦ 用JAVA编写矩阵

这样定义就可以:int[][] array = {{1,13,12,11},{2,14,17,10},{3,15,16,9},{4,5,6,7,8}};
想要查看的话:
for(int i = 0; i < array.length; i ++) {
for(int j = 0; j < array[i].length; j ++) {
System.out.println(array[i][j]);
}
}
注:java 中的二维数组中每一维的长度是可以不同的,如例子中的,前三个长度为4,第四个长度则为5,这样是允许的。

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

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

㈨ 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、但是切记有默认值的变量必须是类的属性,方法中局部变量必须赋值才可以使用。

㈩ Java中Matrix的问题



importjava.util.Arrays;

publicclassMatrix
{
booleanisReshapable(intlength,introw,intcol)
{
if(length<0||row<0||col<0)
{
returnfalse;
}
if(length==0)
{
if(row==0&&col==0)
{
returntrue;
}
else
{
returnfalse;
}
}
if(length==row*col)
{
returntrue;
}
returnfalse;
}
int[][]reshape(int[]vector,introw,intcol)
{
if(isReshapable(vector.length,row,col))
{
int[][]vs=newint[row][col];
for(inti=0;i<row;i++)
{
vs[i]=newint[col];
for(intj=0;j<col;j++)
{
vs[i][j]=vector[i*col+j];
}
}
returnvs;
}
returnnull;
}
publicstaticvoidmain(String[]args)
{
Matrixm=newMatrix();
int[]vector=newint[]{1,2,3,4,5,6,7,8,9,10,11,12};
System.out.println(Arrays.deepToString(m.reshape(vector,2,6)));
System.out.println(Arrays.deepToString(m.reshape(vector,3,4)));
}
}

阅读全文

与javamatrix相关的资料

热点内容
云服务器关机网址不见了 浏览:69
余冠英pdf 浏览:755
开发一个app上市需要什么步骤 浏览:28
phpsleep方法 浏览:430
时间同步服务器ip地址6 浏览:926
钢琴谱pdf下载 浏览:524
香港阿里云服务器怎么封udp 浏览:875
APp买海鲜到哪里 浏览:501
辽油社保app总提示更新怎么办 浏览:586
导入源码教程视频 浏览:613
天翼贷app在哪里下载 浏览:186
app开发源码查看器 浏览:516
程序员发展到了一个瓶颈 浏览:120
程序员去机房干嘛 浏览:697
英雄训练师怎么看曾经服务器 浏览:546
魔兽世界单机输入gm命令 浏览:372
51单片机最大负跳距是多少 浏览:418
android聊天控件 浏览:128
导致压缩机坏的原因 浏览:295
如何多次选取文件夹 浏览:280