2015-11-01 2 views
1

Я привык работать с данными (иногда большими объемами данных) в качестве матриц или ячеек в MATLAB. Я хотел бы перейти на управление большими наборами данных с помощью таких инструментов, как SQLite.Как базы данных отличаются от переменных MATLAB?

Итак, вот мой вопрос. Как подойти к концептуальному переключателю из переменных MATLAB (снова многомерные числовые матрицы, а также ячейки с текстовыми записями) в базу данных? Например, если у меня есть 4D-матрица в MATLAB, есть ли способ сохранить эти данные непосредственно в виде таблицы? Или мне нужно сделать что-то вроде, скажем, сделать несколько помеченных 2D-таблиц? Все ли данные в базе данных хранятся в таблице?

Правильно ли думать, что перенос данных из MATLAB в базу данных будет более или менее реорганизацией многомерных переменных MATLAB в набор 2D-таблиц?

Было бы полезно получить опыт миграции данных из среды MATLAB в базу данных, доступную для SQL.

+0

Веселый вопрос, неверный веб-сайт с биркой Я боюсь. Это лучше подходит для StackOverflow. –

+0

Упс! Я только что видел «статистику» в URL-адресе. Я отправлю его в другое место. Спасибо =) –

+0

Просто отметьте это для вмешательства модератора, остальное позаботится автоматически. Не перекрестий, большой нет-нет. –

ответ

1

Таблица не является двумерным массивом. Массив 4D 2 * 2 * 2 * 2 хранится как {{{{1,2}, {3,4}}, {{5,6}, {7,8}}}, {{{9,10 }, {11,12}}, {{13,14}, {15,16}}}} (it's even mentioned in the manual). Это означает, что в базе данных мы можем сохранить его как 4 координаты (x, y, z, t) и значение.

x|y|z|t|value 
-+-+-+-+----- 
1|1|1|1|1 
1|1|1|2|2 
1|1|2|1|3 
......... 

Теперь вместо того, чтобы делать (1.2.3.4) вы SELECT value FROM a WHERE x = 1 AND y = 2 AND z = 3 AND t = 4

Хотя в зависимости от того, что ваши данные на самом деле это может быть 3 координаты и 2 значения для каждой строки

x|y|z|value1|value2 
-+-+-+------+------ 
1|1|1|1  |2 
1|1|2|3  |4 
......... 

Если вам нужно всего лишь выбрать весь массив сразу, вы можете сохранить его как json или csv value в одной строке.

Если у вас есть несколько массивов, вам также понадобится столбец array_id. Массив_ID может быть FK для таблицы, содержащей имя и описание массива. Вероятно, вам нужно найти тему структуры массива данных и основ базы данных (вы должны посмотреть в relational algebra, на основе баз данных, но есть различия).

В любом случае это не вопрос Matlab vs. Databases, если у вас нет конкретного вопроса о каком-либо элементе Matlab, который отличается от других языков.

+0

Спасибо. Это имеет большой смысл. –

Смежные вопросы