MATLAB задает функции для использования в валидации аргумента. Эти функции поддерживают шаблоны общего использования для валидации и предоставляют описательные сообщения об ошибке. Эта таблица приводит функции валидации MATLAB, их значения и функции MATLAB, используемые ими.
Имя | Значение | Функции, обращенные входные параметры |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
Функции валидации являются обычными функциями MATLAB®, которые спроектированы для проверки входных значений. Функции валидации определяют, когда выдать ошибки и что сообщения об ошибке отобразиться. Функции, используемые в валидации, должны:
Примите потенциальную ценность как входной параметр.
Не возвращаемые значения
Выдайте ошибку, если валидация перестала работать
Создание вашей собственной функции валидации полезно, когда это необходимо, чтобы обеспечить определенную валидацию, которая не является доступным использованием функций валидации MATLAB. Можно создать их как локальные функции в файле функции или разместить их в путь MATLAB. Чтобы избежать слияния сообщений об ошибке, не используйте валидацию аргумента функции в пользовательских функциях валидации.
Например, ImgData
функционируйте использует локальную функцию, чтобы задать блок проверки допустимости, который ограничивает Data
введите к определенной области значений числовых значений. mustBeNumeric
блок проверки допустимости является существующей функцией.
function ImgData(Data) arguments Data {mustBeNumeric, mustBeInRange(Data,[0,255])} end % Function code imagesc(Data) end % Custom validation function function mustBeInRange(arg,b) if any(arg(:) < b(1)) || any(arg(:) > b(2)) error(['Value assigned to Data is not in range ',... num2str(b(1)),'...',num2str(b(2))]) end end
Data
входной параметр может быть числовым массивом любого размера со значениями в области значений 0–255. Если значения не удовлетворяют этим требованиям, MATLAB выдает ошибку.
ImgData(randi(300,10,10))
Error using ImgData Invalid input argument at position 1. Value assigned to Data is not in range 0...255