我想在MATLAB中创建一个GUI,它有两个可用于调整值a和b的滑块。我知道我可以让GUI打开simulink并使用simulink执行此操作,然后使用UDP对信息进行分组,如下图所示:
但是,我希望能够将这些simulink块转换为GUI滑块中的代码。更具体地说,我对编码数据包输出块感兴趣,因此GUI按钮可以发送信息。有谁知道怎么做?
答案 0 :(得分:1)
只要您知道该块的“路径”,就可以使用set_param
和get_param
设置/获取其参数。在您的情况下,第一个常量块具有路径'rtpacketio/Constant'
- 即系统名称后跟/
,后跟块的名称。
要找出可用于块的参数,您可以这样做,
>> get_param('rtpacketio/Constant', 'DialogParameters')
ans =
Value: [1x1 struct] <<< This is the one you need to change
VectorParams1D: [1x1 struct]
SamplingMode: [1x1 struct]
OutMin: [1x1 struct]
OutMax: [1x1 struct]
OutDataTypeStr: [1x1 struct]
LockScale: [1x1 struct]
SampleTime: [1x1 struct]
FramePeriod: [1x1 struct]
请注意,这些参数的值不是struct
s - 从DialogParameters
参数返回的struct数组表示有关参数的信息;当你设置或获取一个块的参数时,它必须是一个字符串(因为它进入edit
控件)。在要设置此参数的代码中,您可以执行以下操作:
set_param('rtpacketio/Constant', 'Value', num2str(myConstantValue));
如果您需要高精度,您可能希望将num2str
替换为更准确的等效值。