Используя matlab и объект Временного ряда (маневры), как я могу сделать массив из них?

Я получаю курсы акций от Yahoo и хочу иметь каждый запас, имеют его собственную структуру данных временного ряда, но также и не хотят иметь сотни переменных, так естественно я хотел бы иметь массив, но когда я делаю что-то как массив = [stock1 stock2]; это на самом деле объединяет ряд вместе. Как я могу сделать действительный массив? Спасибо, CP

1
задан CptanPanic 23 May 2010 в 20:58
поделиться

3 ответа

[xx] обозначение в Matlab - это не массив, это вектор. Предполагается, что то, что вы собираете, принадлежит друг другу. Вероятно, вам нужен массив ячеек, который индексируется фигурной скобкой, то есть myArray {1} = stock1; myArray {2} = stock2; . Ссылка здесь .

2
ответ дан 3 September 2019 в 00:21
поделиться

Объединение векторов с использованием [x y] дает разные результаты в зависимости от того, являются ли ваши векторы строками или столбцами. Если строки, то объединение их с помощью [x y] дает более длинный вектор-строку, но если столбцы, вы получите матрицу Nx2. Вероятно, вам следует преобразовать их в векторы-столбцы, используя оператор TRANSPOSE , таким образом: [x 'y'] . Хотя вы должны проверить, означает ли транспонирование то же самое с объектами временных рядов, что и с обычными векторами.

0
ответ дан 3 September 2019 в 00:21
поделиться

А, поскольку у вас есть векторы-строки, [stock1 stock2] является конкатенацией. Если вместо этого вы хотите создать массив размером 2 x x, сделайте что-нибудь вроде этого [stock1; stock2] , что позволит разместить один массив над другим.

0
ответ дан 3 September 2019 в 00:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: