MATLAB задает функции для использования в валидации аргументов. Эти функции поддерживают общие шаблоны использования для валидации и предоставляют описательные сообщения об ошибке. В следующих таблицах MATLAB классифицируется по категориям® функции валидации и описания их использования.
Имя | Значение | Функции, вызываемые на входах |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
Имя | Значение | Функции, вызываемые на входах |
---|---|---|
|
| |
|
| |
|
| |
|
|
Имя | Значение | Функции, вызываемые на входах |
---|---|---|
|
| Использует отношения определения класса |
|
| |
|
| |
|
| |
|
|
Имя | Значение | Функции, вызываемые на входах |
---|---|---|
|
| |
| value должен быть скаляром или пустым. | |
| value должен быть вектором. |
Имя | Значение | Функции, вызываемые на входах |
---|---|---|
|
| |
| value должно находиться в пределах области значений. |
Имя | Значение | Функции, вызываемые на входах |
---|---|---|
|
| |
| path должна ссылаться на папку. | |
|
| Не применяется |
|
| Не применяется |
|
| Не применяется |
| varname должно быть допустимым именем переменной. |
Функции валидации являются функциями MATLAB, которые проверяют требования к значениям, вводящим функции или свойства. Функции валидации определяют, когда выдавать ошибки и какие сообщения об ошибке отображать.
Функции, используемые для валидации, имеют следующие элементы проекта:
Функции валидации не возвращают выходы или изменяют состояние программы. Единственная цель - проверить валидность входного значения.
Функции валидации должны принимать значение, проверяемое как входной параметр. Если функция принимает более одного входные параметры, первый вход является значением, которое будет проверено.
Функции валидации зависят только от входов. Другие значения для функции недоступны.
В случае сбоя проверки функции валидации выдают ошибку. Используя throwAsCaller
выдавать исключения позволяет избежать отображения самой функции валидации в отображаемом сообщении об ошибке.
Создание собственной функции валидации полезно, когда вы хотите предоставить конкретную валидацию, которая не доступна с помощью функций валидации MATLAB. Можно создать функцию валидации как локальную функцию в файле функции или поместить ее в путь MATLAB. Чтобы избежать слияния сообщений об ошибке, не используйте проверку аргумента функции в пользовательских функциях валидации.
Для примера, mustBeRealUpperTriangular
функция ограничивает вход вещественными, верхними треугольными матрицами. Функция валидации использует istriu
и isreal
функций.
function mustBeRealUpperTriangular(a) if ~(istriu(a) && isreal(a)) eidType = 'mustBeRealUpperTriangular:notRealUpperTriangular'; msgType = 'Input must be a real-valued, upper triangular matrix.'; throwAsCaller(MException(eidType,msgType)) end end
Если входной параметр не имеет правильного типа, функция выдает ошибку.
a = [1 2 3+2i; 0 2 3; 0 0 1]; mustBeRealUpperTriangular(a)
Input must be a real-valued, upper triangular matrix.