Validating Function Inputs - MATLAB
Video Player is loading.
Current Time 0:00
Duration 1:51
Loaded: 0%
Stream Type LIVE
Remaining Time 1:51
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected
  • en (Main), selected
    Video length is 1:51

    Validating Function Inputs

    Use function argument validation in MATLAB® to declare specific restrictions on function input arguments. You can constrain the class, size, and other aspects of function input values without writing code in the body of the function to perform these tests.

    Published: 5 Sep 2019

    Creating robust functions that check input arguments for errors can result in code that looks complicated and is difficult to understand.

    Note that most of the code for this simple function is error checking code.

    Using function input argument validation, you can constrain the class, size, and other aspects of function inputs without writing a lot of code in the body of the function to perform these tests.

    And it provides users with clear error messages.

    With function input argument validation, you can include a default value for optional input arguments—in this case, (0,0)—and MATLAB will override it if the user provides a value.

    Now let's look at an example function that plots a quadrilateral.

    The algorithm requires row vectors containing four elements for the operations to work.

    But what happens when we pass in column vectors instead? I’ll do this by transposing one of our inputs.

    In the case of 1D arrays, function input argument validation automatically transposes the inputs to the expected orientation for you.

    This function also accepts two custom name-value pairs—LineType and LineThickness—which are defined in the code as a struct.

    Using this syntax enables auto-complete suggestions for your custom name-value pairs.

    With function input argument validation, you can eliminate cumbersome argument-checking code and improve the readability, robustness, and maintainability of your code.

    Read the documentation to learn more.

    Related Products