How to test if an object is a simulink.parameter ?

조회 수: 11 (최근 30일)
Alexandre Poisson
Alexandre Poisson 2023년 3월 17일
댓글: Alexandre Poisson 2023년 3월 19일
Hi,
Short question: How can I test if an object is a simulink parameter ?
Context:
Simulink data dictionaries allows mutliple type.
I'm getting dataEntries, but after than, I need specific function to get the data entries properties, such as value.
What i tried:
1 / I could use listEntry, but unfortunatelly it cannot be saved in a variable (tested with MATLAB R2022B)
myDictionaryObj = Simulink.data.dictionary.open('sldemo_fuelsys_dd_controller.sldd');
>> listEntry(myDictionaryObj,'Class','Simulink.Parameter')
Section Name Status DataSource LastModified LastModifiedBy Class
Design Data hys sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:05 The MathWorks, Inc. Simulink.Parameter
Design Data max_ego sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data max_press sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data max_speed sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data max_throt sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data min_press sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data min_speed sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:11 The MathWorks, Inc. Simulink.Parameter
Design Data min_throt sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data PressEst sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:11 The MathWorks, Inc. Simulink.Parameter
Design Data PressVect sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:09 The MathWorks, Inc. Simulink.Parameter
Design Data PumpCon sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:33 The MathWorks, Inc. Simulink.Parameter
Design Data RampRateKiX sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:05 The MathWorks, Inc. Simulink.Parameter
Design Data RampRateKiY sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:05 The MathWorks, Inc. Simulink.Parameter
Design Data RampRateKiZ sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:33 The MathWorks, Inc. Simulink.Parameter
Design Data SpeedEst sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:11 The MathWorks, Inc. Simulink.Parameter
Design Data SpeedVect sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data ThrotEst sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:11 The MathWorks, Inc. Simulink.Parameter
Design Data ThrotVect sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data zero_thresh sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:05 The MathWorks, Inc. Simulink.Parameter
>> iWillFail = listEntry(myDictionaryObj,'Class','Simulink.Parameter')
Incorrect number or types of inputs or outputs for function 'listEntry'.
I don't know if this is a bug or expected behavior
2/ I wanted to use : 'isa', but it does not allow to test for Simulink parameter

채택된 답변

Paul
Paul 2023년 3월 19일
Hi Alexandre
Use find on dictionary section object to find the entries that meet the desired criterion.
>> myDictionaryObj = Simulink.data.dictionary.open('sldemo_fuelsys_dd_controller.sldd');
>> dDataSectObj = getSection(myDictionaryObj,'Design Data');
>> foundEntries = find(dDataSectObj,'-value','-class','Simulink.Parameter')
>> foundEntries(1)
ans =
Entry with properties:
Name: 'RampRateKiX'
Value: [1×1 Simulink.Parameter]
DataSource: 'sldemo_fuelsys_dd_controller.sldd'
LastModified: '2013-Oct-22 08:05:23.609681'
LastModifiedBy: 'The MathWorks, Inc.'
Status: 'Unchanged'
>> foundEntries(1).getValue
ans =
Parameter with properties:
Value: [128 256 384 512 640]
CoderInfo: [1×1 Simulink.CoderInfo]
Description: ''
DataType: 'auto'
Min: []
Max: []
Unit: ''
Complexity: 'real'
Dimensions: [1 5]

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Manage Design Data에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by