• 优质范文
  • 工作总结
  • 工作计划
  • 作文大全
  • 心得体会
  • 述职报告
  • 实习报告
  • 写作方案
  • 教案反思
  • 演讲稿
  • 发言稿
  • 读书笔记
  • 精美散文
  • 读观后感
  • 当前位置: 博通范文网 > 心得体会 > 正文

    模糊控制MALTAB系统仿真实验报告

    时间:2021-09-12 来源:博通范文网 本文已影响 博通范文网手机站

    可编程控制器 智能控制技术 仿真实验 题 目: 模糊控制系统MATLAB仿真实验报告 院系名称:

    电气工程学院 专业班级:

    电气 学生姓名:

    学 号:

    模糊控制系统MATLAB仿真实验报告 一、实验目的 1、通过本次设计,了解模糊控制的基本原理、模糊模型的建立和模糊控制系统的设计过程。

    2、熟悉在MATLAB下建立模糊控制器的方法,并能利用MATLAB对给定参数的模糊控制系统予以仿真 二、实验项目 1、实验题目 本设计要求设计一个采用模糊控制的加热炉温度控制系统。被控对象为一热处理工艺过程中的加热炉,加热设备为三相交流调压供电装置,输入控制信号电压为0~5V,输出相电压0~220V,输出最大功率180KW,炉温变化室温~625℃,电加热装置如图所示:

    图1-1电加热装置示意图 3、实验数据:本实验输入变量为偏差e和偏差的变化ec,输出变量为控制电压U,变量模糊集量化论域均为[-6 6]采用的常用的三角形隶属函数。

    控制规则表:

    U 输入变量ec NB NM NS ZO PS PM PB 输 入 变 量 e NB NB NB NB NB NM NS ZO NM NB NB M, M, MS ZO ZO NS NV NM NM NS ZO ZO PS ZO NM NS NS ZO PS PS PM PS NS ZO ZO PS PM PM PB PM ZO ZO PS PM PM PB PB PB ZO PS PM PB PB PB PB 三、实验步骤 1、建立系统仿真图:在MATLAB主窗口单机工具栏中的Simulink快捷图标弹出“Simulink Library Browser”窗口,单击“Create a new model”快捷图标弹出模型编辑窗口。

    依次将Signal Generator(信号源)、Subtract(减运算)、Gain(增益)、Derivative(微分)、Mux(合成)、Fuzzy Logic Controller(模糊逻辑控制器)、Transfer Fcn(传递函数)、Saturation(限幅)、Memory(存储器)、Scope(显示器)模块拖入窗口并连接成系统仿真图如图1-2 图1-2 系统仿真图 2、在模糊推理系统编辑器中设置变量:在MATLAB 命令窗口输入fuzzy并按回车键,启动FIS Editor(模糊推理系统编辑器)。

    图1-3 FIS Editor界面 在FIS编辑器界面上执行菜单Edit → Add Variable → Input 为模糊控制系统添加变量,并将变量名修改为 E、EC输出变量为U。

    图1-4双变量模糊推理系统界面 双击输入变量E,执行菜单命令Edit → Remove All MFs 然后执行命令 Add MFs 弹出Membership Function 对话框,将隶属函数的类型设置为gaussmf 并将隶属函数的数目修改为7。

    在Current Membership Function 区域编辑模糊子集的名称及位置,将各变量的取值范围Range和显示范围Display Range 均设置为[-6 6],在输入变量E 的图形显示区域选中相应的曲线,即可编辑该子集。语言值的隶属函数类型设置为高斯型函数Gaussmf ,名称分别设置为NB、NM、NS、ZO、PS、PM、PB,其参数(宽度、中心点)将会自动生成。

    图1-5 输入变量E的参数设置 按同样的方式设置输入变量EC和输出变量U,但U的语言值隶属函数类型为三角形函数trimf 图1-6 输入变量EC的参数设置 图1-7 输出变量 U的参数配置 3、在FIS中设置变量规则:在FIS Editor中执行菜单命令Editor → Rules 打开规则编辑器,将已知49条控制规则输入到Rule编辑器中。

    图1-8 模糊编辑器规则设置 4、检验模糊规则输入/输出特性曲面:利用编辑器的View → Rules 和View → Surface 菜单命令即可得到模糊规则输入/输出特性曲面 图1-9 模糊规则特性曲面 图1-10 模糊输入输出特性曲面 5、对模糊控制系统进行仿真:将FIS与Simulink连接,执行FIS编辑器的菜单命令 File→Export to workspace,将当前模糊推理系统保存到MATLAB工作空间的推理矩阵中。

    在Simulink中双击Fuzzy Logic Controller模糊逻辑控制器模块上单击鼠标右键然后选择Look Under Mask 选项,将FIS嵌入。

    图1-11 FIS嵌入 四、仿真结果 1、组初选参数进行仿真,当系统输入为阶跃信号时其系统响应如下:

    2、将系数再次仿真得到如下曲线。

    五、遇到的问题 在进行仿真时遇到如下问题:

    MinMax does not accept 'boolean' signals.The input and output signal(s) of 'untitled/Fuzzy Logic Controller/FIS Wizard/Defuzzification1/Max (COA)' must be one of the MATLAB 'uint8', 'uint16', 'uint32', 'int8', 'int16', 'int32', 'single', or 'double' data types, or one of the Fixed-point data types 解决方案:经检查,模糊控制模型搭建过程中按照实验指导来做完全没有错误,而实际操作中却会出现这样的提示。经网上搜集资料,“simulink模型窗口菜单中,Simulation-Configuration Parameters-Implement logic signals as boolean data前面默认的勾选去掉”可以解决。

    很多亮点。

    诠释明确,正确地体现了有关方针政策!

    《MATLAB与控制系统仿真》

    实验报告

    2013- 2014学年 第 1 学期

    专业: 班级: 学号: 姓名:

    实验三 MATLAB图形系统

    一、实验目的:

    1.掌握绘制二维图形的常用函数。 2.掌握绘制三维图形的常用函数。 3.熟悉利用图形对象进行绘图操作的方法。 4.掌握绘制图形的辅助操作。

    二、实验原理:

    1,二维数据曲线图

    (1) 绘制单根二维曲线 plot(x,y); (2) 绘制多根二维曲线 plot(x,y) 当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。 (3) 含有多个输入参数的plot函数 plot(x1,y1,x2,y2,…,xn,yn) (4) 具有两个纵坐标标度的图形 plotyy(x1,y1,x2,y2) 2,图形标注与坐标控制 1)title (图形名称); 2)xlabel(x轴说明) 3)ylabel(y轴说明) 4)text(x,y图形说明) 5)legend(图例1,图例2,…)

    6)axis ([xmin xmax ymin ymax zmin zmax]) 3, 图形窗口的分割 subplot(m,n,p) 4,三维曲线

    plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n) 5,三维曲面

    mesh(x,y,z,c) 与surf(x,y,z,c)。一般情况下,x,y,z是维数相同的矩阵。X,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。 6,图像处理

    1) imread和imwrite函数 这两个函数分别用于将图象文件读入matlab工作空间,以及将图象数据和色图数据一起写入一定格式的图象文件。

    2) image和imagesc函数 这两个函数用于图象显示。为了保证图象的显示效果,一般还应使用colormap函数设置图象色图。

    三、实验仪器和设备:

    计算机一台(带有MATLAB6.5以上的软件环境)。

    四、预习要求:

    1.复习二维与三维图形的绘图函数。 2.复习图形辅助操作。

    五、实验内容及步骤:

    1,设y[0.53sinx]cosx,在x=0~2π区间取101点,绘制函数曲线。 21x

    2,已知y1=x2,y2=cos(2x),y3=y1*y2,完成下列操作:

    (1)在同一坐标系下用不同的颜色和线型绘制三条曲线;

    (2)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。

    3,已知

    x,x02e y1In(x1x2),x02在-5

    4,绘制函数的曲面图和等高线

    zcosxcosyex2y24

    其中x的21个值均匀分布在[-5,5]范围,y的31个值均匀分布在[0,10],要求使用subplot(2,1,1)和subplot(2,1,2)将产生的曲面图和登高图画在同一个窗口上。

    5.画出函数

    zx2y2sin(xy)的曲面及等高线图。

    x2y21绘制平面曲线,并分析参数a对其形状的影响。 6.根据2a25a2

    四、心得体会

    通过这次实验我能熟练掌握二维和三维图以及其他特殊图形的制作,弄清楚了基本的图形操作规则,大大加深了我对matlab的兴趣。

    实验二 MATLAB程序设计

    一、实验目的

    1.掌握利用if语句实现选择结构的方法。

    2.掌握利用switch语句实现多分支选择结构的方法。 3.掌握利用for语句实现循环结构的方法。 4.掌握利用while语句实现循环结构的方法。

    二、实验设备及条件

    计算机一台(带有MATLAB6.5以上的软件环境)。

    三、实验内容

    1.编写求解方程ax2bxc0的根的函数(这个方程不一定为一元二次方程,因a、b、c的不同取值而定),这里应根据a、b、c的不同取值分别处理,有输入参数提示,当a0,b0,c~0时应提示“为恒不等式!”。并输入几组典型值加以检验。

    clear,clc a=input(\\"请输入一个数a=\\"); b=input(\\"请输入一个数b=\\"); c=input(\\"请输入一个数c=\\"); m=b^2-4*a*c; if a==0

    if b==0

    \\"为恒不等式\\"

    end end

    m=b^2-4*a*c; if m>0

    x1=(-b+sqrt(m))/(2*a)

    x2=(-b-sqrt(m))/(2*a) elseif m==0

    x=(-b)/(2*a) else

    \\"不存在正实根\\" end

    2.输入一个百分制成绩,要求输出成绩等级A+、A、B、C、D、E。其中100分为A+,90分~99分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。

    要求:(1)用switch语句实现。

    (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

    clear,clc for k=1:10

    a(k)={89+k};b(k)={79+k};

    c(k)={69+k};d(k)={59+k}; end A=cell(3,6); A(1,:)={\\"a\\",\\"b\\",\\"c\\",\\"d\\",\\"e\\",\\"f\\"}; A(2,:)={85,76,95,100,40,65}; for k=1:6

    switch A{2,k}

    case 100

    r=\\"A+\\";

    case a

    r=\\"A\\";

    case b

    r=\\"B\\";

    case c

    r=\\"C\\";

    case d

    r=\\"D\\";

    otherwise

    r=\\"E\\";

    end

    A(3,k)={r}; end A A =

    \\"a\\"

    \\"b\\"

    \\"c\\"

    [85]

    [76]

    [95]

    \\"B\\"

    \\"C\\"

    \\"A\\"

    \\"d\\"

    \\"e\\"

    [100]

    [40]

    \\"A+\\"

    \\"E\\"

    \\"f\\" [65] \\"D\\"

    3.利用for循环语句编写计算n!的函数程序,取n分别为-8

    9、0、

    3、

    5、10验证其正确性(输入n为负数时输出出错信息)。

    clear,clc n=input(\\"请输入一个正数n=\\"); if n

    \\"输入错误\\" elseif n==0

    \\"n!=0\\" elseif n==1

    \\"n!=1\\" else

    y=1;

    for i=1:1:n

    y=y*i;

    i=i+1;

    end

    y end 请输入一个正数n=-89

    ans =输入错误 请输入一个正数n=0

    ans =n!=0 请输入一个正数n=1

    ans =n!=1 请输入一个正数n=3

    y =6 请输入一个正数n=10

    y =3628800

    四、实验心得体会

    通过本次实验课,我能熟练运用for循环语句,switch条件语句以及if条件语句的新用法,和在C中的区别。尽管如此,但是在实验中依然容易把for循环跟C语言中的for语句弄混,最后经过不懈努力下,终于弄明白了两者之间的差别,使我能更好的运用这些指令语句。

    推荐访问:仿真 模糊 实验

    • 读/观后感
    • 精美散文
    • 读书笔记
    • 演讲
    • 反思
    • 方案
    • 心得体会