「java转置矩阵」转置矩阵的转置矩阵

博主:adminadmin 2023-01-27 21:48:11 353

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

本文目录一览:

用JAVA程序写出一个3*3矩阵的转置

/**

* @author 熙熙

* @2011-4-20

*/

public class JuZhenZhuanZhi {

/**

* @param args

*/

public static void main(String[] args) {

int a[][]={

{11,12,13}

,{21,22,23}

,{31,32,33}

};

System.out.println("转置前的矩阵:");

print(a);

zhuanZhi(a);

System.out.println("转置后的矩阵:");

print(a);

}

public static void zhuanZhi(int a[][]){

for(int i=0;ia.length;i++){

for(int j=i+1;ja[i].length;j++){

int tem = a[i][j];

a[i][j] = a[j][i];

a[j][i] = tem;

}

}

}

public static void print(int a[][]){

for(int i=0;ia.length;i++){

int j=0;

for(;ja[i].length-1;j++){

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

}

System.out.println(a[i][j]);

}

}

}

Java问题,从键盘输入一个M*N的矩阵,并对这个矩阵进行转置操作,就是将aij 与 aji 内容互转(检查问题)

修改后的Java程序:

package com.homework.fourdays;

import java.util.Scanner;

public class page81_question02 {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int m, n;

int i, j;

System.out.println("请输入矩阵M*N中的M值");

m = in.nextInt();

System.out.println("请输入矩阵M*N中的N值");

n = in.nextInt();

int[][] a = new int[m][n]; //存储转置前的矩阵

int[][] b = new int[n][m]; //存储转置后的矩阵

System.out.println("请输入" + m + " * " + n + "矩阵中的所有元素");

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

for (j = 0; j  n; j++) {

a[i][j] = in.nextInt();

}

}

//矩阵转置

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

for (j = 0; j  n; j++) {

b[j][i] = a[i][j];

}

}

System.out.println("转置前");

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

for (j = 0; j  n; j++) {

System.out.printf("%6d", a[i][j]);

}

System.out.println();

}

System.out.println("转置后");

for (i = 0; i  n; i++) {

for (j = 0; j  m; j++) {

System.out.printf("%6d", b[i][j]);

}

System.out.println();

}

}

}

运行测试:

请输入矩阵M*N中的M值

2

请输入矩阵M*N中的N值

3

请输入2 * 3矩阵中的所有元素

1 2 3

4 5 6

转置前

     1     2     3

     4     5     6

转置后

     1     4

     2     5

     3     6

java行列值的互换?

二维数组的行列值互换,又叫矩阵的转置,数组a转置后应该是1,4;2,5;3,6;

完整的矩阵转置的Java程序如下

按照你的要求输出1,2;4,5;3,6;的程序

如何用java编写一个矩阵的转置?

int a[][] = {{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4}};

        int b[][] = new int [4][7];

        for (int i = 0; i 4; i++) {

            for (int j = 0; j 7; j++) {

                b[i][j] = a[j][i];

            }

        }

        System.out.println("矩阵a:");

        for (int i = 0; i 7; i++) {

            for (int j = 0; j 4; j++) {

                if (j 3) {

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

                } else {

                    System.out.println(a[i][j] + " ");

                }

            }

        }

        System.out.println("矩阵a转置:");

        for (int i = 0; i 4; i++) {

            for (int j = 0; j 7; j++) {

                if (j 6) {

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

                } else {

                    System.out.println(b[i][j] + " ");

                }

            }

        }

代码写得烂不要喷我,我想解决思路就是这样吧!

java矩阵转置

你的转置意思是 行列交换?

public static Object[][] turnA(Object[][] a){

Object[][] b=new Object[a[0].length][a.length];

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

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

b[j][i]=a[i][j];

return b;

}

这个方法转置的是对象矩阵,因此不能传入基本变量的数组,需要用类型包装器包装。

e.g:

Integer[][] i=new Integer[3][5];

//int[][] i=new int[4][3];

//Can't use here; Integer,Double,String,byte and so on..

Random r=new Random();

for(int j=0;ji.length;j++){

Arrays.fill(i[j], r.nextInt(100));

System.out.println(Arrays.toString(i[j]));

}

Object[][] o=turnA(i);

for(int j=0;jo.length;j++){

System.out.println(Arrays.toString(o[j]));

这是static void main里的一段验证程序,程序最前面需要

import java.util.*;

Java输出转置矩阵

我按照你的情况写了个,能运行。希望对你有帮助!

Scanner scan = new Scanner(System.in);

int [][] arry;

int m,n;

m = scan.nextInt();

n = scan.nextInt();

arry = new int [m][n];

for(int i=0;iarry.length;i++){

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

System.out.print("* ");

}

System.out.println();

}

scan.close();

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