Re: [問題] 多變量函數值轉成矩陣

看板Python作者 (謬客)時間6年前 (2018/10/05 16:26), 編輯推噓3(306)
留言9則, 4人參與, 6年前最新討論串2/2 (看更多)
※ 引述《sssh (叫我松高魂 ~~)》之銘言: : 想請問一下,這幾天碰到一個問題, : 有兩個相同大小(3*30)的矩陣B,C : 我想要弄出一個新的矩陣D : 新矩陣裡面的元素是給定兩矩陣中相對應位置元素取大值 : 於是我寫了以下 : for i in range(2): : for j in range(29): : def D(i,j): : if (B[i][j]<C[i][j]): : return C[i][j] : else: : return B[i][j] : 但是問題來了........怎麼把D(i,j)變成D[i][j]啊@@ : 怎麼寫都出現語法錯誤XDDDDDD : 小弟在此先感謝各位大德XD 你的寫法 import numpy as np B = np.random.random([3,30]) C = np.random.random([3,30]) D = np.zeros([3,30]) for i in range(3): for j in range(30): if (B[i][j]<C[i][j]): D[i][j]=C[i][j] else: D[i][j]=B[i][j] 另外一種 import numpy as np B = np.random.random([3,30]) C = np.random.random([3,30]) B[B < C]=0 C[B != 0] =0 D = B+C -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.65.79 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1538728018.A.20A.html

10/05 17:01, 6年前 , 1F
!!原來重新定義一個D矩陣再代換數字!!我倒沒想到這個
10/05 17:01, 1F

10/05 17:01, 6年前 , 2F
感謝感謝!
10/05 17:01, 2F

10/05 17:06, 6年前 , 3F
第二種可能會有一點小bug哦,假設B某個位子的值是0,C
10/05 17:06, 3F

10/05 17:06, 6年前 , 4F
是-5,這樣結果會是-5,但應該要是0才對
10/05 17:06, 4F

10/05 17:12, 6年前 , 5F
改成c[c<=b]=0應該就沒問題了
10/05 17:12, 5F

10/05 17:49, 6年前 , 6F
都用numpy了搞成這樣是在想什麼... np.maximum(B,C)
10/05 17:49, 6F

10/05 23:09, 6年前 , 7F
哈哈哈哈哈 啊老蘇沒教啊XD 我就只能用我手上有的工具XDDD
10/05 23:09, 7F

10/07 17:36, 6年前 , 8F
哈 numpy 有很多被包起來好用的語法 但沒看過就是拿不出
10/07 17:36, 8F

10/07 17:36, 6年前 , 9F
來用
10/07 17:36, 9F
文章代碼(AID): #1Rjo1I8A (Python)
討論串 (同標題文章)
文章代碼(AID): #1Rjo1I8A (Python)