MATLAB:为什么要转置单维数组

时间:2013-07-17 21:31:07

标签: matlab vbscript transpose

我有以下Matlab代码片段,我不得不翻译成VBScript。但是,我不明白为什么最后一行甚至是必要的。

clear i
for i = 1:numb_days
    doy(i) = floor(dt_daily(i) - datenum(2012,12,31,0,0,0));
end
doy = doy';

查看剩下的代码,这种情况发生在很多其他地方,那里有单维数组(?)被转换到位。对于这两种语言我都是新手,并且在Stack上发布一个问题,因为在找到答案时我是个侦探,就在这种情况下。提前谢谢。

1 个答案:

答案 0 :(得分:1)

MATLAB中的所有“数组”至少有两个维度,可以视为具有任意数量的维度。这里的转置运算符是在行(大小[1 N]数组)和列(大小[N 1]数组)之间进行转换。当涉及连接数组或执行其他操作时,这可能很重要。

从概念上讲,MATLAB数组的维度向量具有执行操作所需的尾随1。这意味着您可以使用任意数量的下标索引任何MATLAB数组,只要不超出界限,就像这样:

x = magic(4); % 4-by-4 square matrix
x(2,3,1,1,1) % pick an element

最后一点说明:'运算符是复共轭转置CTRANSPOSE。 .'运算符是普通的TRANSPOSE运算符。