当前位置: 首页 > news >正文

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函数等同样用于不确定系统分析。

例如:

已知典型二阶开环传递函数

G(s)=\frac{w_n^2}{s(s+2\zeta w_n)},\zeta_0=0.7,\zeta \in (0.2,0.9),w_0=5,w_n \in (2,10)

请构造不确定系统模型,并绘制出样本系统的开环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;

程序运行结果为:

最后,欢迎大家有问题给我留言。

非常感谢小伙伴们的-点赞-收藏-加关注。


http://www.mrgr.cn/news/98968.html

相关文章:

  • 论文阅读:2023 ICLR Safe RLHF: Safe Reinforcement Learning from Human Feedback
  • C++智能指针的知识!
  • 阿里云服务器搭建开源版禅道
  • Web三漏洞学习(其三:rce漏洞)
  • java线程池原理及使用和处理流程
  • 算法-链表
  • 基于autoware1.14的实车部署激光雷达循迹,从建图、定位、录制轨迹巡航点、到实车运行。
  • Anconda环境下修改Jupyter notebook的启动路径(Windows)
  • 原型模式详解及在自动驾驶场景代码示例(c++代码实现)
  • Function Calling的时序图(含示例)
  • Windows 11设置开机自动运行 .jar 文件
  • 前端服务器部署报错记录
  • 从 Transformer 到文本生成 (From Transformer to Text Generation)
  • 3、排序算法1---按考研大纲做的
  • Model Context Protocol (MCP) 开放协议对医疗多模态数据整合的分析路径【附代码】
  • 【失败】Gnome将默认终端设置为 Kitty
  • 【从零实现高并发内存池】申请、释放内存过程联调测试 与 大于256KB内存申请全攻略
  • 2D物体检测学习
  • C++ `shared_ptr` 多线程使用
  • 深入理解C++中string的深浅拷贝