块参数配置Simulink万博1manbetx®以多种方式建模。例如,可以使用块参数指定各种系数或控制器样本时间。您还可以使用离散参数,如控制输入到多端口切换块,以控制模型中的数据路径。改变参数的值可以帮助您理解它对模型行为的影响。
当使用任何万博1manbetx仿真软件控制设计™线性化工具(或调谐slTuner
或Control System Tuner),您可以指定一组块参数值,以便将模型线性化。整个值集称为a参数网格或参数样本.工具批量线性化模型,计算线性化参数网格中的每个值。您可以改变多个参数,从而扩展参数网格维度。当使用命令行线性化工具时,线性化
命令或slLinearizer
或slTuner
接口时,使用带字段的结构指定参数示例的名字
和价值
.在模型线性化电路或控制系统调谐器,您可以使用图形界面指定参数示例。
您可以更改任何模型参数,其值由模型工作区中的变量(MATLAB)给出®工作区或数据字典。在变化的参数都是可调,线性化工具只需要一个模型编译来计算不同参数值的传递函数。这种效率对于重复编译代价高昂的模型尤其有利。
有关更多信息,请参见改变参数值时的批处理线性化效率.
为批处理线性化而改变单个参数的值线性化
,slLinearizer
,或slTuner
,将参数网格指定为具有两个字段的结构。的的名字
字段包含指定参数的工作区变量的名称。的价值
字段包含在线性化过程中该参数的值向量。
例如,Watertank
模型的三个参数定义为MATLAB工作空间变量,一个
,b
,一个
.下面的命令为单个参数指定一个参数网格一个
.
参数。Name =“一个”;参数。价值=保兑;
在这里,保兑
是否有一个数组指定样本值一个
.
下表列出了指定参数示例的一些常见方法。
参数样本空间类型 | 如何指定参数样本 |
---|---|
线性变化的 | 参数。价值=linspace (A_min A_max num_samples) |
对数变化 | 参数。价值=logspace(一个_min,A_max,num_samples) |
随机 | 参数。价值=兰德(1,num_samples) |
自定义 | 参数。价值=custom_vector |
如果模型使用的变量不是标量变量,则将参数名称指定为解析为数值标量值的表达式。例如,假设Kpid
是PID增益的矢量。这个向量的第一个元素,Kpid
,用作模型中的块中的增益值。使用下面的命令使用向量中给定的值来改变增益Kpvals
:
参数。Name =“Kpid(1)”;参数。价值=Kpvals;
在创建结构之后参数
:
将其传递给线性化
随着参数
输入参数。
将其传递给slLinearizer
随着参数
输入参数,当创建slLinearizer
接口。
设置参数
现有财产slLinearizer
接口参数
.
中为批量线性化指定单个参数的变化模型线性化电路,在线性分析选项卡,参数的变化下拉列表中,单击选择要改变的参数
.(在控制系统调谐器,参数的变化下拉列表控制系统选项卡)。
点击管理参数.在“选择模型变量”对话框中,检查要更改的参数。该表格列出了MATLAB工作空间中的所有变量以及模型中使用的模型工作空间,无论是否可调。
请注意
如果参数不是标量变量,单击必要时指定表达式索引并输入解析为数值标量值的表达式。例如,如果一个
是向量吗,回车(3)
来指定第三个条目一个
.如果一个
是一个结构,你想改变的标量参数是价值
这个结构的域,进入A.Value
.索引的变量出现在变量列表中。
点击好吧.选中的变量将出现在参数的变化表格使用该表手动指定参数值,或自动生成值。
若要手动指定值,请单击将行添加到表中插入行和选择上面插入行
或下面插入一行
.然后,根据需要编辑表中的值。
当你回到线性分析标签并线性化模型,模型线性化电路的所有参数值的线性化参数的变化表格
请注意
在控制系统调优器中,当您完成了参数变化的指定后,必须在继续进行调优之前应用更改。要做到这一点,就在参数的变化选项卡上,单击应用.控制系统调谐器应用指定的参数变化,重新线性化您的模型,并更新所有现有的图。
要自动生成值,请单击生成值.在“生成参数值”对话框中值列时,输入用于变量的参数值的表达式。例如,输入一个表达式linspace (A_min A_max num_samples)
,或(10:2:30)
.
点击覆盖中的值替换参数的变化表中包含生成的值。
当你回到线性分析标签并线性化模型,模型线性化电路计算每个参数值的线性化。
请注意
在控制系统调优器中,当您完成了参数变化的指定后,必须在继续进行调优之前应用更改。要做到这一点,就在参数的变化选项卡上,单击应用.控制系统调谐器应用指定的参数变化,重新线性化您的模型,并更新所有现有的图。
当一次改变多个参数时,将生成更高维度的参数网格。例如,改变两个参数生成一个参数矩阵,改变三个参数生成一个三维参数网格。考虑以下参数网格:
这里,你改变三个参数的值,一个,b,c.这些样本形成了一个3 × 4 × 5的网格。当批处理线性化你的模型,党卫军
模型数组,sys
,为批处理结果。类似地,当批量调整模型时,您将得到一个操作点对象数组。
为批量线性化而改变多个参数的值线性化
,slLinearizer
,或slTuner
,将参数样本指定为结构数组。结构中每个参数的值都有一个条目。每个参数的结构与中描述的相同在命令行改变单个参数.您可以指定价值
字段,参数为任意维度的数组。然而,规模价值
字段必须与所有参数匹配。对应所有参数的数组项,也称为参数网格点,必须映射到所需的参数组合。当软件将模型线性化时,它计算一个线性化- an党卫军
模型-每个网格点。软件填充SamplingGrid
每个线性化模型的性质,以及模型对应的参数网格点的信息。
假设你的模型有两个参数,你想改变它们的值,一个和b:
你想线性化每个组合的模型一个和b,也被称为完整的网格:
使用。创建矩形参数网格ndgrid
.
a1 = 1;a2 = 2;A = [a1 a2];b1 = 3;b2 = 4;B = [b1 b2];[A, B] = ndgrid (A, B)
>> a a = 1 1 2 2 >> b b = 3 4 3 4
创建结构数组,参数个数
,它指定参数网格。
参数(1)。Name =“一个”;参数(1)。价值=一个;参数(2)。Name =“b”;参数(2)。值= B;
通常,指定一个完整的网格N参数,使用ndgrid
获得N网格阵列。
[P1,…,PN] = ndgrid(p1,...,pN);
在这里,p1
、……pN
为参数样本向量。
创建一个1 xN结构数组。
参数(1)。Name ='p1'; params(1).Value = P1; ... params(N).Name = 'pN'; params(N).Value = PN;
如果您的模型很复杂,或者您改变了许多参数的值,那么将整个网格的模型线性化可能会非常昂贵。在这种情况下,可以使用表式方法指定完整网格的子集。使用指定完整的网格,假设您想线性化下列组合的模型一个和b:
创建结构数组,参数个数
,它指定了这个参数网格。
A = [a1 a1];参数(1)。Name =“一个”;参数(1)。价值=一个;B = [b1 b2];参数(2)。Name =“b”;参数(2)。值= B;
为批量线性化而改变多个参数的值模型线性化电路或控制系统调谐器,打开选择模型变量对话框,如改变图形工具中的单个参数.在对话框中,勾选要更改的所有变量。
请注意
如果要更改的参数不是标量变量,请单击必要时指定表达式索引并输入解析为标量值的表达式。例如,如果一个
是向量吗,回车(3)
来指定第三个条目一个
.如果一个
是一个结构,你想改变的标量参数是价值
这个结构的域,进入A.Value
.索引的变量出现在变量列表中。
点击好吧.选中的变量显示在参数的变化表格表中的每一列对应一个选定的变量。表中的每一行代表一组完整的参数值,在这些参数值上对模型进行线性化。线性化时,模型线性化电路计算表中有多少行就计算多少线性模型。使用该表可手动指定参数值的组合,或自动生成值组合。
若要手动指定值,请单击将行添加到表中插入行和选择上面插入行
或下面插入一行
.然后,根据需要编辑表中的值。例如,下表指定了四个参数值对的线性化:(Ki2 Kp2)
=(3.5,1),(3.5,2),(5,1),和(5,2)。
当你回到线性分析标签并线性化模型,模型线性化电路计算每个参数值对的线性化。
请注意
在控制系统调优器中,当您完成了参数变化的指定后,必须在继续进行调优之前应用更改。要做到这一点,就在参数的变化选项卡上,单击应用.控制系统调谐器应用指定的参数变化,重新线性化您的模型,并更新所有现有的图。
要自动生成值,请单击生成值.在“生成参数值”对话框的“值”列中,为每个变量所需的参数值输入表达式,例如linspace (A_min A_max num_samples)
,或(10:2:30)
.例如,下面的条目为所有可能的组合生成参数-值对Kp1 = (0.1, 0.15, 0.2, 0.25, 0.3)
和Kp2 = (0.03, 0.04, 0.05)
.
点击覆盖中的值替换参数的变化表中包含生成的值。
当你回到线性分析标签并线性化模型,模型线性化电路计算每个参数值对的线性化。
请注意
在控制系统调优器中,当您完成了参数变化的指定后,必须在继续进行调优之前应用更改。要做到这一点,就在参数的变化选项卡上,单击应用.控制系统调谐器应用指定的参数变化,重新线性化您的模型,并更新所有现有的图。
线性化
|linspace
|logspace
|ndgrid
|兰德
|slLinearizer
|slTuner