Спецификация 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'
.