sdo.sample
生成样本参数进行敏感性分析
描述
生成样本使用指定的参数空间的定义,x
= sdo.sample (ps
)ps
。
如果
ps
是一个sdo.ParameterSpace
对象,然后sdo.sample
返回一个表的样本来自中指定的概率分布ParameterDistributions
,RankCorrelation
,选项
的属性ps
。如果
ps
是一个sdo.GriddedSpace
只包含网格参数,然后sdo.sample
在指定的网格生成样本。如果
ps
是一个sdo.GriddedSpace
包含一个random-parameter子空间sdo.sample
生成一个网格和随机抽样的混合物。
指定要生成的随机抽样数量。x
= sdo.sample (ps
,N
)
如果
ps
是一个sdo.ParameterSpace
对象,然后x
是一个表N
行和Np
列,Np
参数的数量在吗ps
。如果
ps
是一个sdo.GriddedSpace
只包含网格参数,然后sdo.sample
忽略了N
并返回样品整个网格的网格选项中指定ps
。如果
ps
是一个sdo.GriddedSpace
包含一个random-parameter子空间sdo.sample
生成N
为每个样本随机参数,结合网格参数,按网格选项。
例子
生成参数样本
打开模型。
open_system (“sdoHydraulicCylinder”);
从模型中获得的参数。
p = sdo.getParameterFromModel (“sdoHydraulicCylinder”,{“交流”,“K”});
创建一个sdo.ParameterSpace
对象指定样本分布。
ps = sdo.ParameterSpace (p);
生成样本的参数。
x = sdo.sample (ps);
指定数量的样品
打开模型。
open_system (“sdoHydraulicCylinder”);
从模型中获得的参数。
p = sdo.getParameterFromModel (“sdoHydraulicCylinder”,{“交流”,“K”});
创建一个sdo.ParameterSpace
对象指定样本分布。
ps = sdo.ParameterSpace (p);
为参数生成50个样本。
x = sdo.sample (ps, 50);
详尽的采样网格的参数值
自从R2023a
下面的例子使用了sdoCSTR
模型中详细讨论设计探索使用参数抽样(代码)。在这个模型中参数反应堆缸区域一个
和高度h
。假设您想要测试的灵敏度设计目标在一个网格为这些参数的值。首先,打开模型和创建param.Continuous
对象来表示这两个参数。
mdl =“sdoCSTR”;open_system (mdl);p = sdo.getParameterFromModel (mdl, {“一个”,“h”});
为每个参数指定值的网格通过将细胞中的值数组。本例中的网格均匀间隔的,但是您也可以使用非均匀间隔的值。
保兑= {0.2 0.6 1.0 1.4 1.8 2.2};hvals = {0.5 1.5 2.5 3.5};
使用这个网格定义网格参数空间。
gp = sdo.GriddedSpace (p{保兑,hvals});
样本参数空间生成所有组合使用进行敏感性分析。默认情况下,sdo.sample
生成一个详尽的清单的所有可能的组合参数空间,(保兑,hvals)
= (0.2,0.5),(0.6,0.5),(1.0,0.5),…(1.4,3.5),(1.8,3.5),(2.2,3.5)。因此,采样值占24的表行。
值= sdo.sample (gp)
值=24×2表一个h中国画1 0.2 0.5 0.6 0.5 0.5 1.4 0.5 1.8 0.5 2.2 0.5 0.2 1.5 0.6 1.5 - 1 1.5 1.4 1.5 1.8 1.5 2.2 1.5 0.2 2.5 0.6 2.5 1 2.5 1.4 2.5⋮
你可以想象一个视图的采样值分布的样本。
sdo.scatterPlot(值)
使用值
与sdo.evaluate
评估你的设计目标采样参数值。例如,如果您定义了一个成本函数design.m
捕捉你的设计目标,可以使用值
在调用sdo.evaluate
如下。
年,公司]= sdo.evaluate (@design p值);
与网格生成样本和随机参数
自从R2023a
如果你的模型包含一些参数你要样品在一个网格和其他你想画的随机样本,您可以结合网格和随机参数空间。
下面的例子使用了sdoCSTR
模型中详细讨论设计探索使用参数抽样(代码)。打开模型。
mdl =“sdoCSTR”;open_system (mdl);
在这个模型中参数反应堆缸区域一个
、身高h
进料温度和浓度,FeedCon0
和FeedTemp0
。假设您想要探索你的设计约束,这四个参数的敏感性,在网格采样一个
和h
值而画FeedCon0
和FeedTemp0
从随机分布。
首先,定义一个网格参数空间一个
和h
。使用sdo.getParameterFromModel
创建一个数组param.Continuous
对象代表一个
和h
。然后,为网格指定值,并创建参数空间。
pg = sdo.getParameterFromModel (mdl, {“一个”,“h”});保兑= {0.2 0.6 1.0 1.4 1.8};hvals = {0.5 1.5 2.5};是= sdo.GriddedSpace (pg,{保兑,hvals});
接下来,定义一个随机参数空间FeedCon0
和FeedTemp0
。创建一个数组的param.Continous
对象和指定每个参数的概率分布。对于这个示例,分配这两个变量的正态分布的意思是当前模型中参数值和方差的5%的意思。然后,创建参数空间。
公关= sdo.getParameterFromModel (mdl, {“FeedCon0”,“FeedTemp0”});distCon = makedist (“正常”公关(1)value, 0.05 *公关(1)value);distTemp = makedist (“正常”公关(2)value, 0.05 *公关(2)value);rspace = sdo.ParameterSpace (pr);rspace = setDistribution (rspace,“FeedCon0”,distCon);rspace = setDistribution (rspace,“FeedTemp0”,distTemp);
最后,结合两个参数空间合并成一个新的参数空间。
rspace cspace =结合(是)
cspace = GriddedSpace属性:ParameterValues: {{1 x5细胞}{1}x3细胞[1 x1概率。NormalDistribution] [1 x1概率。N或malDistribution]} Notes: [] Spaces: {[1x1 sdo.GriddedSpace] [1x1 sdo.ParameterSpace]} ParameterNames: {'A' 'h' 'FeedCon0' 'FeedTemp0'} Options: [1x1 sdo.GriddingOptions]
由合并后的空间sdo.GriddedSpace
对象。房地产cspace.Spaces
显示,cspace
包含两个子空间,一个网格空间和一个随机参数空间。房地产cspace.ParameterValues
显示,包括有限元网格的空间一个
和H
,随机变量的概率分布FeedCon0
和FeedTemp0
。
您现在可以使用sdo.sample
画组采样值相结合的空间。默认情况下,样品都详尽的网格,意义的所有可能的组合网格值包含在样本集。假设为每个组合,你想样本随机参数的十倍。提供价值sdo.sample
在NumSample
论点。
cspace.Options。方法=“详尽”;NumSample = 10;安勤科技= sdo.sample (cspace NumSample)
安勤科技=150×4表ah FeedCon0 FeedTemp0中国画________ _____ 1 0.2 0.5 10.269 275.09 0.6 0.5 10.269 275.09 0.5 10.269 275.09 1.4 0.5 10.269 275.09 1.8 0.5 10.269 275.09 0.2 1.5 10.269 275.09 0.6 1.5 10.269 275.09 1 1.5 10.269 275.09 1.4 1.5 10.269 275.09 1.8 1.5 10.269 275.09 0.2 2.5 10.269 275.09 0.6 2.5 10.269 275.09 1 2.5 10.269 275.09 1.4 2.5 10.269 275.09 1.8 2.5 10.269 275.09 0.2 0.5 10.917 339.77⋮
在这里,每个15的组合(一个
,h
)值,sdo.sample
分配十随机值(Feedcon0
,FeedTemp0
),导致150套(一个
,h
,FeedCon0
,FeedTemp0
)样品。
你也可以有sdo.sample
只选择一个随机的(FeedCon0
,FeedTemp0
为每个()值一个
,h
)对。为此,设置的采样方法cspace
顺序。请注意,在本例中,您创建的cspace
使用一个网格的空间是只有
有gspace.Options。方法=“详尽”
。因此,当您样品cspace
(一个
,h
)对还详尽。
cspace.Options。方法=“顺序”;svalues = sdo.sample (cspace)
svalues =15×4表ah FeedCon0 FeedTemp0中国画________ _____ 1 0.2 0.5 9.5682 296.27 0.6 0.5 10.039 273 0.5 9.3929 284.05 1.4 0.5 9.4432 279.34 1.8 0.5 9.9966 329.67 0.2 1.5 10.766 285.92 0.6 1.5 9.6152 306.03 1 1.5 10.186 292.16 1.4 1.5 9.8872 308.11 1.8 1.5 10.559 283.72 0.2 2.5 9.4555 274.32 0.6 2.5 10.016 274.02 1 2.5 10.276 302.2 1.4 2.5 10.55 292.38 1.8 2.5 10.772 292.11
使用值
与sdo.evalute
评估你的设计目标在每个采样参数值。例如,如果您定义了一个成本函数设计
,你可以使用值
在调用sdo.evluate
如下。
年,公司]= sdo.evaluate (@design p值);
指定抽样法
打开模型。
open_system (“sdoHydraulicCylinder”);
从模型中获得的参数。
p = sdo.getParameterFromModel (“sdoHydraulicCylinder”,{“交流”,“K”});
创建一个sdo.ParameterSpace
对象指定样本分布。
ps = sdo.ParameterSpace (p);
指定作为拉丁超立方抽样法。
选择= sdo.SampleOptions;opt.Method =“韩”;
生成50个样本参数使用拉丁超立方体抽样。
x = sdo.sample (ps, 50岁的选择);
输入参数
ps
- - - - - -参数空间
sdo.ParameterSpace
对象|sdo.GriddedSpace
样本参数空间,指定为一个sdo.ParameterSpace
(对于随机抽样)或一个对象sdo.GriddedSpace
对象(网格采样或随机的混合物和网格采样)。
N
- - - - - -数量的随机抽样
正整数
随机抽样生成数量、指定为一个正整数。
理想情况下,使用最小的样本数量产生有用的结果,因为每个样品需要一个模型评估。随着参数的数量的增加,样品的数量需要探索设计空间普遍增加。相关和回归分析,考虑使用10 * Np
样品,Np
是采样的数量参数。
N
仅适用于随机采样参数,参数中指定一个sdo.ParameterSpace
对象或一个sdo.ParameterSpace
子空间的组合sdo.GriddedSpace
对象。sdo.sample
忽略了N
参数配置为网格采样,而是返回样品在指定网格值。
例子:One hundred.
选择
- - - - - -抽样方案
sdo.SampleOptions
对象|sdo.GriddingOptions
对象
取样选项,指定为一个sdo.SampleOptions
或sdo.GriddingOptions
对象。
sdo.SampleOptions
——指定图纸样本概率分布的方法在一个定义sdo.ParameterSpace
对象。sdo.GriddingOptions
——指定图纸样本的方法在一个定义的网格的参数值sdo.GriddedSpace
对象。
输出参数
x
——参数样本
表
参数样本,作为一个表返回。
如果
ps
是一个sdo.ParameterSpace
对象,然后x
是一个表N
行和Np
列,Np
参数的数量在吗ps
。每一列对应一个参数,每一行对应一个样本的参数。如果N
省略了,sdo.sample
使用N
= 2 * Np + 1
。如果
ps
是一个sdo.GriddedSpace
只包含网格参数,然后sdo.sample
忽略了N
并返回样品整个网格,在网格中指定的选项ps
。如果
ps
是一个sdo.GriddedSpace
包含一个random-parameter子空间sdo.sample
生成N
为每个样本随机参数,结合网格参数,按网格选项。
版本历史
介绍了R2014aR2023a:样网格参数空间
sdo.sample
现在可以生成网格参数样本的值。定义网格使用sdo.GriddedSpace
。您还可以使用新的结合
命令将一个网格参数空间随机参数空间(sdo.ParameterSpace
)。这样的组合参数空间允许的sdo.sample
画网格的一些参数和其他参数的随机抽样样本。
MATLABコマンド
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してくださ了对いweb这类ブラウザーはMATLABコマンドをサポートしていません。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。