我有以下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上发布一个问题,因为在找到答案时我是个侦探,就在这种情况下。提前谢谢。
答案 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运算符。