How can I evaluate an Simulink.data.Expression in a MATLAB script

3 Ansichten (letzte 30 Tage)
Karsten Gordon
Karsten Gordon am 15 Sep. 2022
Kommentiert: checker am 3 Okt. 2023
Hi all,
In my data dictionary, I have a Simulink.Parameter whose value is set as an expression:
Parameter with properties:
Value: slexpr("single(420*pi/180)")
CoderInfo: [1×1 Simulink.CoderInfo]
Description: '...'
DataType: 'single'
Min: 0
Max: 20
Unit: 'rad'
Complexity: 'real'
Dimensions: [1 1]
Now I would like to get the numeric value of the parameter within a script. So how can I evaluate the expression
slexpr("single(420*pi/180)")
to get
ans =
single
7.3304
Any hint would be greatly appreciated. Thank you very much.
  1 Kommentar
checker
checker am 3 Okt. 2023
Assuming you have a variable set equal to the expression
parmVal = slexpr("single(420*pi/180")
it will be of class type 'Simulink.data.Expression'
The value can be determined by the following
parmVal=eval(parmVal.ExpressionString)

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jeffrey Clark
Jeffrey Clark am 15 Sep. 2022
@Karsten Gordon, Evaluate MATLAB expression in data dictionary section - MATLAB evalin (mathworks.com) or Evaluate MATLAB expression - MATLAB eval (mathworks.com). I don't have Simulink to try; to use the eval function you would have to use just what is in the quotes:"single(420*pi/180)"

Tags

Produkte


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by