使用matlab和Time Series对象(fints),我如何制作它们的数组?

时间:2010-05-23 20:58:52

标签: matlab

我从雅虎获得股票价格,并希望每个股票都有自己的时间序列数据结构,但也不想拥有数百个变量,所以我自然希望有一个数组,但是当我做类似array = [stock1 stock2];它实际上将这个系列合并在一起。我怎样才能制作一个真正的阵列? 谢谢, CP

3 个答案:

答案 0 :(得分:2)

matlab中的

[x x]符号不是数组,它是一个向量。假设你放在一起的东西属于一起。你可能想要的是一个用大括号索引的单元格数组,即myArray{1} = stock1; myArray{2} = stock2;。参考here

答案 1 :(得分:0)

啊,因为你有行向量,[stock1 stock2]是一个串联。如果你想要创建一个2 x字节的数组,可以执行类似[stock1; stock2]的操作,将一个数组放在另一个数组之上。

答案 2 :(得分:0)

使用[x y]连接向量具有不同的结果,具体取决于您的向量是行还是列。如果行,然后用[x y]连接它们会产生更长的行向量,但如果是列,则会获得Nx2矩阵。您应该使用TRANSPOSE运算符将它们转换为列向量:[x' y']。虽然你应该检查转置对时间序列对象的影响是否与常规向量相同。