Main Content

removePrivateData

Remove private data elements from operating point

Description

example

opNew = removePrivateData(op) returns a copy of the OperatingPoint object op, with hidden private data removed from the data tree hierarchy. Private data corresponds to the Simscape™ language file members with the attribute ExternalAccess = none.

Simscape language members with the attribute ExternalAccess = none are not observable by definition. Therefore, you cannot see them in the operating point data. Use hasPrivateData to determine whether an operating point data tree contains private data elements. Then use removePrivateData to remove the hidden elements, if necessary.

Examples

collapse all

In general, including private data in an operating point data tree helps with model initialization. However, if you are having trouble initializing a model from a saved operating point and wonder whether the issue is in the hidden private data, try using removePrivateData to remove the hidden elements.

Open the Permanent Magnet DC Motor example model and create an OperatingPoint object named op using the Start values from the model:

openExample('simscape/PermanentMagnetDCMotorExample')
op = simscape.op.create(gcs, 'Start')
op = 

  OperatingPoint with children:

  OperatingPoints:

   ChildId         Size
   ______________  ____

   'DC Motor'       1x1
   'DC Voltage'     1x1
   'ERef'           1x1
   'Load Torque'    1x1
   'MRRef Motor'    1x1
   'MRRef Torque'   1x1
   'Sensing'        1x1
   'Step Input'     1x1

Determine whether the operating point contains private data:

 hasPrivateData(op)
ans =

  logical

   1

Create a new operating point, op1, by removing private data from op:

 op1 = removePrivateData(op)
op1 = 

  OperatingPoint with children:

  OperatingPoints:

   ChildId         Size
   ______________  ____

   'DC Motor'       1x1
   'DC Voltage'     1x1
   'ERef'           1x1
   'Load Torque'    1x1
   'MRRef Motor'    1x1
   'MRRef Torque'   1x1
   'Sensing'        1x1
   'Step Input'     1x1

Verify that the new operating point does not contain private data:

 hasPrivateData(op1)
ans =

  logical

   0

Input Arguments

collapse all

Operating point in the workspace, specified as an OperatingPoint object.

Output Arguments

collapse all

New OperatingPoint object, which is a copy of the original OperatingPoint object, op, with private data elements removed from the data tree hierarchy. You can remove elements recursively, that is, the name of the new OperatingPoint object, opNew, can be the same as the name of the original OperatingPoint object, op.

Version History

Introduced in R2018a