matlab极点配置已知超调量,利用MATLAB 实现极点配置、设计状态观测器(现代控制).doc...

本文主要是介绍matlab极点配置已知超调量,利用MATLAB 实现极点配置、设计状态观测器(现代控制).doc...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

您所在位置:网站首页 > 海量文档

&nbsp>&nbsp计算机&nbsp>&nbspmatlab

7e3e25dd1884ce9b7725a69a698d5758.gif

利用MATLAB 实现极点配置、设计状态观测器(现代控制).doc14页

本文档一共被下载:2377011b61454b208b34ad77b4c31088.gif次,您可全文免费在线阅读后下载本文档。

072ad097814a33d1ad18e33ca14a5a9e.png

9ec2792a743ebdf4575ee09a03c275ea.png

7af312d1be2cfc1e59f15880bb7a7e7a.png

5f207613e329ca76dc87c76d3ff77e64.png

adf7aa3071c520b8a2063089f549261c.png

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者。

3.登录后可充值,立即自动返金币,充值渠道很便利

实 验 报 告

实验名称 利用MATLAB 实现极点配置、设计状态观测器

系专业自动化班姓名学号授课老师预定时间实验时间实验台号

一、目的要求

1、掌握状态反馈和输出反馈的概念及性质。

2、掌握利用状态反馈进行极点配置的方法。学会用MATLAB 求解状态反馈矩阵。

3、掌握状态观测器的设计方法。学会用MATLAB 设计状态观测器。

4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。

原理简述

状态反馈和输出反馈

设线性定常系统的状态空间表达式为

如果采用状态反馈控制规律u= r-Kx,其中 r是参考输入,则状态反馈闭环系统的传递函数为:

2、极点配置

如果 SISO 线性定常系统完全能控,则可通过适当的状态反馈, 将闭环系统极点配置到任意期望的位置。

MATLAB 提供的函数acker( )是用Ackermann 公式求解状态反馈阵K。该函数的调用格

式为

K=acker(A,B,P)

其中A 和B 分别为系统矩阵和输入矩阵。P 是期望极点构成的向量。

MATLAB 提供的函数place( )也可求出状态反馈阵K。该函数的调用格式为

K=place(A,B,P)

函数place( )还适用于多变量系统极点配置,但不适用含有多重期望极点的问题。函数acker( )不适用于多变量系统极点配置问题,但适用于含有多重期望极点问题。

三、仪器设备

PC 计算机,MATLAB 软件

内容步骤、数据处理

题5-1 某系统状态方程如下

理想闭环系统的极点为,试

(1)采用直接计算法进行闭环系统极点配置;

(2)采用Ackermann公式计算法进行闭环系统极点配置;

(3)采用调用place函数法进行闭环系统极点配置。

>> A=[0 1 0;0 0 1;-4 -3 -2];

B=[1;3;6];

C=[1 0 0];

D=0;

G=ss(A,B,C,D);

[Q,D]=eig(A)

结果:

Q =

0.2995 0.3197 - 0.0731i 0.3197 + 0.0731i

-0.4944 0.0573 + 0.5074i 0.0573 - 0.5074i

0.8160 -0.7948 -0.7948

D =

-1.6506 0 0

0 -0.1747 + 1.5469i 0

0 0 -0.1747 - 1.5469i

则矩阵A的特征根为:-1.6506,-0.1747 + 1.5469i,-0.1747 - 1.5469i

程序:

>> A=[0 1 0;0 0 1;-4 -3 -2];

B=[1;3; -6];

C=[1 0 0];

D=0;

p=[-1 -2 -3];

k=acker(A,B,p)

结果:k =1.4809 0.7481 -0.0458

验证:

>> A=[0 1 0;0 0 1;-4 -3 -2];

B=[1;3;6];

C=[1 0 0];

D=0;

k=[0.5053 0.7052 0.2299];

A1=A-B*k;

sys=ss(A1,B,C,D);

G1=zpk(sys)

结果:Zero/pole/gain:

(s^2 + 5s + 15)

-------------------------

(s+1) (s+1.999) (s+3.001)

则其极点为-1 ,-2 ,-3

(2)

程序:

>> A=[0 1 0;0 0 1;-4 -3 -2];

B=[1;3; -6];

C=[1 0 0];

D=0;

p=[-1 -2 -3];

k=place(A,B,p)

结果:k = 1.4809 0.7481 -0.0458

验证:

程序:

>> A=[0 1 0;0 0 1;-4 -3 -2];

B=[1;3; -6];

C=[1 0 0];

D=0;

p=[-1 -2 -3];

k=place(A,B,p);

A1=A-B*k;

sys=ss(A1,B,C,D);

G1=zpk(sys)

结果:

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名:

验证码:

c9f2bced460b0329ba0aadbbc3f0fc71.png

匿名?

发表评论

这篇关于matlab极点配置已知超调量,利用MATLAB 实现极点配置、设计状态观测器(现代控制).doc...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/394383

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame