4

我正在学习 Matlab,我看到一行我不明白:

A=[x; y']

这是什么意思?' 通常表示转接,但我不知道是什么;表示在向量中。你能帮助我吗?

4

6 回答 6

12

[ ] 表示创建矩阵。
这 ; 表示第一个向量在第一行,第二个向量在第二行。
' 表示转座子。
例子:

>> 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
于 2012-07-11T07:13:32.527 回答
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];
于 2012-07-11T07:08:03.897 回答
6

需要明确的是,在 MATLAB'中是复共轭转置。如果你想要非共轭转置,你应该使用.'.

于 2012-07-11T09:21:04.187 回答
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。希望这会有所帮助。

于 2012-07-11T07:07:41.933 回答
3

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

于 2012-07-11T07:11:21.980 回答
3

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

例如 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
于 2012-07-11T07:30:38.320 回答