# ControlTheory
**Repository Path**: codecolawong/control-theory
## Basic Information
- **Project Name**: ControlTheory
- **Description**: 一起学习自动控制原理
- **Primary Language**: M
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 6
- **Created**: 2024-07-12
- **Last Updated**: 2024-11-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ControlTheory
#### 目录结构
#### 简介
资料仅供大家学习交流,根据情况按照目录顺序学习,部分资料内容参考B站DR_CAN、刘铁猛、丑萌气质狗等UP主,请大家多多支持他们的正版书籍。
1. 自动控制原理,跟随学习视频、课件代码,学习基础的自动控制原理,掌握基础的Matlab与Simulink能力,这部分是学习的关键。
2. 差分进化算法遗传辨识,内容根据基础选学,跟随内容1视频和资料大概理解一阶、二阶系统即可,这部分是系统辨识的一种方法。
3. 一阶二阶传递函数离散化推导,由内容2建立的一阶、二阶系统需要通过离散化,才能部署到程序中,这部分是双线性变换法离散化的推导。
4. 最小二乘法曲线拟合,实际应用中,参数需要拟合函数,这部分是最小二乘法曲线拟合的推导。
5. 史密斯预估器与Matlab自动生成代码,这部分学习史密斯预估器,以及通过Matlab仿真自动生成c/c++代码部署到嵌入式系统。
6. 利用Matlab实现嵌入式控制算法验证。
7. C#与上位机学习资料。
8. 通过强化学习实现参数自整定,还未整理完。
9. 常用C代码片段,持续更新。
10. 参考学习内容与其他:
[自动控制原理参考学习视频:B站DR_CAN](https://space.bilibili.com/230105574/channel/series)
[C#学习参考视频:B站刘铁猛](https://www.bilibili.com/video/BV13b411b7Ht/?spm_id_from=333.999.top_right_bar_window_custom_collection.content.click&vd_source=998b3e48a9bcc376136c9ca73244d926)
[WPF入门参考视频:B站丑萌气质狗](https://space.bilibili.com/90189489)
[深入浅出WPF参考视频:B站刘铁猛](https://www.bilibili.com/video/BV1ht411e7Fe/?spm_id_from=333.999.top_right_bar_window_custom_collection.content.click&vd_source=998b3e48a9bcc376136c9ca73244d926)
[编程软件Visual Studio Code](https://www.bilibili.com/video/BV1kR4y1M7R8/?buvid=Z64692696367E51147DAB40C486152282E05&from_spmid=united.player-video-detail.relatedvideo.0&is_story_h5=false&mid=KBfifCoqe98sJPhdifPyqA%3D%3D&p=1&plat_id=114&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=616AB659-9F8E-44A4-AA7C-85B2B359E6E6&share_source=WEIXIN&share_tag=s_i×tamp=1721014633&unique_k=kXPdASF&up_id=350404010&vd_source=998b3e48a9bcc376136c9ca73244d926)
[VScode主题、注释等插件推荐](https://www.bilibili.com/video/BV1Hd4y1o7CN/?spm_id_from=333.788.recommend_more_video.0&vd_source=998b3e48a9bcc376136c9ca73244d926)
[VSCode 开发C/C++实用插件分享——koroFileHeader](https://blog.csdn.net/mucherry/article/details/134754656?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-2-134754656-blog-128804029.235^v43^pc_blog_bottom_relevance_base1&spm=1001.2101.3001.4242.2&utm_relevant_index=5)
[VScode+Git版本管理](https://www.bilibili.com/video/BV1ua41167Ma?p=1&vd_source=998b3e48a9bcc376136c9ca73244d926)
[集成开发环境Visual Studio 2019](https://www.bilibili.com/video/BV17p4y1h7yR/?buvid=Z64692696367E51147DAB40C486152282E05&from_spmid=search.search-result.0.0&is_story_h5=false&mid=KBfifCoqe98sJPhdifPyqA%3D%3D&p=1&plat_id=114&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=FC889D29-3ABF-46C6-B34B-799EE01A7FE7&share_source=WEIXIN&share_tag=s_i×tamp=1721014792&unique_k=H3nKWZM&up_id=456828781&vd_source=998b3e48a9bcc376136c9ca73244d926)
[代码阅读神器Source Insight 4.0](https://www.bilibili.com/video/BV1hM4y1R7xk/?spm_id_from=333.337.search-card.all.click&vd_source=998b3e48a9bcc376136c9ca73244d926)
#### 1.自动控制原理
自动控制原理
[自动控制原理](自动控制原理)
$\qquad$[控制之美(卷1)——控制理论从传递函数到状态空间-王天威-2023(1).pdf](自动控制原理/控制之美(卷1)_控制理论从传递函数到状态空间-王天威.pdf)
$\qquad$[控制之美勘误表](自动控制原理/控制之美_勘误表_20230126最新.pdf)
$\qquad$[02卷积的应用 代码.m等3个文件](自动控制原理/02卷积的应用_代码.m等3个文件)
$\qquad$[03传递函数系统建模 代码.db等2个文件](自动控制原理/03传递函数系统建模_代码.db等2个文件)
$\qquad$[04状态空间方程系统建模 代码.db等2个文件](自动控制原理/04状态空间方程系统建模_代码.db等2个文件)
$\qquad$[05一阶系统的时域响应 代码](自动控制原理/05一阶系统的时域响应_代码)
$\qquad$[06二阶系统的时域响应 代码.m等2个文件](自动控制原理/06二阶系统的时域响应_代码.m等2个文件)
$\qquad$[07 比例积分控制 – 系统建模 代码](自动控制原理/07比例积分控制_系统建模_代码)
$\qquad$[08比例积分控制 – PI控制器 代码](自动控制原理/08比例积分控制_PI控制器_代码)
$\qquad$[09比例积分控制 – PI控制器应用 代码](自动控制原理/09比例积分控制_PI控制器应用_代码)
$\qquad$[10根轨迹 代码](自动控制原理/10根轨迹_代码)
$\qquad$[11超前补偿器 代码.m等2个文件](自动控制原理/11超前补偿器_代码.m等2个文件)
$\qquad$[12滞后补偿器 代码](自动控制原理/12滞后补偿器_代码)
$\qquad$[13伯德图 代码.m等2个文件](自动控制原理/13伯德图_代码.m等2个文件)
$\qquad$[14线性状态反馈控制器 – 系统建模 代码.m等2个文件](自动控制原理/14线性状态反馈控制器_系统建模_代码.m等2个文件)
$\qquad$[15线性状态反馈控制器 – 可控性 代码](自动控制原理/15线性状态反馈控制器_可控性_代码)
$\qquad$[16线性状态反馈控制器 – 极点配置 代码](自动控制原理/16线性状态反馈控制器_极点配置_代码)
$\qquad$[17线性状态反馈控制器 – LQR 代码](自动控制原理/17线性状态反馈控制器_LQR_代码)
$\qquad$[18线性状态反馈控制器 – 轨迹追踪 代码.m等2个文件](自动控制原理/18线性状态反馈控制器_轨迹追踪_代码.m等2个文件)
$\qquad$[19线性观测器 代码.m等2个文件](自动控制原理/19线性观测器_代码.m等2个文件)
|-[控制之美课件PPT 完整版](自动控制原理/控制之美课件PPT_完整版)
$\qquad$|-[控制之美课件](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/)
$\qquad$ $\qquad$[第1章_绪论.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第1章_绪论.pptx)
$\qquad$ $\qquad$[第2章_动态系统建模-_传递函数.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第2章_动态系统建模_传递函数.pptx)
$\qquad$ $\qquad$[第3章_动态系统建模-_状态空间方程.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第3章_动态系统建模_状态空间方程.pptx)
$\qquad$ $\qquad$[第4章_一阶系统的时域响应分析.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第4章_一阶系统的时域响应分析.pptx)
$\qquad$ $\qquad$[第5章_二阶系统的时域响应分析.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第5章_二阶系统的时域响应分析.pptx)
$\qquad$ $\qquad$[第6章_稳定性.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第6章_稳定性.pptx)
$\qquad$ $\qquad$[第7章 基于传递函数的控制器设计(1) - 比例积分控制.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第7章_基于传递函数的控制器设计_%20比例积分控制.pptx)
$\qquad$ $\qquad$[第8章 基于传递函数的控制器设计(2)- 根轨迹法.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第8章_基于传递函数的控制器设计_根轨迹法.pptx)
$\qquad$ $\qquad$[第9章 频率响应与分析.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第9章_频率响应与分析.pptx)
$\qquad$ $\qquad$[第10章 基于状态空间方程的控制器及观测器的设计与应用.pptx](自动控制原理/控制之美课件PPT_完整版/控制之美课件PPT_完整版_1025/第10章_基于状态空间方程的控制器及观测器的设计与应用.pptx)
#### 2.差分进化算法遗传辨识
差分进化算法遗传辨识
[差分进化算法遗传辨识](差分进化算法遗传辨识)
概要:利用差分进化算法寻找系统辨识最优解。
#### 3.一阶二阶传递函数离散化推导
一阶二阶传递函数离散化推导
[一阶二阶传递函数离散化推导](一阶二阶传递函数离散化推导)
概要:一阶系统和二阶系统的双线性变化推导过程整理成了matlab脚本文件,方便复习和学习查看。
#### 4.最小二乘法曲线拟合
最小二乘法曲线拟合
[最小二乘法曲线拟合](最小二乘法曲线拟合)
概要:最小二乘法曲线拟合,基本原理就是线性代数里面的克拉默法则,Fit.mlx是Matlab脚本文件,包括公式的推导和示例验证,备注都很详细。FitVerify.m是拟合点和拟合曲线的验证对比,代码是Chatgpt写的,我改了改,推荐大家可以把需求丢给它开始学习。
#### 5.史密斯预估器与Matlab自动生成代码
史密斯预估器与Matlab自动生成代码
[史密斯预估器与Matlab自动生成代码](史密斯预估器与Matlab自动生成代码)
[Matlab Code Generation with Embedded Coder — Simulink模型生成c/cpp代码](https://blog.csdn.net/m0_56410289/article/details/132850154?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-132850154-blog-112508107.235%5Ev43%5Epc_blog_bottom_relevance_base1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-132850154-blog-112508107.235%5Ev43%5Epc_blog_bottom_relevance_base1&utm_relevant_index=2)
[simulink生成c语言代码](https://blog.csdn.net/weixin_39731456/article/details/112508107)
概要:史密斯预估器与Matlab自动生成代码,还未完全整理完。
#### 6.利用Matlab实现嵌入式控制算法验证
利用Matlab实现嵌入式控制算法验证
[利用Matlab实现嵌入式控制算法验证](./利用Matlab实现嵌入式控制算法验证/利用Matlab实现嵌入式控制算法验证.md)
概要:利用Matlab实现嵌入式控制算法验证。
#### 7.C#与上位机学习
C#与上位机学习
[C#与上位机学习](上位机学习)
概要:掌握基础的C#和WPF的前端XAML语句即可,从项目入手效率更高。
#### 8.强化学习实现参数自整定
强化学习实现参数自整定
[强化学习实现参数自整定](./强化学习实现参数自整定/强化学习实现参数自整定.md)
概要:强化学习实现参数自整定,还未整理完
#### 9.常用C代码片段
常用C代码片段
[常用C代码片段](./常用C代码片段/C语言工具代码.md)
概要:记录常用的C代码片段,持续更新