主要内容

鲁棒性参数优化

什么是坚固性?

一个设计健壮的当其响应不会在模型参数变化下违反设计要求时。您的模型可能包含其值不详地知道的参数。这些参数在给定的值范围内变化,并且被定义为不确定参数.您可能知道这些不确定参数变化的标称值和值范围。

您可以使用万博1manbetx®设计优化™软件纳入参数的不确定性,以测试您的设计的稳健性。当对参数进行鲁棒性优化时,优化求解器使用所有不确定参数值计算的响应来调整设计变量值。

您可以指定与设计相同的参数不确定的变量。但是,在相同的优化运行中,您无法使用参数作为设计和不确定变量。此外,在基于优化的控制设​​计期间,您无法增加控制器或工厂参数的不确定性控制系统设计

不确定变量可以是标量、向量、矩阵或表达式。

您可以通过以下方式测试和优化参数来实现模型的稳健性:

  • 在优化之前.指定参数不确定性之前您可以优化参数以满足设计要求。在这种情况下,优化方法基于标称参数值和不确定值对信号进行优化。这种模式需要更多的计算时间。

  • 优化后.指定参数不确定性之后您已经优化了模型参数以满足设计要求。然后,您可以通过绘制模型的响应来测试不确定参数的影响。如果响应违反了设计要求,您可以通过在优化过程中包含参数不确定性来再次优化参数。

相关例子

更多关于

不确定参数的抽样方法

不确定参数的示例值是数值的矢量。您可以使用软件指定自己的向量或生成随机数的向量。您指定的示例值可以均匀分布或随机。例如,两个不确定参数的四个样本值A.B.在范围内[0 3]2.5 [1]可能看起来像下图。

有两种方法可以确定优化过程中使用的样本值的数量:

  • 只有最小值和最大值的组合(圈)

  • 整个值组合的组合(上图中的所有实体点)

    提示

    与使用整个值集比时,仅使用优化期间的最小值和最大值会增加计算速度。

对于前面的示例,使用最小值和最大值有4个组合,如果使用所有样本值,则有16个组合。

响应优化器,使用选项指定采样方法,如下图所示。

相关例子

更多关于

鲁棒性参数优化(GUI)

这个例子展示了如何优化参数以保证模型的稳健性。

  1. 加载保存响应优化器会话。

    加载sldo_model1_desreq_optim_sdosession;sdotool(sdosessiondata);

    Sdotool.命令打开下列Simulink模型和保存的万博1manbetx响应优化器会话。

    模型的参数,KpKiKd已被优化以满足以下步骤响应要求:

    • 最大过冲5%

    • 最大上升时间为10秒

    • 最大稳定时间为30秒

  2. 指定参数不确定性。

    1. 不确定的变量集下拉列表,选择

      窗口打开您指定不确定变量的位置。

    2. 点击W0.Zeta.选择他们。

    3. 点击将所选参数添加到一个不确定的变量集。

      软件显示以下参数设置:

      • 变量- 参数名称

      • 名义价值- Simulink模型中指定的参数的标称值万博1manbetx

      • 不确定的值- 不确定参数可以采用的值。默认情况下,最大值和最小值的值均有10%的标称值。

        优化期间使用的样​​本值的总数是不确定参数的最大值和最小值的组合。

      复选框表示参数包含在不确定变量集中。默认不确定变量集名称是UncVars

      点击好吧.一个新的变量UncVars出现在数据区域的响应优化器

      指定随机值

  3. 测试模型稳健性到不确定的参数。

    1. 点击图模型反应

      步骤响应图,显示要求,更新。

      • 实体曲线对应于使用不确定参数的优化参数和标称值计算的模型响应。

      • 这四条虚线对应的是不确定参数的最小值和最大值的模型响应。

        虚线的绘图线条显示,在10到20秒期间的响应违反了设计要求。

  4. 优化模型鲁棒性的参数。点击优化

    将打开优化进度窗口,其显示优化迭代。

    优化完成后,消息优化聚合表示通过改变不确定参数计算的最终模型响应符合指定的设计要求。

  5. 检查反应。

    提示

    要查看模型的最终响应,右键单击图中的白色区域并取消选中回应>显示迭代的反应

    最终的响应显示为厚实的实心和虚线曲线。随参数变化的标称和不确定响应满足设计要求。

如果您的模型包含引用模型,您可以使用引用模型中的变量创建一个不确定变量集,使用创建不确定的变量集对话框。例如,对话框中的第一个变量,,被列为SdoratelimitedController:lewsdoratelimitedController.是带有变量的引用模型的名称.当变量对所有实例具有相同的值sdoratelimitedController.模型。相比之下,变量Kd可以对包含它的引用模型的每个实例具有不同的值。例如,对话框中的第二个变量列为sdoMultipleMotors / Control_1: Kd.上层模型sdoMultipleMotors有块Control_1,这是具有变量的引用模型Kd.这个变量的值可以不同于Kd在块Control_2,这是对话框中的第三个变量。要启用特定于实例的值,Kd被指定为引用的模型工作区中的模型参数。

更多关于

相关的话题