本來以為python的矩陣用list表示出來應該很簡單可以搞。。其實發現有大學問。
這裡貼出我寫的特別不pythonic的矩陣加法,作為反例。
def add(a, b):
rows = len(a[0])
cols = len(a)
c =
for i in range(rows):
temp =
for j in range(cols):
temp.append(a[i][j] + b[i][j])
c.append(temp)
return c
然後搜尋了一下資料,果斷有個很棒的,不過不知道有沒有更棒的。
矩陣加法
def madd(m1, m2):
if isinstance(m1, (tuple, list)) and isinstance(m2, (tuple, list)):
return [[m+n for m,n in 程式設計客棧zip(i,j)] for i, j in zip(m1,m2)]
矩陣乘法
def multi(m1, m2):
if isinstance(m1, (float, int)) and isinstance(m2, (tuple, list)):
return [[m1*i for i in j] for j in m2]
if isinstance(m1, (tuple, list)) and isinstance(m2, (tuple, list)):
return [[sum(map(lambda x: x[0]*x[1], zip(i,j)))
for j in zip(*m2)] txtfwjfor i in m1]
矩陣的加法和乘法
編寫乙個矩陣的加法函式 乙個矩陣的乘法函式,然後呼叫函式計算矩陣的和與積,並輸出。為了使函式更加通用,本次課程設計使用一維陣列來存放矩陣。問題的關鍵是如何將一維陣列與二維矩陣的元素之間建立對應關係。問題拓展 1 增加求矩陣的轉置 求矩陣的秩 求正方陣的行列式,求矩陣的鞍點元素的位置與值。2 將矩陣進...
矩陣乘法 矩陣乘法的基本實現
求解關於兩個矩陣的乘積 參考線性代數裡面的兩個矩陣相乘的規則,我這裡不再贅述,詳情附上了乙個鏈結,我的程式設計也是用了裡面的例子 這裡寫鏈結內容 具體的過程我會在 片裡面加上注釋 矩陣乘法 author seen 2015 09 18 include using namespace std int ...
大數加法和大數乘法的實現
問乙個facebook大數相乘的題 兩個大數相乘 char multiply char char 比如 char str1 23456789009877666555544444 char str2 346587436598437594375943875943875 最後求出他們的乘積 就是實現乘法的...