鲁棒性分析模型万博1manbetx
这个例子展示了如何使用仿真软件®块和鲁棒控制工具箱提供的辅助万博1manbetx函数™指定和分析不确定系统模型,以及如何使用这些工具来执行不确定系统的蒙特卡罗模拟。
介绍
仿真软件万博1manbetx模型usim_model
由一个不确定的工厂反馈传感器:
open_system (“usim_model”)
植物是一个一阶模型与两个不确定性的来源:
真正的-10杆之间的位置变化和4
未建模动态的相对不确定性在低频率达25%升至100%的不确定性在130 rad / s。
反馈路径有一个廉价的传感器由一阶滤波器建模20 rad / s和一个不确定的增益介于0.1和2。指定这些不确定变量,类型
%一阶植物模型unc_pole =尿素的(“unc_pole”5,“范围”,-10 [4]);工厂= ss (unc_pole 5 1,1);%工厂未建模动力学input_unc = ultidyn (“input_unc”[1]);,130 wt =补足重量的东西(0.25,2.5);%传感器获得sensor_gain =尿素的(“sensor_gain”,1“范围”(0.1 - 2));
万博1manbetx不确定性建模和分析的仿真软件块
的RCTblocks
库包含块模型和分析模型不确定性的影响。万博1manbetx开放图书馆,类型
打开(“RCTblocks”)
的不确定的状态空间
块允许您指定不确定线性系统(USS对象)。usim_model
包含三个这样的块是用蓝色突出显示。的对话框下面的“植物”块出现。
在这个对话框中,
“不确定的系统变量”参数指定工厂模型(一阶模型的不确定性与不确定性
unc_pole
)。“不确定性的价值”为块参数指定值的不确定的变量(
unc_pole
在这种情况下)。
uval
结构的字段名和值是不确定的变量名和值用于模拟。你可以设置uval
来[]
使用标称值不确定的变量或有所不同uval
分析模型的不确定性是如何影响反应。
的多图图
块是一种方便的方法来可视化响应传播变化的不确定性。这一块导爆仿真结果为每个不确定性的价值。
不确定系统的蒙特卡罗模拟
容易控制不确定性值用于模拟,usim_model
使用相同的“不确定性价值”uval
在所有的三个不确定的状态空间
块。设置uval
来[]
模拟闭环响应的标称值unc_pole
,input_unc
,sensor_gain
:
uval = [];%使用名义价值不确定的变量sim卡(“usim_model”10);%模拟响应
分析的不确定性如何影响反应的模型,您可以使用ufind
和usample
命令生成的随机值unc_pole
,input_unc
,sensor_gain
。第一次使用ufind
找到不确定的状态空间
块usim_model
和编译这些块中所有不确定变量的列表:
[uvars, pathinfo] = ufind (“usim_model”);uvars%不确定变量
uvars =结构体字段:input_unc: [1 x1 ultidyn] sensor_gain: [1 x1尿素的]unc_pole: [1 x1尿素的]
pathinfo (: 1)%号块路径
ans = 3 x1单元阵列{usim_model /工厂的}{usim_model /传感器获得的}{usim_model /工厂未建模动态的}
然后使用usample
产生不确定性值uval
与指定的不确定性范围一致。例如,您可以模拟的闭环响应10随机值unc_pole
,input_unc
,sensor_gain
如下:
为我= 1:10;uval = usample (uvars);%生成随机不确定变量的实例sim卡(“usim_model”10);%模拟响应结束
的多图图
现在窗口显示了10个可能的反应的不确定的反馈回路。注意,每个uval
实例是一个结构,它包含不确定变量的值input_unc
,sensor_gain
,unc_pole
:
uval%不确定变量的样本值
uval =结构体字段:input_unc: [1 x1党卫军]sensor_gain: 0.5893 unc_pole: -4.9557
随机模拟
如果需要,你可以使用不同的配置模型不确定性的价值uval
为每个新模拟。为此,添加uvars
工作区并附上基地或模型usample
调用模型InitFcn:
bdclose (“usim_model”),open_system (“usim_model”)%写基工作区中的不确定的变量列表evalin (“基地”,' uvars = ufind (“usim_model”);“)% InitFcn修改模型set_param (“usim_model”,“InitFcn”,' uval = usample (uvars);“);%模拟十倍(同于“开始模拟”十倍)为我= 1:10;sim卡(“usim_model”10);结束%清理set_param (“usim_model”,“InitFcn”,”);
再次多图图
窗口显示了10个可能的反应的不确定的反馈回路。
不确定模型的线性化模型万博1manbetx
如果你有仿真软件控制设计万博1manbetx™,您可以使用相同的工作流来线性化和分析不确定系统在频域。例如,您可以绘制闭环预示反应10模型不确定性的随机抽样:
清晰的syswmax = 50;%马克斯对未建模动态固有频率(input_unc)为我= 1:10;uval = usample (uvars 1 wmax);sys (:,:, i) =线性化(“usim_model”);结束波德(sys)标题(“usim \ _model十线性化”);
如果操作点是独立的不确定变量,更快的方法是计算一个不确定的线性化(USS对象)一次性使用ulinearize
命令:
忙= ulinearize (“usim_model”)
不确定连续系统的状态空间模型1输出,输入3。模型不确定性包含以下模块:input_unc:不确定1 x1 LTI,峰值增益= 1,1事件sensor_gain:不确定真实,名义= 1,范围=[0.1,2],1事件unc_pole:不确定真实,名义= 5,范围=[4]-10年,1事件类型”忙。NominalValue”的名义价值和“忙。不确定性”与不确定的交互元素。
然后您可以样本状态空间模型的不确定性忙
生成一个类似的波德图:
波德(usample(忙10 wmax))标题(“usim \ _model十线性化”);