gpt4 book ai didi

matlab - 如何突出显示或识别矩阵中具有特定值的列?

转载 作者:行者123 更新时间:2023-12-02 06:15:50 25 4
gpt4 key购买 nike

我想在 MATLAB 中突出显示或标识矩阵中具有特定值的列。假设我有一个矩阵 A = [1 0 1 1 0 1; 1 1 0 0 0 1; 1 0 1 1 0 1; 0 1 1 0 0 1]

上述矩阵的结果是第 5 列,因为它包含所有零。我还想知道是否可以突出显示结果列以供识别。请帮我。我有一个非常大的矩阵来应用这个原则。

最佳答案

如何组合 findall 以获得全零列 like this 的列索引?

A = [1 0 1 1 0 1; 1 1 0 0 0 1; 1 0 1 1 0 1; 0 1 1 0 0 1];

ind = find(all(A==0,1))
ind =
5

all 的第二个输入参数是指定它沿着第一个维度,即行。在这里它并不是真正必要的,但我发现这是一个很好的做法,因为你总是确定它是正确的尺寸。如果在某些情况下您可能获得 1xn 向量而不是 mxn,这一点尤其重要。

创建一个彩色矩阵:

这是一个 hack,我不一定推荐它,但如果你真的想在 MATLAB 中这样做,这是一个替代方案。此外,我认为您在执行此操作时可能会学到很多关于 MATLAB 的知识,因此花时间可能是值得的。

您可以使用 imagesc 创建一个包含所有值 1 的彩色图,但第 5 列中的值将是 0(或相反,无所谓) .这将给出一个只有两种颜色的图,一种用于 1 的值,一种用于 0 的值。您可以使用 colormap 选择您想要的颜色。然后你 create a mesh 确定你想要显示的所有值的位置,使用 num2str 将矩阵转换为字符串,并将它们全部组合起来。您需要尝试一些以获得正确的位置,因为您可能希望行之间的填充比列之间的填充少。您可以使用 this answer 作为指南。最后, remove the axes 。如果您阅读并尝试理解所引用答案的每一行,适应起来应该相当简单。

简单的方法:

我有一个非常大的矩阵...”。这样的矩阵通常不是包含在报告中的好主意。但是,如果你真的想要,我实际上建议你从 variable explorer 复制并粘贴到 MS Excel 中(如果不止一次这样做,则使用 xlswrite)。由于您知道要为哪一列着色,因此单击“颜色按钮”应该相当简单。

关于matlab - 如何突出显示或识别矩阵中具有特定值的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32733511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com