主要内容

本页采用了机器翻译。点击此处可查看英文原文。

compare

比较两个参数集对象中的参数

自 R2023b 起

说明

compResult = compare(paramSet1,paramSet2) 比较两个 ParameterSet 对象,并返回一个提供比较信息的结构体数组。该比较包含参数信息,例如模块路径、参数名称、数据类型和大小,并显示了存储在 ParameterSet 对象中的不同值。

示例

示例

全部折叠

使用 compare 函数比较两个 ParameterSet 对象。有关如何使用输出结构的示例,请参阅 解析参数集对象

  1. 打开模型 slrt_ex_osc_output。构建实时应用程序。连接到目标计算机。加载实时应用程序。

    openExample('slrt_ex_osc_outport');
    mdlName = 'slrt_ex_osc_outport';
    slbuild(mdlName);
    tg = slrealtime('TargetPC1');
    connect(tg);
    load(tg,mdlName);
  2. 根据 slrt_ex_osc_outport 模型中的原始参数创建一个 ParameterSet 对象。查看 Amplitude 参数的原始值。

    paramSetNameOrig = 'ParamSetOrig';
    saveParamSet(tg,paramSetNameOrig);
    ParamSetObjOrig = importParamSet(tg,paramSetNameOrig);
    getparam(tg,'slrt_ex_osc_outport/Signal Generator','Amplitude')
    ans =
    
         1
  3. 更改振幅参数的数值。根据 slrt_ex_osc_outport 模型中的修改参数创建一个 ParameterSet 对象。

    setparam(tg,'slrt_ex_osc_outport/Signal Generator','Amplitude',2)
    paramSetNameMod = 'ParamSetMod';
    saveParamSet(tg,paramSetNameMod);
    ParamSetObjMod = importParamSet(tg,paramSetNameMod);
  4. 比较 ParameterSet 对象中的参数值。查看比较结果结构。观察原始参数值与修改后的 Amplitude 参数值之间的差异。

    compResultAmp = compare(ParamSetObjOrig,ParamSetObjMod)
    compResultAmp = 
    
      4×1 struct array with fields:
    
        BlockPath
        Name
        DataType
        Size
        ParamSetObjOrig
        ParamSetObjMod
        Type

    Compare the parameter values by using the comparison structure for parameter set objects.

输入参数

全部折叠

paramSet1 参数指定用于比较的第一个 ParameterSet 对象。

示例: ParamSetObjOrig

paramSet2 参数指定用于比较的第二个 ParameterSet 对象。

示例: ParamSetObjMod

输出参量

全部折叠

compResult 参数指定了比较结果的输出结构体名称。返回的结构体包含以下字段:

  • BlockPath - 参数块路径

  • Name - 参数名称

  • DataType - 参数数据类型

  • Size - 参数数据大小

  • PS1 name - 参数集 1 名称

  • PS2 name - 参数集 2 名称

  • Type - 对于特定参数,若参数集 1 与参数集 2 在此参数处取值不同,则类型字段值为“修改”;若参数在参数集 2 中存在但参数集 1 中不存在,则为“插入”;若参数在参数集 1 中存在但参数集 2 中不存在,则为“删除”。

版本历史记录

在 R2023b 中推出