Main Content

mxSetProperty (C and Fortran)

Set value of public property of MATLAB object

C Syntax

#include "matrix.h"
void mxSetProperty(mxArray *pa, mwIndex index,
  const char *propname, const mxArray *value);

Fortran Syntax

#include "fintrf.h"
subroutine mxSetProperty(pa, index, propname, value)
mwPointer pa, value
mwIndex index
character*(*) propname

Arguments

pa

Pointer to an mxArray which is an object.

index

Index of the desired element of the object array.

In C, the first element of an mxArray has an index of 0. The index of the last element is N-1, where N is the number of elements in the array. In Fortran, the first element of an mxArray has an index of 1. The index of the last element is N, where N is the number of elements in the array.

propname

Name of the property whose value you are assigning.

value

Pointer to the mxArray you are assigning.

Description

Use mxSetProperty to assign a value to the specified property. In pseudo-C terminology, mxSetProperty performs the assignment:

pa[index].propname = value;

Property propname must be an existing, public property and index must be within the bounds of the mxArray. To test the index value, use mxGetNumberOfElements or mxGetM and mxGetN functions.

mxSetProperty makes a copy of the value before assigning it as the new property value. If the property uses a large amount of memory, then making a copy might be a concern. There must be sufficient memory in the heap to hold the copy of the value.

Limitations

  • mxSetProperty is not supported for standalone applications, such as applications built with the MATLAB® engine API.

  • Properties of type datetime are not supported.

Version History

Introduced in R2008a