Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sakura-cat/water-tank
基于Matlab的单水箱液位的模糊控制系统设计
https://github.com/sakura-cat/water-tank
fuzzy-control matlab x-du
Last synced: 25 days ago
JSON representation
基于Matlab的单水箱液位的模糊控制系统设计
- Host: GitHub
- URL: https://github.com/sakura-cat/water-tank
- Owner: SAKURA-CAT
- License: apache-2.0
- Created: 2024-04-20T07:15:03.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-05-29T07:58:04.000Z (5 months ago)
- Last Synced: 2024-05-29T20:36:25.031Z (5 months ago)
- Topics: fuzzy-control, matlab, x-du
- Language: MATLAB
- Homepage:
- Size: 989 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# water-tank: 单水箱液位模糊控制系统设计
《基于Matlab的单水箱液位的模糊控制系统设计》是本人的一次课堂作业,由于网上的资源不是很多,所以这边分享一个我对我们的"祖传代码"稍加修改的版本。
## 1. 情景说明
![scenario](./static/scenario.png)
如上图所示,有一个倒锥形容器盛放水,有一个出水口`V_2`,一个入水口`V_1`,现在可以通过测量装置得到当前容器中的水位`h`,现在需要设计一个模糊控制系统,使得水位`h`能够稳定在某个目标值。
因此有如下关系:
* 控制目标:倒锥形容器的液位高度h=h0
* 检测装置:通过测量容器底部压力来间接测量液位
* 执行机构:控制进水电磁阀V1的开启度([0,90°])。
* 为简单起见,假设电磁阀V1的开启度与进水量间呈线性关系(即上水箱的液位恒定)。
* 注意:受控对象是倒锥形容器,其液位高度h和进水量Q间的关系不是线性关系。电磁阀V2的开度固定,但出水量与倒锥形容器的液位高度成正比。## 2. 仓库说明
> 本仓库只供学习使用,并且因为本人也比较🥦,所以有不妥之处欢迎指正~
一般情况下,如果要“抄作业”,应该先跑代码(校验一下可行性,一般情况下应该跑得通),然后再看笔者与小组成员上交的文档,这样可以更好地理解。
### 2.1 文档说明
为了观看体验和上传的方便,我将代码和文档分开了,文档在`./docs`文件夹下,代码在`./src`文件夹下。并且为了观看格式的统一,我将文档转为了PDF格式。
### 2.2 代码说明
由于文档中对模糊控制规则进行了对照试验,分为[25规则](./src/main.m)与[5规则](./src/test.m),所以代码也分为了两个版本。
另一方面,笔者在使用使用的matlab的时候,会有警告说相关的api即将被弃用(但是偷懒所以笔者没改),所以如果来者在跑代码的时候发现跑不通,可以提交[issue](https://github.com/SAKURA-CAT/water-tank/issues),我看到会尽快修复。
> 或者提交[PR](https://github.com/SAKURA-CAT/water-tank/pulls)也行~
## 3. 代码运行
导入matlab后直接运行即可。两份代码实际上只有在模糊规则定义的部分会有不同,但是为了单个文件的可执行性,会有一些重复的部分。
## 4. 其他
也没啥了,如果来者能够采纳我们小组的代码——或者我们的工作对你有所帮助,将是我们的荣幸。