Ответ 1
Пара идей, и с оговоркой, что я знаю больше о стороне R вещей:
-
Пакет R.matlab в CRAN может помочь: этот пакет предоставляет методы для чтения и записи файлов MAT. Это также позволяет связывать (оценивать код, отправлять и извлекать объекты и т.д.) С помощью Matlab v6 или выше, работающего локально или на удаленном хосте.
-
HDF5, как вы предположили, это возможность, но я слышал, что поддержка R в пакете CRAN hdf5 является несколько базовым
-
NetCDF может быть альтернативой; CRAN имеет пакеты RNetCDF, ncdf и ncdf4
-
Используйте базу данных, особенно легкую и основанную на файлах, такую как SQLite или H4, у которых есть поддержка R
-
Использовать общий формат сериализации/де-сериализации; R поддерживает буфери Google Protocol через RProtoBuf, а Google указывает на protobuf-matlab для Matlab
-
Напишите свой собственный! Особенно, когда вам нужно только что-то основное, как большие прямоугольные матрицы, тогда ничто не будет бить прямую двоичную запись; Я сделал это несколько лет назад для Octave (что близко к Matlab). Вы можете расширить Matab через mex файлы; R имеет API и помощники, такие как Rcpp. Чем больше ваших наборов данных, тем более привлекательным может показаться, что вы сохраняете конверсии.