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