如何在matlab中调用矩阵中的向量索引?

时间:2017-08-27 04:29:57

标签: matlab

我有:n-by-3矩阵A和n-by-1矩阵B:

  A=[ x1 y1 z1           
      x2 y2 z2
      x3 y3 z3
      x4 y4 z4
      .......
      xn yn zn ]

B=[ 3           
    2
    7
    1
    ...
    n ]

BA的索引(标签)矩阵。

我想将矢量A指定给矢量B

前:

(x1 y1 z1) assign to 1
(x3 y3 z3) assign to 3
......................

(xn yn zn)分配给n

我可以使用"标记"而不是使用矩阵A。矩阵B。 然后

  • 当我在矩阵3中调用B时,它会显示矩阵A中的值(x3 y3 z3)。
  • 当我在矩阵7中调用B时,它会显示矩阵A中的值(x7 y7 z7)。
  • 当我在矩阵[3,7]中调用B时,它会显示值矩阵

      `C=[ x3 y3 z3
           x7 y7 z7 ]`
    
来自矩阵A

  • 当我在矩阵n中调用B时,它会显示矩阵A中的值(xn yn zn)。
  • 反之亦然(我从(x3 y3 z3)致电A,它会在3中显示B .....)

如何编写代码以从矩阵A调用矩阵B,反之亦然? (数字3,2,7,1,....n:矩阵B中的数字是任意数字)

详细示例: 我有:6乘3矩阵A

  A=[ 15 2 -1        ---> labelling "1"   
      51 6 -3        ---> labelling "2"
      89 9  1        ---> labelling "3"
      0  4  5        ---> labelling "4"
      0  0  9        ---> labelling "5"
      10 4 -5 ]      ---> labelling "6"

................................. ......我会做一些算法....... ..................................

.................................. 并且,我得到了#34;标记矩阵B"输出结果........

  B=[ 6           
      1 
      5 ]

我想从B - >

中取回矩阵A中的值
  C=[ 10 4 -5           
      15 2 -1
      0  0 9 ]

如何编写代码来显示A,B,C之间的关系? (或如何从A& B调用矩阵C)

2 个答案:

答案 0 :(得分:1)

a = [1,2,3;
    4,5,6;
    7,8,9]
a(1,:)
a(2,:)
a(3,:)
  

a =

 1     2     3
 4     5     6
 7     8     9
     

ans =

 1     2     3
     

ans =

 4     5     6
     

ans =

 7     8     9

答案 1 :(得分:1)

您的indexing可以通过以下方式完成:

C = A(B, :);

换句话说,B仅用作A的行索引来选择行,并且:选择这些行的所有列。