日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java兩個矩陣相乘_Day12 練習java-矩陣乘法

發布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java兩個矩陣相乘_Day12 練習java-矩陣乘法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨天已經挑戰完矩陣的加和減了,今天來挑戰稍難一點的矩陣乘法,再開始之前先來簡單介紹矩陣的乘法吧~~

對於矩陣來說跟一般數字的四則運算有著很大的差異,就是加或減與乘跟除的不同,矩陣的乘除比較複雜,除法是要乘上反方陣,這個內容還蠻難的,我們先來討論乘法,但是要小心兩個矩陣相乘並不是隨便大小都能夠相乘而是要滿足

MXN X NXM = MXM (M:代表列的數目 N:代表行的數目) 這個規則,因為矩陣是有兩個維度並不能只用一個維度來判斷是否能相乘。乘法簡單來說就是第一個矩陣的列乘上第二個矩陣的行,依照這個規則我寫出以下的程式

這是我一開始寫的感覺想法應該是對的但怎麼答案怪怪的

基本上看到第一個元素就感覺有問題了,因此為了想清楚這題我把所有元素列出來了

基本上就是一個元素一個個乘再加起來,至於a[0][0],a[0][1],a[1][0].....都是代表在二維陣列當中的位置

索引值都是從0開始,前面的數字代表列後面代表行,以a[0][1]為例,代表的是第一列第二行;a[1][0]代表的是第二列第一行依此類推。

從上面的圖片能知道一件事,二個迴圈不夠,為什麼呢?

因為兩個迴圈頂多只能從二個二維陣列當中找出值來做相乘,但是矩陣乘法是要將相乘完的結果再做相加,因此需要用到第三個迴圈

看起來很複雜對吧,很少會用到三層迴圈,因此我們必須來好好談談這三個迴圈分別代表什麼

第一層代表的是找a的列;第二層代表的是找b的行;第三層代表的是需要加幾次

從我手寫的那張可以發現需要加3次,而3又是從而來的呢?不就是a的行或是b的列數嗎發現了嗎,兩個數目必須相同否則無法做矩陣相乘,因為要滿足MXN X NXM = MXM 這個規則

因此迴圈裡的內容就簡單啦 a[i][k]*b[k][j]是不是就能寫出來了呢,最後只要把它們加起來存入result[i][j]484就搞定了!!!!

總結

以上是生活随笔為你收集整理的java兩個矩陣相乘_Day12 練習java-矩陣乘法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。