2017-02-07 7 views
0

У меня есть матрица данных (XW_region) размером 3x4x81x97. Иначе говоря, XW_region индексируется как (день, время, lat, lon), поэтому в течение 3 дней имеется 4 решетки lat/lon (т. Е. Карты, заполненные значениями XW_region) в день, что приводит к сумме 12 lat/lon grid.Как превратить матрицу 3x4x81x97 в (длинный) вектор столбца в Matlab

например. size (XW_region) = 3 4 81 97

Я хочу сделать каждое значение XW_region из каждой ячейки сетки каждый раз с каждого дня и помещать их в один (длинный) вектор-столбец. Оттуда я хочу создать коробку данных. Я знаю, как делать boxplot, просто нужно собрать все данные в один вектор столбца.

Должен ли я использовать функцию сжатия, чтобы вырывать каждую карту по дням и времени?

Спасибо!

+2

'reshape (XW_region, [], 1)' должен выполнять эту работу. –

+1

'XW_region (:)'? – bla

+0

reshape (XW_region, [], 1) отлично работает! –

ответ

3

Я уверен, что это дубликат где-то, но это, вероятно, что вы хотите:

XW_region(:) 

видеть больше об операторе столбца here.

2

Как @ ло совершенно правильный ответ, иногда полезно использовать reshape вместо:

reshape(XW_region, [], 1); 

(Эта модель полезна в тех случаях, когда вещь, которую вы хотите включить в столбец уже является выражение, включающим индексация).