MATLAB 控制系统设计与仿真 - 36
鲁棒工具箱定义了个新的对象类ureal,可以定义在某个区间内可变的变量。
函数的调用格式为:
p = ureal(name,nominalvalue) % name为变量名,nominalValue为标称值,默认变化值为+/-1
p = ureal(name,nominalvalue,'PlusMinus',plusminus)
p = ureal(name,nominalvalue,'Range',range)
p = ureal(name,nominalvalue,'Percentage',percentage)
eg:
p=ureal('p',p0,'Range',[pm,pM]); % 区间变量p∈[pm pM]
有了这样的不确定变量,则可有tf或ss函数建立起不确定系统的传递函数或状态方程模型。还可以利用G1=usample(G,N)函数从不确定系统G中随机选择N个样本赋给G1.此外还可以将bode函数,step函数等同样用于不确定系统分析。
例如:
已知典型二阶开环传递函数
请构造不确定系统模型,并绘制出样本系统的开环Bode图和闭环阶跃响应曲线。
MATLAB代码为:
clear all;clc;
z=ureal('z',0.7,'Range',[0.2,0.9]);
wn=ureal('wn',5,'Range',[2,10]);
G=tf(wn^2,[1,2*z*wn,0]);
Gu=usample(G,10);
figure(1)
bode(Gu);
grid on
figure(2)
step(feedback(Gu,1));
grid on;
程序运行结果为:
最后,欢迎大家有问题给我留言。
非常感谢小伙伴们的-点赞-收藏-加关注。