如何實現正確的矩陣相乘

2021-10-10 05:28:04 字數 707 閱讀 4296

#這裡主要是指原資料不方便放在dataframe的情況,如果在dataframe裡面可以直接一列運算。

當希望對畫素點的dn資料進行大量的換算時,我最開始一般都採用了if迴圈。特別是最近在學著處理一些dspm-ols的夜晚燈光圖形,需要通過非衰變區域(0-62)推測衰變區域(63)的畫素塊的資料。

後來發現if迴圈真的特別耗時,雖然保證每次呼叫和填入的新值不會填錯位置,但是效率非常低下。為了避免這種低效率**,我後來發現可以考慮構造矩陣運算。可能對於科班出身的人來說,這是很容易想到的解決辦法。

矩陣運算一般有兩種:

(1) 行數和列數相同的矩陣,可以實現同位置元素的四則運算

import numpy as np

x = np.ones([4

,5])

x y = np.zeros([4

,5])

y x+y

結果如下:

(2)當前乙個矩陣的列數等於後乙個矩陣的行數,可以進行內積,需要使用np.dot()進行!

這裡切記,內積不能夠直接讓矩陣相乘,而應該使用dot進行計算

矩陣相乘的實現 python

import numpy as np def matrix multi m1,m2 首先建立乙個值都是0的矩陣,矩陣形狀是矩陣1的行數和矩陣2的列數組成 results np.zeros m1.shape 0 m2.shape 1 判斷矩陣1的列和矩陣2的行數是否相同,如果不相同,則兩個矩陣無法相乘...

Java實現矩陣相乘

首先我們要知道二維陣列就是類似於我們線性代數中的矩陣,矩陣的乘法運算大概是這樣 滿足條件,第乙個矩陣的列數等於第二個矩陣的行數 由兩個矩陣相乘的矩陣的每乙個元素是由第乙個矩陣每一行元素分別乘上第二個矩陣的列 對應的元素在相加 當矩陣a的列數等於矩陣b的行數時,a與b可以相乘。矩陣c的行數等於矩陣a的...

MPI實現矩陣相乘

配置mpi 配置目錄,即載入include和lib庫 載入依賴項 3.編譯 根據程式設計員的習俗先從乙個helloworld開始 include mpi.h include int main int argc,char ar 4.mpi 矩陣相乘 接下來便開始我們的主題 實際的思想是使用0程序將矩陣...