【发布时间】:2015-07-28 12:36:06
【问题描述】:
我有一个0s、1s、2s 和3s 的矩阵。如果同一行中的所有元素都相同,那么我希望它显示文本'flush' .例如,我有矩阵
[0,1,0,2,3;
0,0,0,0,0;
3,2,1,3,1;
2,2,2,2,2];
我将如何编程 Matlab 以识别第 2 行和第 4 行都具有相同的数字?
【问题讨论】:
-
例如row = 2时,使用
all(foo(2,1)==foo(2,:)) -
嗯。这可能看起来很有趣,但我认为您可以使用 Matlab 的内置 Var(方差)函数。如果一行的方差为 0,那么它的所有元素都是 0。代码看起来应该很简单,类似于 out = var(X.')。并找出 out == 0 应该为您提供方差为 0 的行的索引
-
@GameOfThrows 好主意。这可能是一个错字,但如果方差为 0,那么所有元素都是相同的,不一定是 0 :)。
-
另一种方式(基于H.Muster的解决方案)是
sum(abs(diff(A')))==0
标签: matlab