[問題] 將矩陣的數值相加除以非零的個數已回收

看板MATLAB作者 (蛤)時間15年前 (2009/03/31 03:12), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串1/1
舉例: 2 0 0 0 0 1 A矩陣 1 0 0 B矩陣 0 0 1 1 0 0 1 0 2 要把兩個矩陣相加再除以非零的個數 例如: A(1,1)=2,B(1,1)=0 所以相加變2,但只能除以1(只有一個非零) A(3,1)=1,B(3,1)=1 相加變2,但是要除以2(兩個都非零) 如果改為多個大型矩陣(如12個300*300的矩陣),請問該怎麼做到呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.185.89 ※ 編輯: johnny1713 來自: 118.161.185.89 (03/31 03:30)

03/31 03:31, , 1F
那 A(3,2)=0,B(3,2)=0 => 0/0 ? 怪怪
03/31 03:31, 1F

03/31 03:34, , 2F
可以吧? 變NaN
03/31 03:34, 2F

03/31 03:37, , 3F
那你必須把0/0給定義好吧,誰知道你0/0怎麼定義
03/31 03:37, 3F

03/31 03:58, , 4F
(a~=0) + (b~=0) 這樣可以找出非0的個數..但是如果要除
03/31 03:58, 4F

03/31 03:59, , 5F
應該跟1F說的一樣要定義0/0吧..不然就是把0插1..讓他除
03/31 03:59, 5F

03/31 03:59, , 6F
出來不會NaN吧
03/31 03:59, 6F

03/31 04:13, , 7F
不懂耶 要怎麼定義0/0?
03/31 04:13, 7F

03/31 04:37, , 8F
爬文找到了 寫出來了 謝謝兩位大大!!!!
03/31 04:37, 8F
文章代碼(AID): #19qHcupw (MATLAB)