我有一个m × n矩阵,其中n很大。我想通过使用每列中的值范围来可视化它,即我想在一个图像中可视化整个矩阵,但每一列都有自己的范围。这就像应用 columnwise imagesc 并在最后连接每一列。
有没有一种有效的方法来做到这一点?
我有一个m × n矩阵,其中n很大。我想通过使用每列中的值范围来可视化它,即我想在一个图像中可视化整个矩阵,但每一列都有自己的范围。这就像应用 columnwise imagesc 并在最后连接每一列。
有没有一种有效的方法来做到这一点?
我认为在使用 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
,我认为这将为您提供所需的东西。
请注意,如果最大值和最小值可以彼此相等,您可能需要添加另一个步骤。