Я получаю курсы акций от Yahoo и хочу иметь каждый запас, имеют его собственную структуру данных временного ряда, но также и не хотят иметь сотни переменных, так естественно я хотел бы иметь массив, но когда я делаю что-то как массив = [stock1 stock2]; это на самом деле объединяет ряд вместе. Как я могу сделать действительный массив? Спасибо, CP
[xx]
обозначение в Matlab - это не массив, это вектор. Предполагается, что то, что вы собираете, принадлежит друг другу. Вероятно, вам нужен массив ячеек, который индексируется фигурной скобкой, то есть myArray {1} = stock1; myArray {2} = stock2;
. Ссылка здесь .
Объединение векторов с использованием [x y]
дает разные результаты в зависимости от того, являются ли ваши векторы строками или столбцами. Если строки, то объединение их с помощью [x y]
дает более длинный вектор-строку, но если столбцы, вы получите матрицу Nx2. Вероятно, вам следует преобразовать их в векторы-столбцы, используя оператор TRANSPOSE , таким образом: [x 'y']
. Хотя вы должны проверить, означает ли транспонирование то же самое с объектами временных рядов, что и с обычными векторами.
А, поскольку у вас есть векторы-строки, [stock1 stock2]
является конкатенацией. Если вместо этого вы хотите создать массив размером 2 x x, сделайте что-нибудь вроде этого [stock1; stock2]
, что позволит разместить один массив над другим.