【发布时间】:2012-07-30 07:14:34
【问题描述】:
我有矩阵 A
A= [0 0 2 2 2 2 0 0 1 1 1 0 3 3;
2 2 2 2 0 0 1 1 1 0 0 3 3 0;
如您所见,其中有连续的数字;例如,请注意第一行和第二行的2 2 2 2。
对于这个矩阵中出现的每个数字(或者至少对于我的矩阵中从 1 到最大数字的每个数字),我想要一个输出矩阵来指示这个数字和这个数字仅在原始矩阵中的序列。
例如,对于1:第一行有三个连续的数字,第二行有三个:我想在第一个输出矩阵中表示如下:
Matrix 1 = [ 0 0 0 0 0 0 0 0 1 2 3 0 0 0;
0 0 0 0 0 0 0 1 2 3 0 0 0 0]
号码2也一样:
Matrix 2 = [ 0 0 1 2 3 4 0 0 0 0 0 0 0 0;
1 2 3 4 0 0 0 0 0 0 0 0 0 0]
和3:
Matrix 3 = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 2;
0 0 0 0 0 0 0 0 0 0 0 1 2 0]
如您所见,每个输出矩阵显示一个数字连续出现的正向计数。
所以在这种情况下,我有 3 个输出矩阵,因为矩阵 A 的最大值为 3。
【问题讨论】:
-
@Gunther Struyf:Struyf 先生,感谢您的补充以明确我的问题。我真的需要帮助来编写这个问题的代码
-
这样的事情会发生什么:[1 1 1 0 0 2 2 2 0 0 1 1 0]?
-
这将是 2 个矩阵:第一个只考虑值“1”,第一个矩阵 = [1 2 3 0 0 0 0 0 0 0 4 5 0] 和第二个矩阵只考虑值“2”。第二个矩阵 = [ 0 0 0 0 0 1 2 3 0 0 0 0 0]。
-
@Febri Dwi Laksono:Dan 的意思是如果数字不连续会发生什么。因为在您的示例矩阵中,只有一个相同数字的连续出现序列。
-
这个怎么样:[1 2 1 2 1] 如果你想得到 [1 0 2 0 3] 和 [0 1 0 2 0] 结果那么下面的答案是完美的。如果不是,那么这个案例的结果应该是什么?