public class Matrix{
private int value[][];
public Matrix(int m,int n){
this.value=new int[m][n];
}
public Matrix(int n){
this(n,n);
}
public Matrix(){
this(10,10);
}
public Matrix(int mat[][]){
this(mat.length,mat[0].length);
for(int i=0;i<mat.length;i++){
for(int j=0;j<mat[i].length;j++){
this.value[i][j]=mat[i][j];
}
}
}
public int get(int i,int j){
return value[i][j];
}
public void set(int i,int j,int k){
value[i][j]=k;
}
public void add(Matrix b){ //两个矩阵相加
for(int i=0;i<this.value.length;i++){
for(int j=0;j<this.value[i].length;j++){
this.value[i][j]+=b.value[i][j];
}
}
}
public Matrix transpose(){ //求转置矩阵
Matrix Tmatrix=new Matrix(value[0].length,value.length);
for(int i=0;i<value.length;i++){
for(int j=0;j<value[i].length;j++){
Tmatrix.value[j][i]=value[i][j];
}
}
return Tmatrix;
}
public boolean isUpperTriangularMatrix(){ //判断是否为上三角矩阵
boolean b=true;
for(int i=0;i<value.length;i++){
for(int j=0;j<i;j++){
if(value[i][j]!=0){
b=false;
break;
}
}
}
return b;
}
public boolean isLowerTriangularMatrix(){ //判断是否为下三角矩阵
boolean b=true;
for(int i=0;i<value.length;i++){
for(int j=value[i].length-1;j>i;j--){
if(value[i][j]!=0){
b=false;
break;
}
}
}
return b;
}
public boolean isSymmetricMatrix(){ //判断是否为对称矩阵
boolean b=true;
for(int i=0;i<value.length;i++){
for(int j=0;j<i;j++){
if(value[i][j]!=value[j][i]){
b=false;
break;
}
}
}
return b;
}
public boolean equals(Matrix matrix){ //判断是否等于矩阵matrix
boolean b=true;
if(value.length==matrix.value.length&&value[0].length==matrix.value[0].length){
for(int i=0;i<value.length;i++){
for(int j=0;j<value[0].length;j++){
if(value[i][j]!=matrix.value[i][j]){
b=false;
break;
}
}
}
}
else{
b=false;
}
return b;
}
public void multiply(Matrix matrix){ //计算与 matrix的乘积并赋值
if(value[0].length==matrix.value.length){
Matrix record=new Matrix(value.length,value[0].length);
for(int i=0;i<value.length;i++){
for(int j=0;j<value[i].length;j++){
record.value[i][j]=value[i][j];
}
}
value=new int[record.value.length][matrix.value[0].length];
for(int i=0;i<value.length;i++){
for(int j=0;j<value[i].length;j++){
for(int k=0;k<matrix.value.length;k++){
value[i][j]+=record.value[i][k]*matrix.value[k][j];
}
}
}
}
}
public String toString(){
String str="";
for(int i=0;i<value.length;i++){
for(int j=0;j<value[i].length;j++){
str+=" "+value[i][j];
}
str+="\n";
}
return str;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
.rar (4个子文件)
矩阵
Matrix.class 2KB
Matrix.java 3KB
Matrix_ex.java 2KB
Matrix_ex.class 2KB
共 4 条
- 1
资源评论
nulibiancheng
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功