什么是A = [x; y']在Matlab中是什么意思?

时间:2012-07-11 07:03:55

标签: matlab

我正在学习Matlab,我看到一条我不理解的行:

A=[x; y']

这是什么意思? '通常意味着转发但我不知道是什么;在向量中表示。你能救我吗?

6 个答案:

答案 0 :(得分:10)

[]表示创建一个矩阵 的;表示第一个矢量位于第一行,第二个矢量位于第二行 '表示转发。
例如:

>> x = [1,2,3,4]
x = 
    1 2 3 4

>> y = [5;6;7;8]
y =
    5
    6
    7
    8

>> y'
ans =
    5 6 7 8

>> A = [x;y']
A = 
    1 2 3 4
    5 6 7 8

答案 1 :(得分:7)

[x y]表示向量的水平cat,而[x;y]表示垂直。

例如(水平猫):

x = [1
     2
     3];

y = [4 
     5 
     6];

[x y] =  [1 4
          2 5 
          3 6];

(垂直猫):

  x = [1 2 3];
  y = [4 5 6];

 [x; y] = 
      [1 2 3;
       4 5 6];

答案 2 :(得分:6)

为了清楚起见,在MATLAB中'复共轭转置。如果您想要非共轭转置,则应使用.'

答案 3 :(得分:4)

它表示从其他矩阵创建矩阵时的行尾。

例如

X = [1 2];
Y = [3,4]';
A = [X; Y'] 

给出一个矩阵

A = [ 1 2 ]
    [ 3 4 ]

这称为垂直级联,它基本上意味着从其他矩阵逐行形成矩阵(如上例所示)。是的,你对'表示转置​​操作符是正确的。作为另一个例子,您可以使用它来创建转置向量,如下所示

Y = [1 2 3 4 5];
X = [1; 2; 3; 4; 5];
Y = Y';

比较上面你会发现X现在等于Y.希望这会有所帮助。

答案 4 :(得分:3)

设置x m * n(m行和n列)的大小和y n * p的大小。 然后A是由x的垂直连接和y(运算符')的转置形成的矩阵,其大小是(m + p)* n。水平串联用逗号而不是半列完成。 这个表示法是函数vertcat的一个很好的简写。 有关详细信息,请参阅http://www.mathworks.fr/help/techdoc/math/f1-84864.html

答案 5 :(得分:3)

分号'; '用于开始一个新行。

e.g。 x = [1 2 3; 4 5 6; 7 8 9]意味着

    x= 1 2 3 
       4 5 6
       7 8 9

所以,如果你采取x = [1 2 3; 4 5 6]和y = [7 8 9]'

然后z = [x; y']表示

    z= 1 2 3 
       4 5 6
       7 8 9