【问题标题】:How to identify value a matrix by considering others matrix如何通过考虑其他矩阵来识别矩阵的值
【发布时间】:2012-07-28 05:51:57
【问题描述】:

我这里有一些矩阵:

A = [ 1 2 3 4 0 0 0;
      0 0 1 2 3 4 0]
B = [ 0 1 2 3 4 0 0;
      0 0 0 1 2 3 4]
C = [ 1 2 3 4 0 0 0;
      0 1 2 3 4 0 0]

我把上面的矩阵称为“初始矩阵”。然后我在这里有“矩阵 D”:

D = [ 1 2 3 4 0 0 0;
      1 2 3 4 0 0 0]

我必须确定矩阵 D 中每一行中有多少值“1”,这与矩阵 A、B、C 中每一行中值“>3”的列不同,矩阵 A、B、C 已重新排列,如下所示示例在这里。

1 2 3 4 0 0 0
0 0 1 2 3 4 0
    0 1 2 3 4 0 0 
    0 0 0 1 2 3 4
        1 2 3 4 0 0 0
        0 1 2 3 4 0 0 

            1 2 3 4 0 0 0
            1 2 3 4 0 0 0

我希望我的答案是 0,因为矩阵 D 中第一行和第二行的值 1 是同一列,同一列中的某个值具有值 1,其值 > 3 (4)。

像那些人一样回答问题的代码是什么?请帮助我,谢谢。

【问题讨论】:

  • @EitanT:先生,您是什么意思?
  • @EitanT:我已经接受了我最后一个问题的答案,先生,请帮我解决这个问题。
  • @EitanT :哦,我忘了接受您的回答,非常感谢您之前的回答。 :)
  • 谢谢。关于您当前的问题,您能否再举几个答案非零的例子?

标签: matlab matrix


【解决方案1】:

让我从一个简单的解决方案开始。请确认这是否是预期行为:

首先,我们按照您展示的方式排列矩阵 A、B、C、D:

A = [ 1 2 3 4 0 0 0;
      0 0 1 2 3 4 0];
B = [ 0 1 2 3 4 0 0;
      0 0 0 1 2 3 4];
C = [ 1 2 3 4 0 0 0;
      0 1 2 3 4 0 0];
D = [ 1 2 3 4 0 0 0;
      1 2 3 4 0 0 0];

X = zeros(8,13);
X(1:2,1:7) = A;
X(3:4,3:9) = B;
X(5:6,5:11) = C;
X(7:8,7:13) = D;

这给了我们:

X =
     1     2     3     4     0     0     0     0     0     0     0     0     0
     0     0     1     2     3     4     0     0     0     0     0     0     0
     0     0     0     1     2     3     4     0     0     0     0     0     0
     0     0     0     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     1     2     3     4     0     0     0     0
     0     0     0     0     0     0     1     2     3     4     0     0     0
     0     0     0     0     0     0     1     2     3     4     0     0     0

现在我们可以重复使用您 previous question 的答案来进行计数:

numPerRow = sum(X(7:8,all(X(1:6,:)<4))==1,2)
num = sum(numPerRow)

矩阵D 的两行都为零,因此总和也为零:

numPerRow =
     0
     0

num =
     0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    相关资源
    最近更新 更多