① 用java編寫程序用一個二維數組a[ ][ ]存放3*3矩陣,求它的轉置矩陣b[ ][ ]。
public class T {
public static void main(String[] args) {
int i,j;
int[][] a = {{1,1,1},{2,2,2},{3,3,3}};
int[][] b = new int[3][3];
System.out.print("初始矩陣:\n");
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
System.out.print(a[i][j]+" ");
}
System.out.print("\n");
}
System.out.print("轉置矩陣:\n");
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
b[i][j] = a[j][i];
System.out.print(b[i][j]+" ");
}
System.out.print("\n");
}
}
}
② java行列值的互換
二維數組的行列值互換,又叫矩陣的轉置,數組a轉置後應該是1,4;2,5;3,6;
完整的矩陣轉置的Java程序如下
③ 如何用java編寫一個矩陣的轉置
(別說格式有問題代碼就是這樣的)編寫矩陣顯示方法,用於顯示我們的矩陣數據;
private static void printArray(int[][] arr){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
填寫一個要求解轉置的矩陣方法;
編寫行變列列變行的代碼,即實現我們的矩陣值裝置求解方法;
public static void main(String[] args) {
int arr[][] =new int[][]{{1,2,3},{4,5,6},{7,8,9}};
System.out.println("行列互換前");
printArray(arr);
int arr2[][]=new int[arr.length][arr.length];
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
arr2[i][j]=arr[j][i];
}
}
System.out.println("行列互換後:");
printArray(arr2);
④ 用java聲明Matrix類表示矩陣,使用二維數組存儲矩陣元素,實現以下方法:
我簡單的敘述下抄,matrix就一個二維數組,矩陣的轉置就是對角上的折疊,說白了就是兩個值的互換]。求和就非常簡單了,必須是行和列都相同的才行,把對應位置的值加起來就ok。轉置的具體方式可參考線性代數里的介紹
⑤ java矩陣轉置
你的轉置意思是 行列交換?
public static Object[][] turnA(Object[][] a){
Object[][] b=new Object[a[0].length][a.length];
for(int i=0;i<a.length; i++)
for(int j=0;j<a[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;j<i.length;j++){
Arrays.fill(i[j], r.nextInt(100));
System.out.println(Arrays.toString(i[j]));
}
Object[][] o=turnA(i);
for(int j=0;j<o.length;j++){
System.out.println(Arrays.toString(o[j]));
這是static void main里的一段驗證程序,程序最前面需要
import java.util.*;