搜档网
当前位置:搜档网 › 大学毕业设计-MATLAB语言程序设计

大学毕业设计-MATLAB语言程序设计

大学毕业设计-MATLAB语言程序设计
大学毕业设计-MATLAB语言程序设计

MATLAB语言程序设计

系别:电子电气工程系

班级:08级自动化班

姓名:XXX

学号:

1.编写一个求圆的面积的函数文件。

>> f(1)

s =

3.1416

>> f(2)

s =

12.5664

通过此题掌握了独立文件与函数文件的区别。

2.三次抛物线的方程为:y=a*x^3+b*x^2+c*x

试探讨参数a,b和c对其图形的影响。

>> clear all;

>> subplot(1,3,1)

>> fplot('(-2:2)*x.^3+x.^2+x',[-2 2]) %绘制变量a=-2,-1,0,1,2时的图形

>> grid,axis('equal'),axis([-2 2 -4 4]) %显示网格,纵横坐标轴保持一致图

>> %显示区间

>> subplot(1,3,2)

>> fplot('x.^3+(-2:2)x.^2+x',[-2 2]) %绘制变量b=-2,-1,0,1,2时的图形

>> fplot('x.^3+(-2:2)*x.^2+x',[-2 2]) %绘制变量b=-2,-1,0,1,2时的图形

>> grid,axis('equal'),axis([-2 2 -4 4])

>> subplot(1,3,3)

>> fplot('x.^3+x.^2+(-2:2)*x',[-2 2]) %绘制变量c=-2,-1,0,1,2时的图形

>> grid,axis('equal'),axis([-2 2 -4 4])

>> gtext('a=2'),gtext('a=-2'),gtext('a=0') %用gtext命令在其他两个子图上标注字符程序运行结果如下:

分析:由图可得a=0时,此函数为抛物线,a>0时,随着a的增大,其图形越来越陡,a<0时,随着a的减小,其图形越来越陡,且a<0时,图形的极值点增多。

随着b,c的增大,其图形越来越陡。

3.设计GUI,通过调节滑块可以画出不同频率的三角波形,同时学习法对Push Button、Checkbox、Slider、Axes、Popup Menu、Static Text控件的使用和操作。

布局好的控件如下:

添加的代码如下:

运行结果如下:

通过此题,掌握了对Push Button、Checkbox、Slider、Axes、Popup Menu、Static Text控件的使用和操作,知道了图形用户界面设计工具GUIDE的强大功能。

4.运算放大电路如图所示,试分析放大器开环增益和频率响应对整个电路闭环频率响应的影响,并绘出曲线。

>> z2=[20,100,500]*1000;z1=2000; %设置元件参数

>> A0=2e6;w1=500;w2=2e6;w3=5e7;

>> w=logspace(2,8); %设定频率数组

>> b=A0*w1*w2*w3;

>> a=poly([-w1,-w2,-w3]); %列出运算放大器分子分母系数向量>> A=polyval(b,j*w)./polyval(a,j*w); %求放大器开环频率响应

>> for i=1:3

z12(i)=z2(i)/z1;

H(i,:)=-z12(i)./(1+(1+z12(i))./A); %求放大器闭环响应

semilogx(w,abs(H(i,:))),hold on %画出频率-增益曲线

end

>> v=axis;axis(v); %保持w坐标

>> semilogx(w,abs(A))

>> hold off

运行结果如下:

>> z2=[20,100,500]*1000;z1=2000; %设置元件参数

>> A0=2e6;w1=50;w2=2e6;w3=5e7;

>> w=logspace(2,8); %设定频率数组

>> b=A0*w1*w2*w3;

>> a=poly([-w1,-w2,-w3]); %列出运算放大器分子分母系数向量>> A=polyval(b,j*w)./polyval(a,j*w); %求放大器开环频率响应

>> for i=1:3

z12(i)=z2(i)/z1;

H(i,:)=-z12(i)./(1+(1+z12(i))./A); %求放大器闭环响应

semilogx(w,abs(H(i,:))), hold on %画出频率-增益曲线

end

>> v=axis;axis(v); %保持w坐标

>> semilogx(w,abs(A))

将w1减小10倍的H(w)的图如下:

由题可知,Z2越大,越容易造成运算放大器的自激现象。消除自激可以通过减小w1,或增大w2,w3,在放大器已选定的情况下通常只能用加消振电容的方法减小w1。

5.分别利用命令和simulink模型求y=∫cos(t)dt的结果,其中初值分别为y1(0)=0和y2(0)=1。(1)simulink模型求解如下:y1(0)=0时:

其结果如下:

y2(0)=1时:

其结果如下:

(2)命令求解如下: >> clear

>> f='cos(x)'; %定义被积函数 >> F=int(f) %求积分 F = sin(x)

6.许多工业控制过程都可以等效成二阶环节,设计典型二阶环节H(s)=20/(1.6s 2+4.4s+1)的

NB

NS

ZR

PS

PB

NB PB PB PS PS ZR NS PB PS PS ZR ZR ZR PS PS ZR ZR NS PS PS ZR ZR NS NS PB

ZR

ZR

NS

NS

NB

e

u de

u为输出信号,e与de为输入信号。u,e,de的取值范围均在[-6 6]之间。

在命令窗口下输入命令‘fuzzy’弹出如下界面:

在Edit菜单下点击Add Variable下的input,分别点击input1和input2,在Name中改其名称分别为‘e’和‘de’,将output1名字改为‘u’得到如下图形:

双击输入信号e,进入Membership Function Editor窗口界面,将其Range与Display Range都改为[-6 6],然后在membership function plots下删掉原有的三个输入波形,得图如下:

在Edit菜单下,打开Add Mfs窗口,修改Number of MFs为5,

点击OK按钮。

然后依次选中五个波形在Name中分别对其进行命名,对de与u做相同的操作,得出如下图形:

然后,返回到FIS Editor界面,双击Untitled进入Rule Editor界面,按照表格对其输入输出进行添加,完成后如下图所示:

然后点击Close,在File菜单下选中Export中的To workplace,修改它的workspace variable 为

mohu,如下所示:

点击OK按钮,就可以在如下的仿真电路中进行仿真

得出的仿真波形如下:

若运行有错误提示,则在FIS Editor窗口下的Defuzzification中重新选取一种识别模糊控制的方法,如下图所示:

通过这几个题,使我认识到matlab的功能极其强大,不仅可以应用于数学方面,而且可以应用于我们所学的几乎所有的专业课,求解时还可以使用多种方法,不仅可以使用命令求解,而且可以使用simulink模型求解,因此在以后的学习中,我会经常使用此软件,来达到对此软件的熟练掌握。

相关主题