真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

矩陣的運算java代碼,矩陣運算 java

java矩陣乘法

import java.util.Arrays;

在古交等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè),古交網(wǎng)站建設(shè)費用合理。

public class Test {

static int[][] matrix1;

static int[][] matrix2;

public static void main(String[] args) {

matrix1=new int[][]{{1,2,3,4},{2,3,4,5},{3,4,5,6},{4,5,6,7},{5,6,7,8},{6,7,8,9}};

matrix2=new int[][]{{9,8,7,6,5,4},{8,7,6,5,4,3},{7,6,5,4,3,2},{6,5,4,3,2,1}};

if(matrix1.length!=matrix2[0].length){//若無法相乘則退出

System.out.println("ivalid input");

System.exit(0);

}

int[][] r = new int[matrix1[0].length][matrix2.length];

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

for(int j=0;jr[i].length;++j){//每一個r[i][j]的運算:

r[i][j]=0;//初始化

for(int k=0;kmatrix2.length;++k)

r[i][j]+=matrix1[i][k]*matrix2[k][j];

}

}

//輸出結(jié)果

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

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

}

}

Java編寫一個程序?qū)崿F(xiàn)矩陣的運算加減乘除,(并對其中的異常進(jìn)行處理)

/**

*?矩陣:由?m?×?n?個數(shù)Aij排成的m行n列的數(shù)表稱為m行n列的矩陣,簡稱m?×?n矩陣

*?說白了就是一個二維數(shù)組,下面的程序用整形作為數(shù)據(jù)類型,其他類型運算大同小異

*?

*/

public?class?MatrixUtils?{

/**

*?矩陣運算:加(減法與之類似)

*/

public?static?int[][]?matrixAdd(int[][]?addend,?int[][]?summand)?{

if?(addend?==?null?||?addend.length?==?0)?{

throw?new?IllegalArgumentException("addend?matrix?is?empty!");

}

if?(summand?==?null?||?summand.length?==?0)?{

throw?new?IllegalArgumentException("summand?matrix?is?empty!");

}

//矩陣加減要求兩個矩陣類型一致,即行列數(shù)相同

int?row?=?addend.length;

int?col?=?addend[0].length;

if?(row?!=?summand.length?||?col?!=?summand[0].length)?{

throw?new?IllegalArgumentException("summand?and?summand?not?the?same?type!");

}

int[][]?sum?=?new?int[row][col];

for?(int?i?=?0;?i??row;?i++)?{

for?(int?j?=?0;?j??col;?j++)?{

sum[i][j]?=?addend[i][j]?+?summand[i][j];

//?sum[i][j]?=?addend[i][j]?-?summand[i][j];?//減法

}

}

return?sum;

}

/**

*?矩陣運算:乘法,沒找到除法的運算規(guī)則

*/

public?static?int[][]?matrixMultiply(int[][]?addend,?int[][]?summand)?{

if?(addend?==?null?||?addend.length?==?0)?{

throw?new?IllegalArgumentException("addend?matrix?is?empty!");

}

if?(summand?==?null?||?summand.length?==?0)?{

throw?new?IllegalArgumentException("summand?matrix?is?empty!");

}

//兩個矩陣的乘法僅當(dāng)?shù)谝粋€矩陣A的列數(shù)和另一個矩陣B的行數(shù)相等時才能定義。如A是m×n矩陣和B是n×p矩陣,它們的乘積C是一個m×p矩陣?

int?row?=?addend.length;

int?col?=?summand[0].length;

if?(addend[0].length?!=?summand.length)?{

throw?new?IllegalArgumentException("summand?and?summand?not?the?same?type!");

}?

int[][]?sum?=?new?int[row][col];

for?(int?i?=?0;?i??row;?i++)?{

for?(int?j?=?0;?j??col;?j++)?{

for?(int?z?=?0;?z??addend[0].length;?z++)?{

sum[i][j]?+=?addend[i][z]?*?summand[z][j];

System.out.println("sum["?+?i+??"]["+?j+"]=?"?+?sum[i][j]);

}

}

}

return?sum;

}

}

用java怎么寫矩陣乘法?

import?java.util.Scanner;?

public class Matrix {?

public double[][] create() {?

Scanner sc = new Scanner(System.in) ;?

System.out.print("請輸入矩陣的行高:");?

int a = sc.nextInt() ;?

System.out.print("請輸入矩陣的列寬:");?

int b = sc.nextInt() ;?

double[][] x = new double[a][b] ;?

for(int i=0;ilt;a;i++){?

for(int j=0;jlt;b;j++){?

System.out.print("請輸入元素x["+i+"]["+j+"]的值:" );?

x[i][j] = sc.nextDouble() ;?

}?

}?

return x ;?

}?

public double[][] multiply(double[][] x,double[][] y){?

double[][] result = null ;?

int a = x[0].length ;?

int b = y.length ;?

if(a != b){?

System.out.println("輸入的維數(shù)不匹配,不能進(jìn)行運算");?

}else{?

int c = x.length ;?

int d = y[0].length ;?

result = new double[c][d] ;?

for(int i=0;ilt;c;i++){?

for(int j=0;jlt;d;j++){?

double sum = 0 ;?

for(int k=0;klt;a;k++){?

sum += x[i][k]*y[k][j] ;?

}?

result[i][j] = sum ;?

}?

}?

}?

return result ;?

}?

public void print(double[][] x){?

System.out.println("矩陣為:");?

for(int i=0;ilt;x.length;i++){?

for(int j=0;jlt;x[i].length;j++){?

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

}?

System.out.println();?

}?

}?

}?

測試類:?

public class TestMatrix {?

public static void main(String[] args) {?

Matrix m = new Matrix() ;?

//double[][] x = {{1,2},{3,2}} ;?

//double[][] y = {{1,2,1},{2,3,3}} ;?

System.out.println("創(chuàng)建第一個數(shù)組:") ;?

double[][] x = m.create() ;?

m.print(x) ; //用來驗證輸入的是否和你一樣的,沒啥作用?

System.out.println("創(chuàng)建第二個數(shù)組:");?

double[][] y = m.create() ;?

m.print(y) ; //用來驗證輸入的是否和你一樣的,沒啥作用?

double[][] result = m.multiply(x, y) ;?

if(result == null){?

return ; //如果輸入的矩陣不能運算就不輸出結(jié)果了。?

}?

m.print(result) ;?

}?

}

Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 Java具有簡單性、面向?qū)ο?、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。


網(wǎng)站名稱:矩陣的運算java代碼,矩陣運算 java
文章來源:http://weahome.cn/article/hdgoec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部