「java转置矩阵」转置矩阵的转置矩阵
今天给各位分享java转置矩阵的知识,其中也会对转置矩阵的转置矩阵进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用JAVA程序写出一个3*3矩阵的转置
- 2、Java问题,从键盘输入一个M*N的矩阵,并对这个矩阵进行转置操作,就是将aij 与 aji 内容互转(检查问题)
- 3、java行列值的互换?
- 4、如何用java编写一个矩阵的转置?
- 5、java矩阵转置
- 6、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转置矩阵和转置矩阵的转置矩阵的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。