`
javawangzilong
  • 浏览: 57109 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

转置矩阵以及判断上三角矩阵

 
阅读更多
public class Matrix { //矩阵类
private int element[][];
public Matrix(int m,int n){
this.element=new int[m][n];
}
public Matrix(int n){this(n,n);}
public Matrix(int m,int n,int mat[][]){
this(m,n);
for(int i=0;i<mat.length;i++){
for(int j=0;j<mat[i].length;j++){
this.element[i][j]=mat[i][j];
}
}
}

public int get(int i,int j){
return this.element[i][j];
}

public void set(int i,int j,int value){
this.element[i][j] = value;
}

public Matrix transpose(){ //将矩阵转换成转置矩阵,返回一个矩阵类的值
String str = "转置矩阵" + "\n";
Matrix temp = new Matrix(this.element[0].length,this.element.length);
for(int i=0;i<temp.element.length;i++){
for(int j=0;j<temp.element[i].length;j++){
temp.element[i][j] = this.element[j][i];
}

}

return temp;
}

public String toString(){
String str = "矩阵 Matrix (" + this.element.length + "*" + this.element[0].length + ") : \n";
for(int i=0;i<this.element.length;i++){
for(int j=0;j<this.element[i].length;j++){
str += String.format("%4d", this.element[i][j]);
}
str += "\n" ;
}
return str;
}

public boolean equals(Matrix a){ //判断是否和另一个矩阵相同
System.out.print("是否和另一个矩阵相同");
for(int i=0;i<this.element.length;i++){
for(int j=0;j<this.element[i].length;j++){
if(this.element[i][j]!=a.element[i][j])
return false;
}
}
return true;
}

public boolean isUpperTriangularMatrix(){ //判断是否为上三角矩阵
for(int i=1;i<this.element.length-1;i++){
for(int j=0;j<this.element[i].length-1;j++){
if(this.element[i][j]==0)
return true;
}
}
return false;
}

public boolean isSymmetricMatrix(){ //判断矩阵是否对称
System.out.print("是否是对称矩阵");
for(int i=0;i<this.element.length;i++){
for(int j=0;j<this.element[i].length;j++)
if(this.element[i][j]!=this.element[j][i])
return false;
}
return true;
}

public static void main(String[] args){ //main方法,程序开始执行
int m1[][] = {{1,2,3},{4,5,6}};
Matrix mata = new Matrix(2,3,m1);
System.out.print(mata.toString());
System.out.print(mata.transpose().toString());
System.out.print(mata.isSymmetricMatrix());
int m2[][] = {{1,2,3},
  {0,5,6},
  {0,0,9}};
Matrix mata1 = new Matrix(3,3,m2);
System.out.print(mata1.toString());
System.out.print(mata1.isUpperTriangularMatrix());
}
}
分享到:
评论

相关推荐

    离散数学——判断是否对称矩阵

    在这个代码中,我们首先检查矩阵的大小,然后只比较上三角部分的元素(因为对角线和下三角部分已经通过上三角部分的比较得到了验证)。如果找到任何不匹配的对,函数立即返回False,表示矩阵不是对称的。如果所有对...

    java实现矩阵.pdf

    下面将详细解释如何使用Java实现矩阵,包括矩阵的初始化、输出、转置、判断上三角矩阵和对称矩阵,以及矩阵的相加操作。 首先,我们创建一个名为`Matrix`的类来表示矩阵。这个类包含一个二维整数数组`matrix`来存储...

    nizhen.rar_matrix inverse_判断矩阵可逆_矩阵的逆_逆矩阵_逆矩阵 C

    3. **LU分解法**:将矩阵A分解为下三角矩阵L和上三角矩阵U,然后利用这些矩阵求解逆矩阵。 4. **C语言实现**:在C语言中,可以使用上述方法之一实现逆矩阵的计算,比如通过高斯-约旦消元法,编写相应的矩阵操作函数...

    对称正定矩阵分解成正定矩阵乘积1

    对称正定矩阵分解成正定矩阵乘积的形式通常写作A = T^T*T,这里的T是一个上三角矩阵。T的转置T^T和T自身相乘得到的正是一个对称矩阵。根据正定矩阵的定义,T的逆矩阵存在,这意味着T也是可逆的,并且其逆矩阵T^(-1)...

    矩阵分析课后习题

    - **LU分解**:对于一个方阵A,如果它可以被分解为一个下三角矩阵L和一个上三角矩阵U的乘积,则称这种分解为LU分解。 #### 七、课后习题解析 由于题目没有给出具体的习题内容,这里无法给出具体的解答。但是,根据...

    矩阵计算器,C++实现

    在本文中,我们将深入探讨如何使用C++编程语言来实现矩阵计算的相关操作,包括矩阵的加法、减法、转置、乘法、行列式计算、上三角矩阵以及矩阵的逆。C++是一种强大且高效的编程语言,尤其适用于数值计算和科学计算...

    线性代数知识点总结.pdf

    + 反对称矩阵:矩阵等于其转置矩阵的负值 + 阶梯型矩阵:每一非零行左数第一个非零元素所在列的下方都是零 * 矩阵的秩:矩阵的秩是指矩阵的最大非零子矩阵的秩 三、初等变换 * 初等变换的定义:初等变换是指对...

    矩阵所有运算的C++代码

    矩阵的三角分解,如`MatrixLU.cpp`中的LUD分解,是将矩阵分解为一个下三角矩阵L、一个上三角矩阵U的乘积。这对于求解线性方程组非常有用。 QR分解将矩阵分解为一个正交矩阵Q和一个上三角矩阵R,这在数值分析和线性...

    100阶以下的三对角矩阵逆矩阵计算

    通过计算乘法因子并应用到矩阵的相应行上,逐步将扩展矩阵左侧转换为上三角矩阵。 - **后向消元**:接下来是对上三角矩阵进行后向消元,消除除主对角线外的所有非零元素,使其成为单位矩阵。同时,扩展矩阵右侧也...

    数据结构实验四(矩阵的压缩存储)题目和源程序

    // 转置矩阵的输出 for (int i = 0; i ; i++) { for (int j = 0; j ; j++) { if (i ) cout (5) [j * (j + 1) / 2 + i]; else cout (5) [n * (n + 1) / 2]; } cout ; } } ``` **2. 稀疏矩阵的三元组顺序...

    矩阵论的课件

    - **LU分解**:将矩阵分解为一个下三角矩阵L和一个上三角矩阵U。 ### 五、矩阵的应用 #### 数据分析 - 在数据分析中,矩阵被用于表示数据集,通过矩阵运算实现数据的预处理、特征提取等操作。 - **主成分分析(PCA...

    上海交大20142015矩阵论试卷

    - 上(下)三角矩阵:所有位于主对角线以下(以上)的元素均为0的方阵。 #### 2. 矩阵的运算 - **加法**:两个相同大小的矩阵可以相加,即对应位置的元素相加。 - **乘法**: - 矩阵与标量相乘:矩阵中的每个元素...

    矩阵计算器+科学计算器

    科学计算器部分则提供了一般数学计算功能,如三角函数、指数、对数、平方根、立方根等,以及更高级的函数如双曲函数、复数运算、统计计算等。这样的组合使用户能够处理复杂的数学问题,不仅限于矩阵运算,也包括普通...

    QR迭代法求矩阵特征值1

    1. **豪斯荷尔德变换**:豪斯荷尔德变换是一种构造正交矩阵的方法,通过单位向量w和其转置wT构建正交矩阵H,使得H AH是上三角矩阵。在求解特征值的过程中,首先将原始矩阵A通过一系列豪斯荷尔德变换转化为上海森伯格...

    电子科技大学研究生试卷——2014年《矩阵理论》试题

    **解析**:正规矩阵满足\[AA^*=A^*A\],而上三角矩阵的特征在于其下方的元素为0。结合这两个条件可以推导出\[A\]的非对角线元素都为0,从而证明\[A\]是对角矩阵。 #### 3. 谱分解 - **题目**:求矩阵\[A\]的谱...

    矩阵的分解PPT学习教案.pptx

    - Schur分解是将任何复数矩阵转化为上三角矩阵的形式,这对于分析矩阵的稳定性以及与之相关的动态系统至关重要。 - 正规矩阵是满足A^HA=AA^H的矩阵,其中H是共轭转置。对于对称矩阵,Schur分解简化为正交相似对角...

    成电矩阵理论历年考题

    转置矩阵是将矩阵的行变成列,列变成行得到的新矩阵,记作A^T。单位矩阵与任何矩阵相乘都等于原矩阵。 特征值和特征向量是矩阵理论的核心内容。给定矩阵A,如果存在非零向量v和标量λ使得Av=λv,那么λ称为A的特征...

    矩阵分析课件

    3. 上三角矩阵/下三角矩阵:主对角线以下(或以上)的元素全为0。 4. 对称矩阵:关于主对角线对称的矩阵,即A = A^T。 5. 正交矩阵:其转置等于其逆,即Q^TQ=QQ^T=I。 四、矩阵的性质 1. 矩阵的秩:矩阵的最大非零...

Global site tag (gtag.js) - Google Analytics