MATLAB与控制系统仿真实验报告

时间:2024.3.19

《MATLAB与控制系统仿真》

实验报告

20##-20##学年 第 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,设,在x=0~2π区间取101点,绘制函数曲线。

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

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

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

3,已知

在-5<=x<=5区间绘制函数曲线。

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

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

5.画出函数

         的曲面及等高线图。

6. 根据绘制平面曲线,并分析参数对其形状的影响。

 

四、心得体会:

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

 

实验二   MATLAB程序设计

一、实验目的

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

2.掌握利用switch语句实现多分支选择结构的方法。

3.掌握利用for语句实现循环结构的方法。

4.掌握利用while语句实现循环结构的方法。

二、实验设备及条件

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

三、实验内容

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

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'       'd'      'e'     'f'

    [85]    [76]    [95]    [100]    [40]    [65]

    'B'     'C'     'A'       'A+'     'E'     'D'

3. 利用for循环语句编写计算n!的函数程序,取n分别为-89、0、3、5、10验证其正确性(输入n为负数时输出出错信息)。

clear,clc

n=input('请输入一个正数n=');

if n<0

    '输入错误'

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语句弄混,最后经过不懈努力下,终于弄明白了两者之间的差别,使我能更好的运用这些指令语句。


第二篇:信号分析与处理MATLAB仿真实验报告


信号分析与处理

MATLAB仿真实验报告

2009.12.25

院系:电气工程学院

专业自动化
班级:

姓名:

学号:

实验离散时间序列的卷积

实验目的:学会用MATLAB实现对离散时间序列的卷积,掌握利用h(n)        与输入x(n)卷积来求系统零状态响应的方法。

实验要求:使用MATLAB中求卷积函数的conv(),并对结果分析总结。

实验内容:LTI系统的单位脉冲响应为h(n)=(0.9)nε(n),输入序列为x(n)=ε(n)- ε(n-10),求系统的输出y(n)。

程序

function [y,ny]=conv_m(x,nx,h,nh);

y=conv(x(5:45),h);

ny=nh;

y=y(1:41);

subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]');

subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]');

subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,8]);title('y[n]');

实验结果:

结果分析:

改变参数以后的程序:

function [y,ny]=conv_m(x,nx,h,nh);

y=conv(x(5:45),h);

ny=nh;

y=y(1:41);

subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]');

subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]');

subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,2]);title('y[n]');

输出结果:

实验8 连续时间信号的卷积

实验目的:学会用MATLAB实现对连续时间信号的卷积,掌握利用卷积的方法求系统零状态响应,并与离散系统比较。

实验要求:使用MATLAB中求卷积函数的conv(),并对结果分析总结。

实验内容:已知某连续系统的单位冲激响应h(t)=e-5t*ε(t),输入信号x(t)= ε(t)- ε(t-1),求解系统的零状态响应y(t)

程序

p=0.01;

t=0:p:2;

x=heaviside(t)-heaviside(t-1);

x(1)=1;x(101)=1;

h=exp(-5*t);

hl=h*p;

y=conv(x,hl);

y=y(1:length(t));

subplot(3,1,1);plot(t,x);axis([-1,2,0,1.2]);title('x(t)');

subplot(3,1,2);plot(t,h);axis([0,2,0,1.2]);title('h(t)');

subplot(3,1,3);plot(t,y);axis([0,2,0,0.22]);title('y(t)');

实验结果

结果分析

改变参数后程序

p=0.01;

t=0:p:2;

x=heaviside(t)-heaviside(t-1);

x(1)=1;x(101)=1;

h=exp(-5*t);

hl=h*p;

y=conv(x,hl);

y=y(1:length(t));

subplot(3,1,1);plot(t,x);axis([-1,2,0,1.0]);title('x(t)');

subplot(3,1,2);plot(t,h);axis([0,2,0,1.0]);title('h(t)');

subplot(3,1,3);plot(t,y);axis([0,2,0,0.5]);title('y(t)');

输出图形

         实验18 周期信号的频谱分析

实验目的:学会用MATLAB绘制周期信号的频谱

实验要求:使用MATLAB中的符号积分函数int()

实验内容:对于周期矩形脉冲信号,若A=1,T=5s,г=T/4=1.25s,试求其傅里叶系数Xk,并绘制出频谱图。

程序

syms t k;

T=5;tao=1.25;A=1;

x0=int(A,t,-tao/2,tao/2)/T

x=A*exp(-j*k*2*pi/T*t);

xk=int(x,t,-tao/2,tao/2)/T;

xk=simple(xk)

t=[-2*T:0.01:2*T];

x1=rectpuls(t,tao);

subplot(1,2,1);plot(t,x1)

hold on

x1=rectpuls(t-5,tao);

plot(t,x1)

hold on

x1=rectpuls(t+5,tao);

plot(t,x1)

hold off

title('周期矩形脉冲(tao=T/4)')

xlabel('t')

axis([-8,8,0,1.2])

k=[-20:-1,eps,1:20];

xk=subs(xk,k,'k');

subplot(1,2,2);stem(k,xk,'filled')

line([-20,20],[0,0])

title('周期矩形脉冲的频谱')

xlabel('k')

ylabel('Xk')

实验结果

结果分析

减小脉冲的宽度,令tao=T/4=2.5

则输出图形为

      

       实验21 非周期信号的傅里叶变换

实验目的:学会用MATLAB求解非周期信号的傅里叶变换

实验要求:使用MATLAB中直接求傅里叶变换域逆变换的函数fourier()与ifourier()

实验内容:已知矩形脉冲信号x(t)= ε(t+1)- ε(t-1),将其乘以载波信号cos(10∏t),得到已调信号y(t)=x(t)cos(10∏t),试用MATLAB画出信号x(t),y(t)的波形及其频谱,并观察频谱搬移情况。

程序

R=0.005;

t=-1.2:R:1.2;

x=Heaviside(t+1)-Heaviside(t-1);

x(41)=1;x(441)=1;

y=x.*cos(10*pi*t);

subplot(2,2,1);plot(t,x)

axis([-2,2,0,1.2])

xlabel('t');ylabel('x(t)');

subplot(2,2,3);plot(t,y)

xlabel('t');ylabel('y(t)=x(t)*cos(10*pi*t)');

W1=40;

N=1000;

k=-N:N;

W=k*W1/N;

X=x*exp(-j*t'*W)*R;

X=real(X);

Y=y*exp(-j*t'*W)*R;

Y=real(Y);

subplot(2,2,2);plot(W,X)

xlabel('w');ylabel('X(w)');

subplot(2,2,4);plot(W,Y)

xlabel('w');ylabel('Y(w)');

输出结果

结果分析

修改采样点数后的输出结果W1=25

        实验22 离散时间信号的频谱分析

实验目的:学会用MATLAB求解离散时间福利叶变换

实验要求:已知序列x(n)=(-0.9)n,-5≤n≤5,求其离散时间傅里叶变换X(ejΩ)

程序

n=-5:5;

x=(-0.9).^n;

k=-200:200;

w=(pi/100)*k;

X=x*(exp(-j*pi/100)).^(n'*k);

magX=abs(X);

angX=angle(X);

subplot(2,1,1);plot(w/pi,magX);

axis([-2,2,0,15])

xlabel('\Omega/(\pi)');ylabel('幅度')

subplot(2,1,2);plot(w/pi,angX)/pi;

axis([-2,2,-4,4])

xlabel('\Omega/(\pi)');ylabel('相位/(\pi)')

实验结果

结果分析

改变参数后的程序

n=-5:5;

x=(-0.9).^n;

k=-200:200;

w=(pi/100)*k;

X=x*(exp(-j*pi/100)).^(n'*k);

magX=abs(X);

angX=angle(X);

subplot(2,1,1);plot(w/pi,magX);

axis([-2,1,0,5])

xlabel('\Omega/(\pi)');ylabel('幅度')

subplot(2,1,2);plot(w/pi,angX)/pi;

axis([-2,1,-4,4])

xlabel('\Omega/(\pi)');ylabel('相位/(\pi)')

输出结果

更多相关推荐:
控制系统仿真实验二报告

实验二面向结构图的仿真四思考题1在未考虑调节阀饱和特性时讨论一下两个水箱液位的变化情况工业上是否允许讨论阀位的变化情况工业上是否能实现答在一开始阀位大开H1H2液位上升迅速很快就达到预期值但显然不能在工业上实现...

控制系统仿真实验报告

控制系统仿真实验报告一实验目的进一步掌握数值积分法进一步掌握MATLAB软件的使用方法二实验设备数字计算机MATLAB软件三实验预备1将传递函数化为一阶微分方程组即状态方程令y1yy2y则yy1y1y2y406...

控制系统仿真实验报告 (2)

昆明理工大学电力工程学院学生实验报告实验课程名称控制系统仿真实验开课实验室年月日实验一电路的建模与仿真一实验目的1了解KCLKVL原理2掌握建立矩阵并编写M文件3调试M文件验证KCLKVL4掌握用simulin...

控制系统仿真实验报告

附件四学生实验报告表头格式昆明理工大学电力工程学院学生实验报告实验课程名称开课实验室年月日实验一电路的建模与仿真一实验目的1了解KCLKVL原理2掌握建立矩阵并编写M文件3调试M文件验证KCLKVL4掌握用si...

基于MATLAB控制系统仿真实验报告

中南大学计算机控制系统仿真实验报告信息科学与工程学院自动化0903班实验一MATLAB语言编程一实验目的1熟悉Matlab语言及其环境掌握编程方法2要求认真听取实验指导老师讲解与演示二具体实验内容步骤要求1运行...

《自动控制原理》仿真实验报告

中国地质大学江城学院自动控制原理仿真实验报告姓名吴丽芳班级数控2班学号指导教师祁锋20xx年12月9日目录实验一MATLAB软件的安装与认知实验二使用软件进行数值运算和绘图实验三采用SIMULINK仿真模块进行...

控制系统数字仿真_实验内容(共4次实验)

实验一数值积分法仿真一实验目的1掌握基于数值积分法的系统仿真了解各仿真参数的影响2熟悉MATLAB语言及应用环境二实验环境网络计算机系统MATLAB语言环境三实验示例介绍一用Euler法和四阶RK法求初值问题的...

控制系统仿真(MATLAB)实验1-6

控制系统仿真MATLAB实验指导书青岛大学自动化工程学院20xx年4月MATLAB实验一一实验目的1BefamiliarwithMATLABEnvironment2Befamiliarwitharrayandm...

本部《Matlab与控制系统仿真》实验指导书

机电工程学院Matlab控制系统仿真实验指导书学院班级姓名学号温州大学机电工程学院制温州大学机电学院实验实训指导书实验一MATLAB语言基本命令1实验目的1掌握科学计算的有关方法熟悉MATLAB语言及其在科学计...

《机械工程控制基础》Matlab仿真实验报告单(实验三)

红河学院工学院实验报告单机械工程控制基础Matlab仿真实验报告单课程名称机械工程控制基础实验姓名日期成绩年级专业20xx级机械工程学号实验场地任美福楼222实验三二阶线性系统时域性能指标的Matlab仿真实验...

MATLAB与控制系统仿真实验报告

MATLAB与控制系统仿真周一实验报告20xx年第三版西安邮电大学自动化学院0611406723MATLAB与控制系统仿真实验指导书实验三MATLAB图形系统一实验目的1掌握绘制二维图形的常用函数2掌握绘制三维...

中南大学控制系统仿真实验报告

控制系统仿真实验报告控制系统仿真实验报告学院信息科学与工程学院班级姓名学号控制系统仿真实验报告目录实验一MATLAB语言编程3一实验目的3二具体实验内容步骤要求3三实验心得5实验二数值积分算法练习与函数调用6一...

控制系统仿真实验报告(19篇)