现代控制理论习题解答与Matlab程序示例

大部分现代控制理论习题都可以通过计算机辅助解决,如Matlab或Octave Online。

2019更新版课程要求和Matlab简明教程:

https://blog.csdn.net/ZhangRelay/article/details/88654172

现代控制理论 第三版 课后习题参考解答:

http://download.csdn.net/detail/zhangrelay/9544934

掌握这本习题集,满分妥妥的。

下面给出部分书后习题的Matlab方法求解:

第一章 状态空间表达式

1 传递函数转为状态空间表达式和约旦标准型

num=[10,-10];
den=[1,4,3,0];
w=tf(num,den);
se=ss(w)
[T,J]=jordan(A)

对应习题1-6

2 状态空间表达式转为传递函数

A=[0,1,0;-2,-3,0;-1,1,-3];
B=[0;1;2];
C=[0,0,1];
D=0;
se=ss(A,B,C,D);
w=tf(se)

对应习题1-7

第二章 状态空间表达式的解

A=[0,1;0,0];
B=[0;1];
C=[1,0];
D=0;
se=ss(A,B,C,D);
[y,t,x]=step(se);
figure(1);
plot(t,x);
figure(2);
plot(t,y);

对应习题2-6

第三章 能控性和能观性

1 能控性和能观性判定

A=[-3,1;1,-3];
B=[1,1;1,1];
C=[1,1;1,-1];
M=[B,A*B];
N=[C;C*A];
n=length(A);
rank(M)
if rank(M)==ndisp('系统可控')
elsedisp('系统不可控')
end
rank(N)
if rank(N)==ndisp('系统可观')
elsedisp('系统不可观')
end
[T,J]=jordan(A);
T'*B
C*T

对应习题3-2

2 能控标准型

A=[1 -2;3 4];
B=[1;1];
C=[0 0];
D=0;
G=ss(A,B,C,D);
M=[B,A*B];
n=length(A);
rank(M)
if rank(M)==ndisp('系统可控')
elsedisp('系统不可控')
end
Qc=ctrb(A,B);
Cm=[0 1]*inv(Qc);
Cm2=inv([Cm;Cm*A]);
sysc=ss2ss(G,inv(Cm2))

对应习题3-7

3 能观标准型

A=[1,-1;1,1];
B=[2;1];
C=[-1 1];
D=0;
G=ss(A,B,C,D);
M=[B,A*B];
N=[C;C*A];
n=length(A);
rank(M)
if rank(M)==ndisp('系统可控')
elsedisp('系统不可控')
end
rank(N)
if rank(N)==ndisp('系统可观')
elsedisp('系统不可观')
end
Qc=ctrb(A,B);
Cm=[0 1]*inv(Qc);
Cm2=inv([Cm;Cm*A]);
sysc=ss2ss(G,inv(Cm2))
Qo=obsv(A,C);
Om=inv(Qo)*[0;1];
Om2=[Om A*Om];
syso=ss2ss(G,inv(Om2))

对应习题3-8

4 传递函数转能控或能观标准型

num=[1,6,8];
den=[1,4,3];
[A,B,C,D]=tf2ss(num,den);
G=ss(A,B,C,D);
M=[B,A*B];
N=[C;C*A];
n=length(A);
rank(M)
if rank(M)==ndisp('系统可控')
elsedisp('系统不可控')
end
rank(N)
if rank(N)==ndisp('系统可观')
elsedisp('系统不可观')
end
Qc=ctrb(A,B);
Cm=[0 1]*inv(Qc);
Cm2=inv([Cm;Cm*A]);
sysc=ss2ss(G,inv(Cm2))
Qo=obsv(A,C);
Om=inv(Qo)*[0;1];
Om2=[Om A*Om];
syso=ss2ss(G,inv(Om2))

对应习题3-9

第四章 李雅普诺夫方法和稳定性

1 李雅普诺夫定理第一方法

A=[-3 -6 -2 -1;1 0 0 0;0 1 0 0;0 0 1 0];
B=[1;0;0;0];
C=[0 0 1 1];
D=[0];
flag=0;
[z,p,k]=ss2zp(A,B,C,D,1);
disp('系统零点,极点和增益为:');
z
p
k
n=length(A);
for i=1:nif real(p(i))>0flag=1;end
end
if flag==1disp('系统不稳定');
elsedisp('系统稳定');
end

通过极点判定系统是否稳定

2 李雅普诺夫定理第二方法

A=[-3 -6 -2 -1;1 0 0 0;0 1 0 0;0 0 1 0];
Q=eye(4,4);
P=lyap(A,Q);
flag=0;
n=length(A);
for i=1:ndet(P(1:i,1:i))if(det(P(1:i,1:i))<=0)flag=1;end
end
if flag==1disp('系统不稳定');
elsedisp('系统稳定');
end
 

通过P是否正定判定系统是否稳定。

第五章 线性系统综合

1 极点配置

A=[0 1 0;0 0 1;0 -2 -3];
B=[0;0;1];
P=[-2 -1+1i -1-1i];
M=[B,A*B,A*A*B];
n=length(A);
rank(M)
if rank(M)==ndisp('系统可控')disp('状态反馈')K=acker(A,B,P)
elsedisp('系统不可控')[Ac,Bc,Cc,T,K]=ctrbf(A,B,C)
end
Ac=A-B*K
disp('配置后极点')
eig(Ac)

对应例题5-2

num=[1 1 -2];
den=[1 2 -5 -6];
[A,B,C,D]=tf2ss(num,den)
P=[-2 -2 -3];
M=[B,A*B,A*A*B];
n=length(A);
rank(M)
if rank(M)==ndisp('系统可控')disp('状态反馈')K=acker(A,B,P)
elsedisp('系统不可控')[Ac,Bc,Cc,T,K]=ctrbf(A,B,C)
end
Ac=A-B*K
disp('配置后极点')
eig(Ac)

对应习题5-4

现代控制理论习题解答与Matlab程序示例相关推荐

  1. [有限元] DistMesh Matlab 程序示例

    1.同心圆 fd = @(p) ddiff(dcircle(p,0,0,1),dcircle(p,0,0,0.4)); fh1 = @(p) sqrt(p(:,1).^2+p(:,2).^2)-0.3 ...

  2. python编程从入门到实战的16堂课_好评如潮,百万Python程序员的「案头必备书」,终于出配套习题解答了!...

    原标题:好评如潮,百万Python程序员的「案头必备书」,终于出配套习题解答了! 据SlashData统计,截止到2020年3月世界上超过840万使用Python编写代码的开发人员.机器学习的兴起是P ...

  3. matlab实现盖尔圆,[理学]数值分析习题解答.doc

    [理学]数值分析习题解答 6.(1)设,试求 (2)设,试求 解 : 4.设, (1)试对进行PLU分解:: (2)根据PLU分解求解. 解 (1) (2) 8.分别用Householder变换法和M ...

  4. java程序设计基础(第3版)实验指导_清华大学出版社-图书详情-《Java程序设计基础(第5版)实验指导与习题解答》...

    本书是清华大学出版社出版的<Java程序设计基础(第5版)>的配套用书.全书共分为两部分,第一部分是上机实验指导,第二部分是主教材<Java程序设计基础(第5版)>中的习题解答 ...

  5. 一段c语言的自加程序输出xyz,c语言程序设计基础教程_习题解答2012.doc

    c语言程序设计基础教程_习题解答2012 C语言程序设计基础教程_习题答案2012 习题答案 第1章 填空题 应用程序ONEFUNCC中只有一个函数这个函数的名称是__main 一个函数由__函数头_ ...

  6. 《计算机控制理论与应用》MATLAB示例

    目录 MATLAB Mobile的安装与使用 Chapter 2 基本函数 S变换与Z变换 差分方程求解(WolframAlpha) 由Z传递函数求离散状态方程 连续状态方程的离散化 由离散系统状态空 ...

  7. java程序语言设计第三章答案_java语言程序设计课后习题解答张思民第三章

    java语言程序设计课后习题解答张思民第三章 1 第3章 面向对象程序设计基础 [1]什么是 Java 程序使用的类?什么是类库? [解答]:Java 程序的基本单位是类.对象是对事物的抽象,而类是对 ...

  8. java程序设计实验指导与习题解答_清华大学出版社-图书详情-《Java程序设计基础(第6版)实验指导与习题解答》...

    前言 本书是清华大学出版社出版的<Java程序设计基础(第6版)>一书的配套用书.全书共分为两部分: 第一部分是实验指导: 第二部分是主教材<Java程序设计基础(第6版)>的 ...

  9. 程序设计基础c语言答案虞歌,程序设计基础——以C为例 虞歌 习题解答.pdf

    程序设计基础--以C为例 虞歌 习题解答 习题1 1.编辑.编译和运行C 程序需要什么条件? 答: 计算机.操作系统.C 编译器.为了提高程序开发效率,通常会使用集成开发环境IDE . 在集成开发环境 ...

最新文章

  1. Django 生成数据库表时的报错TypeError: __init__() missing 1 required positional argument: 'on_delete'...
  2. SQLPLUS命令的使用大全
  3. 【渝粤题库】陕西师范大学200991教育统计学作业(高起本)
  4. NHibernate自定义集合类型(上):基本实现方式
  5. Python二级笔记(17)
  6. MySQL入门之触发器
  7. MATLAB程序详细解析,遗传算法——matlab代码解析
  8. 切换计算机用户指,切换用户提示计算机锁定
  9. 国外巨头鏖战的新领域——语音识别
  10. mysql关联查询关键字_MySQL数据高级查询之连接查询、联合查询、子查询
  11. vmplayer虚拟机中如何找到网络配置的窗口
  12. JTAG与SWD接口定义
  13. nmap扫描之端口“filtered“被过滤的分析
  14. 计算机应用基础——计算机软件(二)
  15. 英伟达辟谣 RTX 3060 被破解传闻
  16. 05 _ 经验总结:如何给你的代码起好名字?
  17. Web前端面试题整合,持续更新【可以收藏】
  18. 开源BI平台软件特性对比
  19. yun mysql 安装_yun安装mysql
  20. 【豆瓣】爬取评论(影评、书评)

热门文章

  1. 移动架构学习笔记八:化主动为被动的观察者模式
  2. 网站服务器p2p更新需要多久,《彩虹六号》更新计划 将升级服务器并移除P2P功能...
  3. Orchard core 模块的文件夹介绍
  4. PUAM560机械臂逆运动学实例-梳理
  5. 联网gazebo卡这不动,断网显示错误:unable to find uri
  6. 普乐蛙部队vr训练设备军事训练vr体验馆设备元宇宙VR
  7. 视频播放器,基于videojs,NVR
  8. 买新机去OPPO官网还是线下实体店?一文带你了解其中区别
  9. java wifidog_wifidog认证服务器家用环境下部署(java版)
  10. ▩Dart-杂谈函数及类