将行向量更改为列向量

G G*_* Gr 8 matlab vector

如何将此更改为列,目前所有750个条目都在一行中?

p = normal(1:750)-1;
Run Code Online (Sandbox Code Playgroud)

我试过了:

columns = 1;
p = normal(1:750)-1;
p = p(1:columns);
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

rows = 1000;
p = normal(1:750)-1;
p = p(1:rows)';
Run Code Online (Sandbox Code Playgroud)

Eit*_*n T 32

在MATLAB中通常的做法是使用colon运算符:任何内容转换为列向量.如果不知道或关心normal行向量或列向量,您可以强制p成为列向量,如下所示:

p = p(:);
Run Code Online (Sandbox Code Playgroud)

在此之后,p保证是一个列向量.

  • @John是的,确切地说. (2认同)

Dan*_*Dan 5

我想你可以转换:

p = (normal(1:750)-1)'
Run Code Online (Sandbox Code Playgroud)

  • 如果有人使用复数,请注意```(或`ctranspose()`)运算符是复共轭转置.有关此处文档中的更多信息:https://www.mathworks.com/help/matlab/ref/ctranspose.html.如果你想要非共轭转置,请使用`.``(或`transpose()`)代替. (4认同)

Ru8*_*321 5

环境

p = p(:);
Run Code Online (Sandbox Code Playgroud)

确实是最好的方法,因为它会可靠地创建列向量。

谨防使用'运算符做转置。我已经多次看到它戏剧性地失败了。非共轭转置的 matlab 运算符实际上是.'这样的:

p = p.'
Run Code Online (Sandbox Code Playgroud)

如果你想在不采用复共轭的情况下进行转置。