我有一个 m -by- n 矩阵,其中 n 很大。我想通过使用每列中的值范围来可视化它,即我想在一个图像中可视化整个矩阵,但每列将具有其自己的范围。这就像应用列式图像c并最终连接每一列。
有一种有效的方法吗?
答案 0 :(得分:2)
我认为在使用imagesc之前,列式规范化应该可以解决问题。
假设您有一个名为original
的图像。
original = rand(10,5);
首先获取每列的范围:
myMax = max(original);
myMin = min(original);
myDiff = myMax-myMin;
然后我们将其降低到适当的水平
newimage = bsxfun(@minus,original,myMin);
最后,我们将其重新调整到适当的比例:
newimage = bsxfun(@rdivide,newimage ,myMax - myMin);
现在您可以将imagesc应用到newimage
,我认为这样可以满足您的需求。
请注意,如果最大值和最小值可以相等,则可能需要添加另一个步骤。