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