MATLAB Programming Fundamentals - MathWorks

(やまだぃちぅ) #1

Check Function Inputs with validateattributes


Verify that the inputs to your function conform to a set of requirements using the
validateattributes function.

validateattributes requires that you pass the variable to check and the supported
data types for that variable. Optionally, pass a set of attributes that describe the valid
dimensions or values.

Check Data Type and Other Attributes

Define a function in a file named checkme.m that accepts up to three inputs: a, b, and c.
Check whether:


  • a is a two-dimensional array of positive double-precision values.

  • b contains 100 numeric values in an array with 10 columns.

  • c is a nonempty character vector or cell array.


function checkme(a,b,c)

validateattributes(a,{'double'},{'positive','2d'})
validateattributes(b,{'numeric'},{'numel',100,'ncols',10})
validateattributes(c,{'char','cell'},{'nonempty'})

disp('All inputs are ok.')

The curly braces {} indicate that the set of data types and the set of additional attributes
are in cell arrays. Cell arrays allow you to store combinations of text and numeric data, or
character vectors of different lengths, in a single variable.

Call checkme with valid inputs.

checkme(pi,rand(5,10,2),'text')

All inputs are ok.

The scalar value pi is two-dimensional because size(pi) = [1,1].

Call checkme with invalid inputs. The validateattributes function issues an error for
the first input that fails validation, and checkme stops processing.

checkme(-4)

21 Function Arguments

Free download pdf