MATLAB与控制系统仿真实验报告_第1页
MATLAB与控制系统仿真实验报告_第2页
MATLAB与控制系统仿真实验报告_第3页
MATLAB与控制系统仿真实验报告_第4页
MATLAB与控制系统仿真实验报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《MATLAB与控制系统仿真》实验指导书 《MATLAB与控制系统仿真》实验报告(2013年第三版)西安邮电大学自动化学院周一06114067(23)PAGE1-实验三MATLAB图形系统一、实验目的1.掌握绘制二维图形的常用函数。2.掌握绘制三维图形的常用函数。3.熟悉利用图形对象进行绘图操作的方法。4.掌握绘制图形的辅助操作。二、实验原理1,二维数据曲线图绘制单根二维曲线plot(x,y);绘制多根二维曲线plot(x,y)当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2)2,图形标注与坐标控制1)title(图形名称);2)xlabel(x轴说明)3)ylabel(y轴说明)4)text(x,y图形说明)5)legend(图例1,图例2,…)6)axis([xminxmaxyminymaxzminzmax])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,图像处理imread和imwrite函数这两个函数分别用于将图象文件读入matlab工作空间,以及将图象数据和色图数据一起写入一定格式的图象文件。image和imagesc函数这两个函数用于图象显示。为了保证图象的显示效果,一般还应使用colormap函数设置图象色图。三、实验仪器和设备计算机一台(带有MATLAB6.5以上的软件环境)。四、预习要求1.复习二维与三维图形的绘图函数。2.复习图形辅助操作。五、实验内容及步骤1,设,在x=0~2π区间取101点,绘制函数曲线。>>x=0:0.02*pi:2*pi;y=(0.5+3*sin(x)/(1+x.^2))*cos(x);plot(x,y);>>grid2,已知y1=x2,y2=cos(2x),y3=y1*y2,完成下列操作:(1)在同一坐标系下用不同的颜色和线型绘制三条曲线;>>y1=x.^2;y2=cos(2*x);y3=y1.*y2;plot(x,y1,x,y2,x,y3);分别用条形图、阶梯图、杆图和填充图绘制三条曲线。>>subplot(2,2,1),bar(x,y1);>>subplot(2,2,2),bar(x,y2);>>subplot(2,2,3),bar(x,y3);>>subplot(2,2,1);stairs(x,y1);subplot(2,2,2);stairs(x,y2);subplot(2,2,3);stairs(x,y3);>>subplot(2,2,1),stem(x,y1);subplot(2,2,2),stem(x,y2);subplot(2,2,3),stem(x,y3);>>subplot(2,2,1),area(x,y1);subplot(2,2,2),area(x,y2);subplot(2,2,3),area(x,y3);3,已知在-5<=x<=5区间绘制函数曲线。>>x=-5:0.1:5;>>y=((x+sqrt(pi))./exp(2)).*(x<=0)+0.5.*log(x+sqrt(1+x.^2)).*(x>0);>>plot(x,y)>>grid4,绘制函数的曲面图和等高线其中x的21个值均匀分布在[-5,5]范围,y的31个值均匀分布在[0,10],要求使用subplot(2,1,1)和subplot(2,1,2)将产生的曲面图和登高图画在同一个窗口上。>>x=-5:(10/20):5;y=0:(10/30):10;[x,y]=meshgrid(x,y);z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)./4);>>subplot(2,1,1),mesh(x,y,z);>>subplot(2,1,2),meshc(x,y,z);5.将图形窗口分成两格,分别绘制正割和余割函数曲线,并加上适当的标注。要求:1)必须画出0到,即一个周期的曲线。2)正割曲线为红色点划线输出,余割曲线为蓝色实线输出。3)图形上面表明正割和余割公式,横轴标x,纵轴标y。4)将图形窗口分成两格,正割在上,余割在下。>>x=0:0.01:2*pi;y1=sec(x);y2=csc(x);subplot(2,1,1),plot(x,y1,'r');title('y=sec(x)');xlabel('x');>>ylabel('y');>>grid>>subplot(2,1,2),plot(x,y2,'b');title('y=csc(x)');xlabel('x');ylabel('y');grid6.绘制极坐标曲线,并分析参数对曲线形状的影响。>>a=5;>>b=pi/3;>>n=2;>>theta=0:0.01:5*pi;>>y=a.*sin(b+n.*theta);>>polar(theta,y,'b')a决定了最外圆的半径,b决定了扇形的分布情况,n决定了扇形的数目。7.将图形窗口分成两个窗格,分别绘制出函数:在[0,3]区间上的曲线,并利用axis调整轴刻度纵坐标刻度,使在[0,12]区间上,在[-2,1.5]区间上。>>x=0:0.01:3;y1=2*x+5;y2=x.^2-3*x+1;subplot(1,2,1),plot(x,y1);axis([03012]);gridsubplot(1,2,2),plot(x,y2);axis([03-21.5]);grid8.画出函数的曲面及等高线图。>>x=-20:0.01:20;y=-20:0.01:20;[x,y]=meshgrid(x,y);z=x.^2+y.^2+sin(x.*y);mesh(x,y,z);meshc(x,y,z);9.综合实例中,还有一种最常用的电力系统无源滤波器单调谐滤波器,其结构如图3-2所示,其阻抗表达式为:式中,为次谐波角频率,为基波角频率。当设,,,,在[0.5,25]取值时,单调谐滤波器的阻抗与谐波次数的曲线如图3-4所示,试编写程序完成曲线的画取(注意图中各个地方的标注均用程序实现)。10.用曲面图表现函数,和的范围从-4到4,设置当前图形的颜色板从黑色到暗红、洋红、黄色、白色的平滑变化,打开网格。>>x=-4:0.01:4;>>y=-4:0.01:4;>>[x,y]=meshgrid(x,y);>>z=x.^2+y.^2;>>mesh(x,y,z);>>meshc(x,y,z);>>colorbar('hot');11.根据绘制平面曲线,并分析参数对其形状的影响。

实验四MATLAB程序设计一、实验目的1.掌握利用if语句实现选择结构的方法。2.掌握利用switch语句实现多分支选择结构的方法。3.掌握利用for语句实现循环结构的方法。4.掌握利用while语句实现循环结构的方法。二、实验设备及条件计算机一台(带有MATLAB6.5以上的软件环境)。三、实验内容1.编写求解方程的根的函数(这个方程不一定为一元二次方程,因的不同取值而定),这里应根据的不同取值分别处理,有输入参数提示,当时应提示“为恒不等式!”。并输入几组典型值加以检验。disp('关于方程ax^2+bx+c=0')a=input('请输入系数a=');b=input('b=');c=input('c=');ifa==0&&b==0ifc==0disp('解为全体实数');elsedisp('为恒不等式!');endelseP=[a,b,c];x=roots(P)enddisp('关于方程ax^2+bx+c=0')a=input('请输入系数a=');b=input('b=');c=input('c=');ifa==0&&b==0ifc==0disp('解为全体实数');elsedisp('为恒不等式!');endelseP=[a,b,c];x=roots(P)end关于方程ax^2+bx+c=0请输入系数a=3b=5c=7x=-0.8333+1.2802i-0.8333-1.2802i关于方程ax^2+bx+c=0请输入系数a=2b=4c=6x=-1.0000+1.4142i-1.0000-1.4142i2.输入一个百分制成绩,要求输出成绩等级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)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。g=input('请输入成绩')ifg<0||g>100disp('错误,输入的成绩应为0~100之间的数')elseg=fix(g/10);switchgcase{10}disp('A+');case{9}disp('A');case{8}disp('B');case{7}disp('C');case{6}disp('D')otherwisedisp('E');endend请输入成绩80g=80B3.利用for循环语句编写计算n!的函数程序,取n分别为-89、0、3、5、10验证其正确性(输入n为负数时输出出错信息)。n=input('请输入n=');ifn<0disp('错误,n取值必须为正数');elsey=1;fori=1:ny=y*i;enddisp('n!=');disp(y)end请输入n=6n!=7204.Fibonacci数组的元素满足Fibonacci规则:,;且。现要求该数组中第一个大于10000的元素。a(1)=1;a(2)=1;i=2;whilea(i)<=10000a(i+1)=a(i-1)+a(i);i=i+1;end;i,a(i)i=21ans=109465.根据,求的近似值。当n分别取100、1000、10000时,结果是多少?n=[100100010000];forj=1:3y=0;k=n(j);fori=1:ky=y+1/i/i;endpai=sqrt(6*y);disp('n=');disp(n(j));disp('π的近似值为');disp(pai);endn=100π的近似值为3.1321n=1000π的近似值为3.1406n=10000π的近似值为3.14156.有一分数序列:编写一段程序,求前16项的和。>>a=1;b=1;sum=0;>>fori=1:15c=a+b;sum=sum+c/b;a=b;b=c;end>>sumsum=24.57017,已知:求中:(1)最大值、最小值、各数之和;(2)正数、零、负数的个数。8.建立5×6矩阵,要求输出矩阵第n行元素,当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。9,根据,求的近似值。当n分别取100,1000,10000时,结果是多少?

实验五MATLAB函数文件一、实验目的1,理解函数文件的概念;2,掌握定义和调用matlab函数的方法。二、实验原理1,函数文件的定义:函数文件是另一种形式的m文件,每一个函数文件都定义一个函数,事实上,matlab提供的标准函数大部分都是由函数文件定义的。2,函数文件的基本结构函数文件由function语句引导,其基本结构为:Function输出形参表=函数名(输入形参表)注释说明部分函数体语句其中以function开头的一行为引导行,表示该m文件是一个函数文件。3,函数调用函数文件编制好之欧,就可以调用函数进行计算了,函数调用的一般格式是:[输出实参表]=函数名(输入实参表)三、实验仪器和设备1.计算机一台(带有MATLAB6.5以上的软件环境)。四、预习要求1.复习函数的定义与编写原则。2.复习函数的调用。五、实验内容1,一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。例如13是绝对素数。试求所有的两位绝对素数。要求:定义一个判断素数的函数文件。fora=10:99ifisprime(a)g=rem(a,10);s=fix(a/10);b=10*g+s;ifisprime(b)disp(a)endendend1113173137717379972,已知当时,求y值;functionx=fn(n)x=n+10*log(n^2+5);end调用fn.m的命令文件文件y=fn(40)/(fn(30)+fn(20))y=0.6390当时,求y值。functionm=fun(n)ifn<=0m=0;elsem=n*(n+1)+fun(n-1);endend调用fun.m的命令文件y=fun(40)/(fun(30)+fun(20))y=1.7662

实验六matlab数据处理与多项式计算一、实验目的1,掌握数据统计和分析的方法;2,掌握数值插值与曲线拟合的方法;3,掌握多项式计算的常用运算。二、实验原理数据统计处理最大值与最小值(a)求向量的最大值与最小值y=max(X)与[y,I]=max(X)(b)求矩阵的最大值和最小值max(A)与[Y,U]=max(A),max(A,[],dim)2)求和与求积sum(X),prod(X)sum(A)3)标准方差与相关系数a)Y=std(A,flag,dim)b)corrcoef(X)2,数据差值a)一维数据差值Y1=interp1(X,Y,X1,’method’)b)二维数据差值Z1=interp2(X,Y,Z,X1,Y1,’method’)3,曲线拟合[P,S]=polyfit(X,Y,m)4,多项式计算1)多项式的加减计算2)多项式乘法运算Y=conv(P1,P2)3)多项式除法[Q,r]=deconv(P1,P2)4)多项式的导函数p=polyder(P):求多项式P的导函数p=polyder(P,Q):求P.Q的导函数[p,q]=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q。5,多项式求值1)代数多项式求值Y=polyval(P,x)2)矩阵多项式求值polyvalm6,多项式求根x=roots(P)三、实验仪器和设备1.计算机一台(带有MATLAB6.5以上的软件环境)。四、预习要求1.复习matlab多项式数值分析函数。2.复习matlab曲线拟合与多项式计算函数。五、实验内容及步骤1,利用matlab提供的rand函数生成30,000个符合均匀分布的随机数,然后检验随机数的性质:均值和标准方差;最大元素与最小元素;大于0.5的随机数个数占总数额百分比。k=0;x=rand(1,30000);disp(['随机数的均值为:',num2str(mean(x))])disp(['随机数的标准方差为:',num2str(std(x))])disp(['随机数的最大元素为:',num2str(max(x))])disp(['随机数的最小元素为:',num2str(min(x))])disp(['大于0.5的随机数个数占总数的百分比为:',num2str(size(find(x>0.5))/size(x)*100),'%'])随机数的均值为:0.49875随机数的标准方差为:0.28898随机数的最大元素为:0.99997随机数的最小元素为:4.8345e-005大于0.5的随机数个数占总数的百分比为:50.0567%2,将100个学生5门功课的成绩存入矩阵P中,进行如下处理:(1)分别求每门课的最高分、最低分及相应学生序号;(2)分别求每门课的平均分和标准方差;(3)5门课总分的最高分、最低分及相应学生序号;(4)将5门课总分按照从大到小的顺序存入zcj中,相应学生序号存入xsxh。提示:上机调试时,为避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。A=45+(95-45)*rand(100,5);[x1,y1]=max(A)[x2,y2]=min(A)mean(A)std(A)[x3,y3]=max(sum(A,2))[x4,y4]=min(sum(A,2))s=sum(A,2);[zcj,xsxh]=sort(s,1,'descend')x1=94.942394.593793.942494.833694.4276y1=3691431980x2=45.652345.438646.530545.778045.1957y2=4820164335ans=68.111971.161573.755473.407366.2990ans=13.815715.066413.530213.847514.1051x3=444.4719y3=87x4=286.8945y4=823,已知lgx在[1,101]区间10个整数采样点的函数值如下表所示:X1112131415161718191101lgx01.04141.32221.49141.61281.70761.78531.85131.90851.95902.0043试求lgx的5次拟合多项式p(x),并绘制lgx和p(x)在[1,101]区间的函数。x=1:10:101;y=[0,1.0414,1.3222,1.4914,1.6128,1.7076,1.7853,1.8513,1.9085,1.9590,2.0043];p=0.0000-0.00000.0001-0.00580.1537-0.1326p=polyfit(x,y,5)x1=1:0.5:101;y1=log10(x1);p1=polyval(p,x1);plot(x1,y1,'g:',x1,p1,'r-')4,有三个多项式p1(x)=x4+2x3+4x2+5,p2(x)=x+2,p3(x)=x2+2x+3,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论