帮助中心帮助中心
广义模型中的随机样本控制设计块
Msamp = rsampleBlock (M,名字,N)
Msamp = rsampleBlock (M, names1, N1、names2 N2,…,namesM,海里)
[Msamp,样本]= rsampleBlock (___)
例子
Msamp= rsampleBlock (米,的名字,N)控件中控件设计块的一个子集随机抽样广义模型米.的的名字参数指定要采样的块和N指定要取多少个样本。结果Msamp模型数组的大小(大小(M) N)通过将采样块替换为其随机值得到。
Msamp= rsampleBlock (米,的名字,N)
Msamp
米
的名字
N
(大小(M) N)
Msamp= rsampleBlock (米, N1 names1 names2, N2,…,namesM,海里)需要N1中列出的块的示例names1,N2中列出的块的示例names2,等等。结果Msamp模型数组的大小尺寸(M) N1 N2…海里).
Msamp= rsampleBlock (米, N1 names1 names2, N2,…,namesM,海里)
N1
names1
N2
names2
尺寸(M) N1 N2…海里)
[Msamp,样品) = rsampleBlock (___)还返回一个数据结构,其中包含每个采样点的块替换值。可以将此语法与前面的任何输入参数组合一起使用。
[Msamp,样品) = rsampleBlock (___)
样品
全部折叠
创建一阶模型 G ( 年代 ) = 1 / ( τ 年代 + 1 ) ,在那里 τ 是一个可调实参数。
τ= realp (“τ”5);G = tf(1,[tau 1]);
抑制τ仅为非负值。
τ
G.Blocks.tau.Minimum = 0;
生成20个随机样本G.结果是一个20 × 1的一阶模型数组,随机值为τ的范围τ.
G
Gs = rsampleBlock (G,“τ”, 20);大小(Gs)
20x1状态空间模型阵列。每个模型有1个输出、1个输入和1个状态。
这个示例使用:
取具有可调块和不确定块的模型的随机样本。使用不确定块需要鲁棒控制工具箱™。可调块的随机采样与本例中所示的工作方式相同。
创建一个不确定的模型 G ( 年代 ) = 一个 / ( τ 年代 + 1 ) ,在那里一个是在区间[3,5]内变化的不确定参数,和 τ = 0.5 +/- 30%创建可调PI控制器,由可调控制器和不确定系统组成闭环系统。
一个=尿素的(“一个”4);τ=尿素的(“τ”5,“比例”, 30);G = tf(a,[tau 1]);C = tunablePID (“C”,“π”);T =反馈(G * C, 1);
T是一个具有两个不确定块的广义状态空间模型,一个而且τ,和一个可调块,C.样本T在20个随机(τ)对。
一个
C
T
(τ)
(Ts、样品)= rsampleBlock (T) {“一个”,“τ”}, 20);
Ts一个20 × 1的数组是一族模型。可调的块C,则保存在Ts.结构样品有字段samples.a而且samples.tau包含这些块采样时的值。
Ts
一族
samples.a
samples.tau
分组一个而且τ进入单元格数组的原因rsampleBlock把它们一起取样,如(τ)对。对数据块进行独立采样,生成高维数组。例如,独立抽取10个随机样本一个5个样品τ生成一个10乘5的模型数组。
rsampleBlock
[TsInd,样本]= rsampleBlock (T)“一个”10“τ”5);TsInd
tind = 10x5的广义连续时间状态空间模型数组。每个模型有1个输出,1个输入,2个状态,和以下块:C:可调谐PID控制器,1次出现。输入“ss(TsInd)”可以查看当前值,输入“get(TsInd)”可以查看所有属性,输入“TsInd”可以查看所有属性。块”来与块交互。
在这个数组,一个在一维和τ沿着另一个方向变化。
模型到样本,指定为:
广义模型(一族或genfrd)
genfrd
广义矩阵(genmat)
genmat
不确定模型(号航空母舰(鲁棒控制工具箱)或ufrd(鲁棒控制工具箱))
号航空母舰
ufrd
不确定矩阵(umat(鲁棒控制工具箱))
umat
要采样的控件设计块,指定为字符向量或字符向量的单元格数组。的条目的名字中的控件设计块的至少一个子集的名称对应米.例如,假设这样米是一个一族用可调块建模t1而且t2,和不确定块u1而且u2.然后,{“t1”、“u2”}有一个可能的值吗的名字.
t1
t2
u1
u2
{“t1”、“u2”}
将单元格数组中的块名组合在一起会生成组的样本,而不是每个块的独立样本。例如,下面的代码生成一个10 × 1的模型数组,其中数组中的每个条目都有一对随机值(t1, u2).
(t1, u2)
Msamp = rsampleBlock (M, {“t1”,“u2”}, 10);
要独立抽样参数,不要将它们分组。例如,下面的代码生成一个10 × 20的模型数组,其中t1在第一个维度和u2沿二次元变化。
Msamp = rsampleBlock (M,“t1”10“u2”, 20);
rsampleBlock忽略任何输入的名字这没有出现在米.
从前面的块中提取样本的数量,指定为正整数。
党卫军
的朋友
模型样本数组,作为广义模型数组返回,党卫军数组,的朋友数组或数值数组。Msamp是同一类型的米,除非所有块都被采样。在这种情况下,Msamp是一个数值数组,党卫军数组,或的朋友数组中。例如,假设这样米是一个号航空母舰带有不确定块的模型u1而且u2.以下命令返回一个数组号航空母舰模型,带有不确定块u2.
Msamp1 = rsampleBlock (M,‘u1’10);
下面的命令对block和返回的数组进行采样党卫军模型。
Msamp2 = rsampleBlock (M, {‘u1’,“u2”}, 10);
rsampleBlock采样不确定块时,使用不确定范围内的值;采样可调块时,使用最大和最小参数值内的值。
块样本值,作为结构返回。等领域的样品是采样块的名称。这些值是包含用于生成条目的相应随机值的数组Msamp.例如,假设您运行以下命令,其中米是一个一族用可调块建模t1而且t2.
[Msamp,样本]= rsampleBlock (M, {“t1”,《终结者2》}, 10);
然后,samples.t1的10个值t1而且samples.t2的10个值t2.如果对非标量值的块进行采样,则对应的字段样品包含与块兼容的值。例如,如果你对一个tunablePID块,样品包含一组表示PID控制器的状态空间模型。
samples.t1
samples.t2
tunablePID
介绍了R2016a
sampleBlock|replaceBlock|getValue|一族|genmat|号航空母舰(鲁棒控制工具箱)
sampleBlock
replaceBlock
getValue
您有了这个示例的修改版本。您想用您的编辑打开这个示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:.
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。
联系当地办事处