0
我試圖用hist3直觀地顯示一個二維分佈,但是該函數的行爲意外。我認爲它會返回輸入矩陣中每對數字出現次數的二維直方圖(計數),並在輸出矩陣中的某個位置顯示該計數,該位置的索引與該數字對相對應,縮放爲因子10(默認)或其他方形矩陣大小。但是,這不是什麼我的測試實施例顯示:Matlab - hist3沒有返回預期的輸出
例如,如果我定義以下輸入矩陣
1 1
2 2
3 3
4 4
5 5
則命令 V = hist3(M,[5 5]) 具有以下預期輸出:
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
然而此輸入矩陣:
4 1
4 2
4 3
4 4
4 5
輸出爲:
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
比..rather(因爲我本來期望):
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
0 0 0 0 0
任何人都可以幫助清除混亂呢?謝謝!
恐怕還是不要不行在第二個例子中,爲什麼hist3返回那個意外矩陣的原因。您是否說我需要使用邊緣解決方法才能從中獲得我想要的?另外,你的第一個繪圖有一個尺寸爲6x5而不是5x5的2D底座,就像我的例子中的矩陣一樣?!... – z8080
是的,好吧。如果你真的想在第四欄有條,你必須玩邊。但是,如果你沒有指定邊緣的matlab會自動做到這一點。 我認爲在這裏你很困惑,因爲指數和值有相同的範圍。嘗試乘以10的初始矩陣。你會看到'v = hist3(vv,[5 5])'的輸出仍然是相同的,但'hist3(m,[5 5])'的曲線相應地改變到初始值的新範圍矩陣。 – shamalaia
我解釋了我自己嗎? – shamalaia