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

5 ビュー (過去 30 日間)
Karsten Gordon
Karsten Gordon 2022 年 9 月 15 日
コメント済み: checker 2023 年 10 月 3 日
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 件のコメント
checker
checker 2023 年 10 月 3 日
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)

サインインしてコメントする。

回答 (1 件)

Jeffrey Clark
Jeffrey Clark 2022 年 9 月 15 日
@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)"

カテゴリ

Help Center および File ExchangeData Type Identification についてさらに検索

タグ

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by