鲁棒控制--simulink不确定模型仿真

simulink仿真不确定性模型,主要学习第二个程序。在这里插入图片描述

mdl = "rctUncertainModel";
open_system(mdl)
m = 3;
c = ureal('c',1,'Percentage',20);
k = ureal('k',2,'Percentage',30);
usys = tf(1,[m c k])
ublk = strcat(mdl,"/Uncertain State Space"); % 水平串联字符串
set_param(ublk,"USystem","usys"); % 为mdl 设置不确定系统
sim(mdl); % 标称模型阶跃响应
%
samps = struct('c',1.2,'k',1.7); % 某个不确定参数
set_param(ublk,"UValue","samps"); % 设置不确定参数
sim(mdl);
%
uvars = ufind(mdl); % 不确定参数结构体
set_param(ublk,"UValue","usample(uvars)"); % 设置不确定参数随机采样
sim(mdl);
for i=1:5 % 随机绘制不确定参数的响应
    sim(mdl);
end

hinf_1_30_2.m

mdl = "rctMultiUncertainModel";
open_system(mdl)
input_unc = ultidyn('input_unc',[1 1]);
wt = makeweight(0.25,130,2.5);
unc_sys = ss(ureal('a',-1,'Range',[-2 -.5]),1,5,0);
vals = []; % 默认标称模型
sim(mdl);
% 随机不确定值运行
uvars = ufind(mdl)
vals = usample(uvars)
sim(mdl)
for i=1:5
    vals = usample(uvars);
    sim(mdl);
end

参数先设置好:
在这里插入图片描述
在这里插入图片描述

hinf_1_31_2.m
https://ww2.mathworks.cn/help/robust/ug/vary-uncertainty-values-across-multiple-uncertain-state-space-blocks.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值