[問題] 矩陣的邏輯判斷已回收
一個矩陣a(12*8)
0 0 0 0 0 0 0 0
0 1 0 1 0 1 1 1
1 0 0 0 1 1 0 0
0 1 1 1 0 0 1 0
1 1 0 1 0 0 1 1
1 0 1 1 1 0 1 1
1 0 0 0 1 1 1 1
1 0 1 0 1 1 1 1
0 0 1 1 0 1 1 1
0 1 1 1 1 1 0 0
1 0 1 1 1 0 1 0
0 0 0 0 1 1 1 1
b=cell2mat(cellfun(@(x)(sum(sum(x))),mat2cell(a,repmat(12/4,4,1),
repmat(8/4,4,1)),'uni',false))
每3*2格分為一群並將內容"相加"成為一新的4*4矩陣b
將每3*2格分為一群並將儲存格內容"相加"成為一新的4*4矩陣(12/3=4, 8/2=4)
"2" 1 3 2
4 5 1 5
2 3 5 6
2 4 5 3
新矩陣的平均值是3.3
希望將<3的值都變成3
調整的機制是將舊矩陣中對應的資料修改
比如說第一格的"2"對應的是
0 0
0 1
1 0
將其改成
1 0
0 1
1 0
這樣加總值就變成3了,
挑選哪個0不限定,但不能將1改成2
請問有辦法利用matlab做到嗎?
謝謝大家.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.53.222
→
04/18 15:50, , 1F
04/18 15:50, 1F
討論串 (同標題文章)