Main Content


Property declaration, attributes, and access methods

Properties contain object data. Classes define the same properties for all objects, but each object can have unique data values. Property attributes control what functions or methods can access the property. You can define functions that execute whenever you set or query property values. Properties can trigger events when code accesses their values.


expand all

propertiesClass property names
ispropDetermine if property is defined by object

Numeric Value Attribute Validation

mustBePositiveValidate that value is positive
mustBeNonpositiveValidate that value is nonpositive
mustBeNonnegativeValidate that value is nonnegative
mustBeNegativeValidate that value is negative
mustBeFiniteValidate that value is finite
mustBeNonNanValidate that value is not NaN
mustBeNonzeroValidate that value is nonzero
mustBeNonsparseValidate that value is nonsparse
mustBeRealValidate that value is real
mustBeIntegerValidate that value is integer
mustBeNonmissingValidate that value is not missing (Since R2020b)

Comparison Validation

mustBeGreaterThanValidate that value is greater than another value
mustBeLessThanValidate that value is less than another value
mustBeGreaterThanOrEqualValidate that value is greater than or equal to another value
mustBeLessThanOrEqualValidate that value is less than or equal to another value

Data Type Validation

mustBeAValidate that value comes from one of specified classes (Since R2020b)
mustBeNumericValidate that value is numeric
mustBeNumericOrLogicalValidate that value is numeric or logical
mustBeFloatValidate that value is floating-point array (Since R2020b)
mustBeTextValidate that value is string array, character vector, or cell array of character vectors (Since R2020b)
mustBeTextScalarValidate that value is single piece of text (Since R2020b)
mustBeNonzeroLengthTextValidate that value is text with nonzero length (Since R2020b)
mustBeUnderlyingTypeValidate that value has specified underlying type (Since R2020b)

Size Validation

mustBeNonemptyValidate that value is nonempty
mustBeScalarOrEmptyValidate that value is scalar or empty (Since R2020b)
mustBeVectorValidate that value is vector (Since R2020b)

Member and Range Validation

mustBeMemberValidate that value is member of specified set
mustBeInRangeValidate that value is in the specified range (Since R2020b)

Text with Special Meaning Validation

mustBeFileValidate that path refers to file (Since R2020b)
mustBeFolderValidate that input path refers to folder (Since R2020b)
mustBeValidVariableNameValidate that input name is valid variable name (Since R2020b)


dynamicpropsSuperclass for classes that support dynamic properties
matlab.metadata.DynamicPropertyDescribe dynamic property of MATLAB object
event.DynamicPropertyEventEvent data for dynamic property events
matlab.metadata.PropertyDescribe property of MATLAB class
matlab.metadata.Validation Describes property validation
matlab.metadata.FixedDimension Fixed dimension in property size specification
matlab.metadata.UnrestrictedDimension Unrestricted dimension in property size specification
matlab.metadata.ArrayDimension Size information for property validation
matlab.lang.OnOffSwitchStateRepresent on and off states with logical values


Define Properties and Set Attributes

Property Validation

Property Access Methods

Dynamic Properties