Спецификация API загрузки данных
Можно использовать API загрузки данных (прикладной программный интерфейс), чтобы записать собственную функцию загрузки данных, включить эти функции в тулбокс, и впоследствии использовать данные, загруженные этими функциями в тулбоксе. Чтобы позволить это, существует несколько этапов, которые должны сопровождаться, как описано ниже. Для примера смотрите xregReadConcerto.m (в директории mbctools).
Прототип функции данных
Функция, чтобы успешно загрузить данные имеет следующий прототип:
[OK, msg, out] = dataLoadingFcn(filename, protoOut)
Входные параметры
filename является полным путем к файлу, чтобы загрузиться.
protoOut является пустой структурой с полями, ожидаемыми в возвращаемом аргументе out. Это позволяет API загрузки данных быть легко расширенным без потребности в функциях загрузки данных, чтобы измениться, когда тулбокс изменяется.
Выходные аргументы
Первый возвращаемый аргумент, OK, позволяет функции сигнализировать, что это успешно загрузило файл данных. Значение 1 успеха сигналов и 0 отказов. Если функция перестала работать, она может возвратить сообщение, msg, чтобы указать на причину отказа. Это сообщение отображено в диалоговом окне предупреждения, если функция перестала работать. Если функция успешна, возвращаемый аргумент, out содержит данные, необходимые для тулбокса.
out.varNames является массивом ячеек строк, которые содержат имена переменных в данных (1 x n или n x 1).
out.varUnits является массивом ячеек строк, которые содержат модули, сопоставленные с переменными в varNames (1 x n или n x 1). Этот массив может быть пустым, в этом случае никакие модули не заданы.
out.data является массивом, который содержит значения переменных (m x n).
out.comment является дополнительной строкой, содержащей информацию комментария о данных.
Функция данных регистрируется
Если вы записали функцию, необходимо проверять его в тулбоксе, с помощью функции mbccheckindataloadingfcn. Эта функция имеет следующий прототип:
OK= mbccheckindataloadingfcn(fun, filterSpec, fileType, filename)
fun является строкой, которая является функцией, чтобы вызвать, чтобы загрузить данные. Эта функция должна быть на пути MATLAB®.
filterSpec является массивом ячеек элемента 1 x 2, который содержит расширения что эта функция загрузки и описания тех файлов. Этот массив ячеек используется в функции uigetfile, например, {'*.m;*.fig;*.mat;', 'All MATLAB Files'} или {'*.m', 'M-files (*.m)'}. MBC пытается решить автоматически, какой вид файла загружается, на основе расширения. В случае дублирующихся расширений выбрано первое в списке; однако, всегда возможно заменить автоматический выбор с пользовательским выбором. Вы будете видеть предупреждающее сообщение, если будет неоднозначность.
fileType является строкой, которая описывает тип файла, например, 'MATLAB file' или 'Excel file'.