华科matlab大作业
- 格式:docx
- 大小:154.19 KB
- 文档页数:11
matlab⼤作业实验报告,《Matlab程序设计》期末实验报告-⼤作业2015.doc《MATLAB程序设计》实验报告学院: 学号: 姓名:⼀、题⽬:1、(10分)已知矩阵,⽤Matlab代码实现以下要求:(1)将矩阵赋给变量A,并在屏幕上显⽰A;(2)将A按列进列逆序重排,重排后的矩阵赋给变量B,并在屏幕上显⽰B;(3)⽤reshape命令将A重排为⼀个2⾏6列矩阵并赋给变量C;(4)将A重排为⼀个列向量,将其赋给变量D,求D的平均值,在屏幕上显⽰D和它的平均值;(5)⽤命令查看变量A的维数,并显⽰运⾏结果。
2、(10分)写代码实现以下要求:构造菜单项‘Plot’,菜单项Plot有两个⼦菜单项Plot sin(选择此项后执⾏画出曲线,线型为虚线,线条颜⾊为红⾊)和Plot cos(选择此项后执⾏画出曲线 ,线型为实线,线条宽度为2)。
3、(20分)已知,实现下列操作:(1)在同⼀个图形窗⼝,同⼀坐标系下⽤不同的颜⾊和线型绘制三条曲线,并添加图例来区分三条曲线(5分)。
(2)⽤subplot命令,以⼦图的⽅式绘制三条曲线,图形排列⽅式为三⾏⼀列(5分)。
(3) 分别⽤直⽅图(bar)、棒状图(stem)和填充图(fill)绘制三条曲线,以⼦图⽅式绘制,排列⽅式为3⾏3列,共9幅⼦图(10分)。
4、(10分)⽤surf命令绘制曲⾯图形,⽤shading interp命令进⾏插值着⾊处理并添加垂直颜⾊棒。
5、(15分)⾃2011年9⽉1⽇起,我国实⾏新的个⼈所得税征收办法,起征点为3500元,请⽤If-else if-else-end结构实现⼈⼯输⼊⽉收⼊后能计算出个⼈所得税的缴纳额并显⽰⽉收⼊10000元时应缴纳的税款。
级数应纳税所得额x(元)税率备注1x<=15003%x指⽉收⼊扣除起征点3500元之后的余额;215008000045%同上6. (10分)⽤while-end循环结构计算级数和的值,输⼊n值,能计算出f的值,并显⽰结果。
《MATLAB课程设计》班级学号姓名时间12月30日目录一.设计目 (2)二.设计要求 (2)三.设计分析 (2)四.基于根轨迹法相位滞后校正设计 (5)五.相位超前校正设计 (8)六.相位滞后校正设计 (12)七.总结 (16)参考文件 ....................................................................................... 错误!未定义书签。
反馈控制系统设计—铣床控制一、 设计目铣床是用铣刀对工件进行铣削加工机床。
铣床除能铣削平面、 沟槽、 轮齿、 螺纹和花键轴外, 还能加工比较复杂型面, 效率较刨床高, 在机械制造和修理部门得到广泛应用。
很多情况下, 铣床被用来进行高精度加工, 因为对其含有较高精度要求, 那么一个可靠反馈控制系统也不可缺乏。
此次课程设计, 我将经过利用MATLAB 软件设计铣床反馈控制系统, 使其含有良好反馈校正, 确保一个较高精度。
二、 设计要求1、 单位斜坡输入21()R s s下速度误差小于18。
2、 阶跃输入响应下超调量小于20%。
三、 设计分析传输函数简化表示下铣床闭环控制方框图以下图所表示:图1. 铣床闭环控制系统其中: Gc(s)为开环控制系统函数, G(s)为铣床本身传输函数, D(s)为外部扰动函数, N(s)为测量噪声干扰。
铣床传输函数为:2()(1)(5)G s s s s =++系统开环稳态误差()1()()()()()()1()1()G s E s R s Y s R s R s R s G s G s =-=-=++代入2()(1)(5)G s s s s =++, 21()R s s=可求得系统单位斜坡响应稳态误差:220011(1)(5)151lim ()lim ()lim lim 2(1)(5)2281(1)(5)>→∞→→→++=====++++++ss t s s s s s s e e t sE s ss s s s ss s s s 此时速度误差不满足要求, 需要加入反馈控制系统。
M A T L A B大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。
(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。
打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。
(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。
不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。
(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。
(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。
第一类:绘制图形。
(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。
斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。
问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。
其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。
接下来对其余三个小三角形重复上述操作,如图所示。
问题三:其他分形曲线或图形。
分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。
这方面的资料很多(如),请分析构图原理并用MATLAB 实现。
问题四:模拟掷骰子游戏:掷1000次骰子,统计骰子各个点出现的次数,将结果以下表的形式显示,并绘制出直方图。
Matlab的基本操作一、使用函数实现对下列矩阵的左旋和右旋以及反转已知答案:如图:矩阵如图矩阵的左旋如图一矩阵的右旋如图二矩阵的左右反转如图三矩阵的上下反转如图四二、已知A=[8 9 5 ] B=[-1 3 -2][36 -7 11] [2 0 3][21 -8 5] [-3 1 9 ]计算:1)A+5*B;2)A*B和A.*B3)A^3和A.^34)A/B和B\A5)[A,B]答案:A=[8 9 5;36 -7 11;21 -8 5];B=[-1 3 -2;2 0 3;-3 1 9];A+5*BA*BA.*BA^3A.^3A/BA\B[A,B]程序运行结果如下:第二章、Matlab程序设计一、已知S=1+2+22+23+…+263求S的值答案:代码如下:ClearClcs=0,j=2for i=1:63s=s+j^iends程序运行结果如下:二、第三章、Matlab绘图一、在同一坐标系中画出下列函数的图像:x2,-x2,xsin(x)在[0,2π]上的函数图像程序代码如下:clearclcx=0:pi/100:2*pi;y1=x.^2;y2=-x.^2;y3=x.*sin(x);title('同一坐标下的函数图像')plot(x,y1,':',x,y2,'h',x,y3,'--')程序运行结果如下:二、绘制极坐标图像:程序代码如下:clearclcx=0:0.01:2*pi;y=2*cos(2*(x-pi/8));title('极坐标图像')xlabel('x')ylabel('y')polar(x,y)程序运行结果如下:第四章、Matlab符号运算一、求函数y=e-x2 的傅立叶变换及其逆变换程序代码如下:clearclcsyms x t;y=exp(-x^2);Ft=fourier(y,x,t)fx=ifourier(Ft,t,x)程序运行结果如下:二、求下列极限值:答案:1、程序代码:clearclcsyms x;s1=sin(2*x)/sin(5*x);limit(s1,x,0)s2=(1+1/x)^(2*x);limit(s2,x,inf)程序运行结果如下:第五章、Matlab数值运算一、建立一个3*4阶随机矩阵,求矩阵的最大值、最小值、方差和标准差、极差、协方差,和自相关阵程序代码如下:clearclcA=rand(3,4)B=var(A)C=std(A)D=range(A)E=cov(A)F=corrcoef(A)程序运行结果如下:二、求函数f(x)=x3-2x+1在x=[-1 1]之间的极小值和x=-1附近的零点程序代码如下:clearclc[x,y]=fminbnd('x.^3-2.*x+1',-1,1)[x,y]=fzero('x.^3-2.*x+1',-1)程序运行结果如下:第六章、Matlab图形用户界面一、建立一个具有三个输入框的窗口对话框程序代码如下:clearclcprompt={'姓名','年龄','班级'};DTitle='注册学生信息';line[1;1;1];def{'乔阳','18','100412105'};info=inputdlg(prompt,DTitle,line,def,'ON')程序运行结果如下:二、设计一个表现下载进度的进度条程序代码如下:clearclch = waitbar(0,'正在下载,请稍等……');for i=1:1000waitbar(i/10000,h)endclose(h)程序运行结果如下:第七章、Matlab Simulink 仿真一、仿真信号x(t)=sin(t)sin(10t)的波形仿真步骤:1.建立模型窗口:生成无标题(intitled)的模型窗口;2.添加信号源模块(sine)、输出模块(scope)、数学模块(Dot product)3.设置模块参数:如下图:4.编辑模块即将各个模块连接起来。
t=0:0.01:10;for sigma=[0.1,0.2,0.3,0.7,1,2,3]num=1;den=[1 sigma 1];G=tf(num,den);step(G,t)hold on;endgrid;hold off;a=' ξ=0.1';text(3,1.7,a),a=' ξ=0.3';text(3,1.4,a),a=' ξ=0.5';text(3,1.15,a),a=' ξ=0.7';text(3,1,a),a=' ξ=1';text(3,0.8,a),a=' ξ=2';text(4,0.6,a),a=' ξ=3';text(3,0.3,a),title('阶跃响应')1-8(a)2num=[1];t=0:0.1:20;den=[1 0.6 1];G=tf(num,den);y=step(G,t);plot(t,y);grid;[ym,km]=max(y);line(t(km),ym,'marker','.','markeredgecolor','r','markersize',20); ystr=['ymax=',sprintf('%1.6g',ym)];tstr=['tp=',sprintf('%1.4g',t(km))];text(t(km)+1,ym-0.05,{ystr,tstr});ttt=t(find(abs(y-1)>0.05));ts=max(ttt);hold on;plot(ts,1.05,'bo','markersize',10); hold off;text(ts+1.2,1.05,['ts=',num2str(ts)]);tt=t(find(y-1>0));tr=min(tt);hold on;plot(tr,1,'bo','markersize',10); hold off;text(tr,0.9,['tr=',num2str(tr)]);1-8(b)1t=0:0.01:20;for x=0.1:0.1:1num=[x*x]den=[1 x x*x];G=tf(num,den);step(G,t)hold on;endhold off;1-8(b)2num=[0.49];t=0:0.1:20;den=[1 0.7 0.49];G=tf(num,den);y=step(G,t);plot(t,y);grid;[ym,km]=max(y);line(t(km),ym,'marker','.','markeredgecolor','r','markersize',20); ystr=['ymax=',sprintf('%1.6g',ym)];tstr=['tp=',sprintf('%1.4g',t(km))];text(t(km)+1,ym-0.05,{ystr,tstr});ttt=t(find(abs(y-1)>0.05));ts=max(ttt);hold on;plot(ts,1.05,'bo','markersize',10); hold off;text(ts+1.2,1.05,['ts=',num2str(ts)]);tt=t(find(y-1>0));tr=min(tt);hold on;plot(tr,1,'bo','markersize',10); hold off;text(tr,0.9,['tr=',num2str(tr)]);2-2(1)for i=0.1:0.2:0.9;num=[1];den=[1 2*i 1];bode(num,den);hold on;end;hold off;legend('tao=0.1','tao=0.3','tao=0.5',’tao=0.7’,’tao=0.9’);2-2(2)for i=0.1:0.2:0.9;y=tf(i*i,[1 2*0.707*i i*i]);hold on;bode(g);hold off;end;grid;legend('w=0.1','w=0.3','w=0.5','w=0.7','w=0.9');2-5num=100*conv([1 5],[1 5]);den=conv([1 1],[1 1 9]);G=tf(num,den);[Gm,Pm,Wcg,Wcp]=margin(G);G_close=feedback(G,1);step(G_close);运行结果:Gm =Inf Pm =85.4365 Wcg =NaN Wcp =100.3285。
华中科技大学电气与电子工程学院《MATLAB课程作业》班级学号姓名时间2014年12月25日目录一.概述 (2)二.设计要求 (2)三.设计分析 (2)1.系统的稳态误差理论分析 (3)2.系统稳态误差仿真分析 (3)3.阶跃响应仿真分析 (4)四.根轨迹法设计相位滞后环节 (9)1.相位滞后环节设计 (9)2.加入相位滞后环节的仿真分析 (10)五.超前校正设计 (11)1.超前校正器设计 (11)2.超前校正仿真分析 (13)六.滞后校正设计 (17)1.滞后校正器设计 (17)2.仿真分析 (18)七.总结 (20)参考文献 (21)反馈控制系统设计—铣床控制系统设计一.概述铣床是指主要用铣刀在工件上加工各种表面的机床。
通常铣刀旋转运动为主运动,工件和铣刀的移动为进给运动。
它可以加工平面、沟槽,也可以加工各种曲面、齿轮等。
铣床是用铣刀对工件进行铣削加工的机床。
铣床除能铣削平面、沟槽、轮齿、螺纹和花键轴外,还能加工比较复杂的型面,效率较刨床高,在机械制造和修理部门得到广泛应用。
铣床的自动控制系统的设计直接影响到加工的精度,影响产品的工艺。
所以,本文通过利用MATLAB 和Simulink 对铣床的控制系统做一个校正设计,使其具有相应的性能.二.设计要求1、单位斜坡输入21()R s s作用下 ,速度误差不大于18; 2、阶跃输入时的超调量小于20%.三.设计分析用Visio 画出一个简化的铣床闭环控制系统的方框图如图二所示.图1. 简单的铣床闭环控制系统图1中,D(s )为外部扰动,N(s )为测量噪声干扰。
铣床的传递函数为:2()(1)(5)G s s s s =++首先,在没有控制器()C G s 的情况下,看看系统的输出结果。
1. 系统的稳态误差理论分析系统的稳态误差为:()1()()()()()()1()1()G s E s R s Y s R s R s R s G s G s =-=-=++式中,2()(1)(5)G s s s s =++,21()R s s=。
matlab大作业学号姓名:年级:专业:1、产生一个10 10的随机矩阵A,要求A中元素均为整数,范围[1,50]。
1)求出A中所有元素之和S,平均值M。
2)找到所有小于平均值,且能被3整除的元素。
3)绘制出A的二维纵向柱状图,横坐标为[8 5 9 1 2 3 4 7 10 13],条形宽度为0.7的“stacked”样式。
代码如下:clc,clear all,close allA=round(rand(10,10)*50);disp(A)S=sum(sum(A));P=mean(mean(A));disp(S)disp(P)disp('所有小于平均数且能被三整除的元素')XPS=H((mod(H,3)==0)&(H<P));disp(XPS')subplot(1,1,1),bar(A,0.7,'stacked'),title('ygh');set(gca,'XTickLabel',{'8','5','9','1','2','3','4','7','10','13'})2、产生一个随机四位密码。
用户用“input”进行输入对比。
猜错提示“WRONG”,正确提示“RIGHT”同时退出程序,最多五次机会。
代码如下:clc,clear all,close alldisp('请输入密码')A=round(8999*rand(1,1))+1000;m=1;while m<=5N=input('请输入一个四位数:');if A==N;disp('RIGHT');breakelsedisp('WRONG');endm=m+1;enddisp('密码是:')disp(A)disp('输入结束')3、按照脚本文件的编程风格,用for和while循环嵌套输出如下的乘法口诀表。
M A T L A B大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。
(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。
打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。
(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。
90问题五:利用MATLAB软件绘制一朵鲜花,实现一定的仿真效果。
提示:二维/三维绘图,对花瓣、花蕊、叶片、花杆等的形状和颜色进行详细设置。
第二类:插值与拟合。
(B级)问题一:有人对汽车进行了一次实验,具体过程是,在行驶过程中先加速,然后再保持匀速行驶一段时间,接着再加速,然后再保持匀速,如此交替。
注意,整个实验过程中从未减速。
在一组时间段50个时间点的速度。
(2)绘制插值图形并标注样本点。
问题二:估算矩形平板各个位置的温度。
已知平板长为5m,宽为3m,平板上3×5栅格点上的温度值为44,25,20,24,30;42,21,20,23,38;25,23,19,27,40。
(1)分别使用最近点插值、线性插值和三次样条插值进行计算。
(2)用杆图标注样本点。
(3)绘制平板温度分布图。
对a,b,c,d的值。
提示:曲线拟合并绘图分析第三类:定积分问题。
(B级)问题一:地球密度随着离中心(r=0)距离的变化而变化,不同半径处的密度如表所示,试估问题二:河道平均流量Q(m3/s)可使用速度和深度的乘积的积分来计算(河道横截面不规则),公式如下。
其中V(x)是离岸x(m)距离处的水速(m/s),H(x)是离岸x距离处的水深(m)。
根据收集到过5(1(2(3(Q,单位是m(1(2(1(2(3)将节点1的力改为方向向上,计算这种改变对H2和V2的影响。
(4)将节点1的力撤销,而在节点1和2处施加1500N的水平外力,求节点3处垂直反作用力(V3)。
引言铣床是以各类电动机为动力的传动装置与系统的对象以实现生产过程自动化的技术装置。
电气系统是其中的主干部分,在国民经济各行业中的许多部门得到广泛应用。
自动铣床具有工作平稳可靠,操作维护方便,运转费用低的特点,已成为现代生产中的主要设备。
自动铣床控制系统的设计是一个很传统的课题,现在随着各种先进精确的诸多控制仪器的出现,铣床控制的设计方案也越来越先进,越来越趋于完美。
我们之前学习了自动控制原理,要学会把学习的知识用在现实生活的具体设计之中,才能更深的体会和理解这些知识。
这次我们通过Matlab仿真工具Simulink,完成对该控制系统仿真简单建模,进行简单仿真分析和研究。
一、设计要求图1铣床的基本模型现有一个控制器的传递函数为的磨床,要对它进行校正,使它达到以下的要求:1、对于斜坡输入R(s)=,输出地稳态误差为。
2、对于阶跃输入,输出的超调量要小于20%。
图2系统的抽象框图图2系统的开环传递函数G(s):二、设计原理及思路控制系统的动态性能、稳定性和稳态性能通常是矛盾的:增大系统开环增益可使系统稳态误差减小,但是也将减小系统的阻尼比,是系统的超调量和振荡增加;同样,增加开环积分环节可以提高系统类型,是系统跟踪输入信号的能力加强,却有可能导致系统动态性能恶化,甚至不稳定。
因此,为了使控制系统同时具有满意的动态性能和稳态性能,就需要对系统加入一些校正环节。
校正的基本思想就是:低频段具有足够高的增益值,以保证稳态误差足够小;中频段具有-20dB/dec的斜率,保证系统的稳定性;高频段具有足够负的斜率,保证抑制噪声干扰能力。
本次实验采用超前校正环节改善系统性能,观察它的阶跃响应和斜坡响应,确定需要采用哪几个参数来描述这个校正器,再根据题目的各个条件,分别算出各个参数需要满足的范围,最后用Matlab对经过校正后的系统进行仿真,如果发现波形还有些不够满足题目要求,再对参数进行微小的调整,最终使得它满足题目的要求。
2008 级《MATAB语言与控制系统仿真》课程大作业姓名赖智鹏学号 u200811806所在院系电气与电子工程学院班级电气0809日期 1月16日同组人员作业评分评阅人设计报告评分表DOC.PI控制器设计与讨论1.引言本文讨论的对象是智能交通/高速公路系统IVHS(习题7.3),系统通过电子技术为驾驶者和控制系统提供实时路面情况,该系统还提供更方便服务,驾驶者可不用自己操纵驾驶,而系统自动控制车辆,且保持车相对速度,以实现交通的有序进展。
本文前半局部讨论了PI 控制器参数的设计问题,根据性能指标推导控制器参数的约束条件,通过相关算法找到问题的解,后半局部讨论系统参数变化时对系统性能的影响,通过比拟得出综合性能较优的控制器参数。
2.给定系统的控制器设计2.1性能分析:〔1〕阶跃响应零稳态误差。
由原系统为零型系统,故必须通过控制器在原点参加至少一个开环极点,可选择的由PI 控制器、PID 控制器等,而单独使用比例控制器已达不到目标。
〔2〕要求系统对爬坡响应的跟踪误差小于25%,故Kv>4,从而有:001416s s Kv sGcG sGc ->->==>∑∑。
〔3〕阶跃响应的超调量小于5%,所以如果校正后系统近似为2阶系统,要求阻尼比ξ>0.7。
〔4〕调节时间Ts=4/n ξω<1.5s 〔2%〕,所以有n ξω>4/1.5=2.67。
就目前分析,单独使用比例控制器不能满足要求,而在考虑选择PID 控制器之前我们选择相对简单的PI 控制器:iP KGc K S =+。
图 1 原系统做出根轨迹图并作出满足性能指标的区域:rlocus(G); hold on;plot([-2.66 -2.66],[-20 20]);%指定性能指标在根轨迹图中所在区域 zeta=0.7;plot([0 -20*zeta],[0 20*sqrt(1-zeta^2)],[0 -20*zeta],[0 -20*sqrt(1-zeta^2)]); %指定性能指标在根轨迹图中所在区域。
matlab 期末大作业(30分,每题6分)1. 积分运算(第四数值和五章符号)(1)定积分运算:分别采用数值法(quad ,dblquad )和符号运算(syms, int )一重定积分π⎰1. 数值法(quad )a) 运行代码:b) 运行结果:2. 符号运算(syms )a) 运行代码:b) 运行结果:二重定积分112200()x y dxdy+⎰⎰1.数值法(dblquad):a)运行代码:b)运行结果:2.符号运算(syms):a)运行代码:b)运行结果:(2) 不定积分运算sin dxdy ⎰⎰((x/a)+b/y) i.运行代码:ii.运行结果:2. 用符号法和数值法求解线性代数方程 (第五章和第二章)⎩⎨⎧=+=+12*22x *213*12x *a11y a a y a (1) 用syms 定义待解符号变量x,y 和符号参数a11,a12,a21,a22,用符号solve 求x,y 通解 1. 运行代码:2. 运行结果:(2) 用subs 带入a11=2,a12=4,a21=6,a22=8,求x 和y 特解,用vpa 输出有效数值4位的结果 1. 运行代码:2. 运行结果:(3) 采用左除(\)和逆乘法求解符号参数赋值后的方程 ⎩⎨⎧=+=+12*8x *63*4x *2y y1. 运行代码:2. 运行结果:3.数值法和符号法求解非线性方程组(第四数值和五章符号 )(1)采用数值法(fsolve )求解初始估计值为x0 = [-5; -5]的数值解1. 运行代码:2. 运行结果:21x 21x 21e x 2x e x x 2--=+-=-(2)符号法(solve )的符号结果用eval 或double 转化为数值结果.1. 运行代码:2. 运行结果:4. 解二阶微分方程 (第四数值和五章符号 )⎪⎩⎪⎨⎧===++6)0(',0)0(09322y y y dx dy dx y d(1)数值ode 求特解,用plot (x,y) 画t 在[0,10]范围内(x ,y )数值曲线 1. 运行代码:2. 运行结果:(2)符号运算dsolve求通解,用ezplot画t在[0,10]范围内(x,y)符号曲线1. 运行代码:2. 运行结果:5. 三维绘图(第六章)已知:x和y都在[-8,8]范围内,采用subplot(3,1,x)绘制三个子图,它们分别是用meshgrid和mesh绘制网格图、用c=contour 绘制等位线和用surf 绘制曲面图1.运行代码:2.运行结果:。
m a t l a b综合大作业(附详细答案)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII《MATLAB语言及应用》期末大作业报告1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;实验程序:A=1+sqrt(4)*randn(5)实验结果:A =0.1349 3.3818 0.6266 1.2279 1.5888-2.3312 3.3783 2.4516 3.1335 -1.67241.2507 0.9247 -0.1766 1.11862.42861.5754 1.6546 5.3664 0.8087 4.2471-1.2929 1.3493 0.7272 -0.6647 -0.38362)将矩阵A按列拉长得到矩阵B;实验程序:B=A(:)实验结果:B =0.1349-2.33121.25071.5754-1.29293.38183.37830.92471.65461.34930.62662.4516-0.17665.36640.72721.22793.13351.11860.8087-0.66471.5888-1.67242.42864.2471-0.38363)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)]实验结果:C =3.3783 3.13350.9247 1.11864)寻找矩阵A中大于0的元素;]实验程序:G=A(find(A>0))实验结果:G =0.13491.25071.57543.38183.37830.92471.65461.34930.62662.45165.36640.72721.22793.13351.11860.80871.58882.42864.24715)求矩阵A的转置矩阵D;实验程序:D=A'实验结果:D =0.1349 -2.3312 1.2507 1.5754 -1.29293.3818 3.3783 0.9247 1.6546 1.34930.6266 2.4516 -0.1766 5.3664 0.72721.2279 3.1335 1.1186 0.8087 -0.66471.5888 -1.67242.4286 4.2471 -0.38366)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;实验程序:E=flipud(fliplr(A))实验结果:E =-0.3836 -0.6647 0.7272 1.3493 -1.29294.2471 0.80875.3664 1.6546 1.57542.4286 1.1186 -0.1766 0.9247 1.2507-1.6724 3.1335 2.4516 3.3783 -2.33121.5888 1.2279 0.6266 3.3818 0.13497)删除矩阵A的第2列和第4列得到矩阵F;实验程序:F=A;F(:,[2,4])=[]实验结果:F =0.1349 0.6266 1.5888-2.3312 2.4516 -1.67241.2507 -0.17662.42861.5754 5.3664 4.2471-1.2929 0.7272 -0.38368)求矩阵A的特征值和特征向量;实验程序:[Av,Ad]=eig(A)实验结果:特征向量Av =-0.4777 0.1090 + 0.3829i 0.1090 - 0.3829i -0.7900 -0.2579 -0.5651 -0.5944 -0.5944 -0.3439 -0.1272-0.2862 0.2779 + 0.0196i 0.2779 - 0.0196i -0.0612 -0.5682 -0.6087 0.5042 - 0.2283i 0.5042 + 0.2283i 0.0343 0.6786 0.0080 -0.1028 + 0.3059i -0.1028 - 0.3059i 0.5026 0.3660 特征值Ad =6.0481 0 0 0 00 -0.2877 + 3.4850i 0 0 00 0 -0.2877 - 3.4850i 0 00 0 0 0.5915 00 0 0 0 -2.30249)求矩阵A的每一列的和值;实验程序:lieSUM=sum(A)实验结果:lieSUM =-0.6632 10.6888 8.9951 5.6240 6.208710)求矩阵A的每一列的平均值;实验程序:average=mean(A)实验结果:average =-0.1326 2.1378 1.7990 1.1248 1.24172.符号计算(10分,每小题5分):1)求方程组20,0++=++=关于,y z的解;uy vz w y z w实验程序:S = solve('u*y^2 + v*z+w=0', 'y+z+w=0','y,z');y= S. y, z=S. z实验结果:y =[ -1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))-w] [ -1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))-w] z =[ 1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))] [ 1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))]2)利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解; 实验程序:[x,y]=dsolve('Dx=y','Dy=-x')实验结果:x =-C1*cos(t)+C2*sin(t)y = C1*sin(t)+C2*cos(t)3.数据和函数的可视化(20分,每小题5分):1)二维图形绘制:绘制方程2222125x y a a +=-表示的一组椭圆,其中0.5:0.5:4.5a =;实验程序:t=0:0.01*pi:2*pi; for a=0.5:0.5:4.5; x=a*cos(t); y=sqrt(25-a^2)*sin(t); plot(x,y) hold on end实验结果:2) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;实验程序:x=0:0.1:4; y1=sin(x); y2=10.^x;[ax,h1,h2]=plotyy(x,y1,x,y2); set(h1,'LineStyle','.','color','r'); set(h2,'LineStyle','-','color','g'); legend([h1,h2],{'y=sinx';'y=10^x'});实验结果:3)用曲面图表示函数22z x y =+;实验程序:x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z)实验结果:4)用stem 函数绘制对函数cos 4y t π=的采样序列;实验程序:t=-8:0.1:8;y=cos(pi.*t/4); stem(y)实验结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x+=,要求设计出一个FIR 滤波器恢复出原始信号。
铣床(the milling machine)的系统设计一、引言本学期开始学习《MATLAB语言、控制系统分析与设计》,其实最早接触matlab是在学习概率论时。
在老师的讲解与自己平时的练习中,不断地使用和学习matlab软件。
其实一开始学习的目标就不局限于控制系统领域,希望了解该软件的各种用途。
当然了,最基本的用途是绘图。
经过半个学期的汲取,觉得它用途广泛,功能强大。
我最喜欢的就是它的仿真(simulink),也许是对于初学者来说最简单的操作。
学习matlab的同时,也同时加深了对控制系统知识的掌握。
自控中的绘图可以在matlab下的响应分析的图形用户界面(ltiview)中建立。
此外还有sisotool等自控方面的超强工具箱。
图10.1铣床模型图10.2铣床系统方框图铣床系统的开环传递函数2()(1)(5)G s s s s =++ (10.1)设计要求:重新设计滞后校正器参数1)对于斜坡输入2()aR s s =,稳态误差小于8a2)使校正后系统的阶跃响应超调量..20%P O ≤对于(1)参数a 不影响系统的设计,在以下分析中作为‘1’处理本章的核心是滞后校正系统,但之所以对铣床系统采用滞后校正,理由见(四)深入探讨中频域下的分析。
另外我们超前校正器、超前-滞后校正器、PI 校正器、PD 校正器、PID 校正器。
二、设计方法以运用matlab 编程为主,其他各种工具箱为辅助根据极点、零点、增益输入原系统开环传递函数,并加入单位负反馈构成闭环系统 程序1G=zpk([],[0,-1,-5],2);%原系统开环传递函数 sys=feedback(G,1);%单位负反馈,构成闭环 得到2()(1)(5)G s s s s =++ (10.2)22( 5.096)(0.90420.3925)sys s s s =+++ (10.3)第一个要求稳态误差小于a/8 程序2 tf1=10; a=1;t=[0:0.1:tf1];u=a*t;%斜坡输入y_t=lsim(sys,u,t);plot(t,y_t,'b-',t,u,'r:') yss=y_t(length(t));y_deta=t(length(t))-yssif y_deta<(a/8)%稳态误差小于a/8disp('yes')elsedisp('no')end图10.3原系统单位斜坡输入的稳态误差得到原系统E(s)=2.500 no根据闭环传递函数求原系统性能程序3step(sys);%加阶跃响应Step ResponseTime (sec)A m p l i t u d e051015图10.4原系统阶跃响应第二个要求超调量小于20%,则根据阻尼比与超调量的函数关系..100*P O = (10.4)程序4sigmaN=0.2;%要求超调上限 A=log(1/sigmaN);zeta=sqrt((A^2)/(pi^2+A^2)); 得到阻尼比0.4559ξ= 引入滞后校正系统(),c K s z G s p z s p α+=<+,zp α=(10.5) 先考虑要求(1)lim ()lim ()()8s c s a asE s sG s G s →→=<(10.6)lim ()()8c sG s G s ⇒> (10.7)22855vcomp K z z K K p p α⎛⎫⎛⎫⎛⎫⎛⎫⇒==> ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎝⎭ (10.8)210(1)(5)Ks s s ⇒+=++ (10.9)画出其根轨迹并且找到满足0.4559ξ>的点,程序5n=[2];d=[1 6 5 0]; rlocus(n,d),hold on gridz=0.4559; hs=12*z;hc=12*sqrt(1-z^2);plot([0 -hs],[0 hc],'--',[0 -hs],[0 -hc],'--') text(-9.5,1,'Desired performance region')会显示Select a point in the graphics window 之后在图上找符合条件的点Root LocusReal AxisI m a g i n a r y A x i s图10.5原系统的根轨迹来求取K 的临界值为了精确性采用Data Cursor ,得到闭环极点p=-0.401+0.782i2.02K =Root LocusReal AxisI m a g i n a r y A x i s图10.6找寻K 临界值仅当引入增益K 下,系统的阶跃响应程序6G=zpk([],[0,-1,-5],2);%原系统开环传递函数 G2=2.02*G;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环 step(sys2)Step ResponseTime (sec)A m p l i t u d e0510150.20.40.60.811.21.4图10.7引入增益2.02下的阶跃响应要满足要求一则:22855vcomp K z z K K p p α⎛⎫⎛⎫⎛⎫⎛⎫⇒==> ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎝⎭ (10.10)根据K ,并取10vcomp K =程序7Kvc=10;%Kvcopm>8 Kgang=2.02;%K/alpha Kvu=2*Kgang/5;alpha=Kvc/Kvu %alpha 即z/p 得到零点与极点的倍数12.3762α=得到了校正后系统开环传递函数0.012382() 4.04(1)(5)(0.001)s G s s s s s +=+++ (10.11)看系统是否符合要求(1)程序8G=zpk([],[0,-1,-5],2);%原系统开环传递函数p=0.001;z=alpha*p;nc=[1 z];dc=[1,p];Gc=2.02*tf(nc,dc);G2=G*Gc;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环系统建立后,输入斜坡信号程序9tf1=10000;a=1;t=[0:0.1:tf1];u=a*t;%斜坡输入y_t=lsim(sys2,u,t);plot(t,y_t,'b-',t,u,'r:')yss=y_t(length(t));y_deta=u(length(t))-yssif y_deta<(a/8)%稳态误差小于a/8disp('yes')%符合要求(1)elsedisp('no')%不符合end得到==yesE s y a()_det0.100图10.8第一次校正后系统斜坡响应接着检验其阶跃响应程序10G=zpk([],[0,-1,-5],2);%原系统开环传递函数p=0.001;z=alpha*p;nc=[1 z];dc=[1,p]; Gc=2.02*tf(nc,dc);G2=G*Gc;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环 step(sys2)Step ResponseTime (sec)A m p l i t u d e01020304050600.20.40.60.811.21.4图10.9第一次校正后的系统阶跃响应超调21.2%,需要继续调整令参数稍微改变, 2.02,1.90,2.1K程序11G=zpk([],[0,-1,-5],2);%原系统开环传递函数 p=0.001;z=alpha*p; nc=[1 z];dc=[1,p]; Gca=2.02*tf(nc,dc); Gcb=1.90*tf(nc,dc);Gcc=2.1*tf(nc,dc);%引入K/alpha G2a=G*Gca; G2b=G*Gcb; G2c=G*Gcc;sys2a=feedback(G2a,1);%单位负反馈,构成闭环 sys2b=feedback(G2b,1); sys2c=feedback(G2c,1); step(sys2a,'b--') hold onstep(sys2b,'r:') step(sys2c,'y-')Step ResponseTime (sec)A m p l i t u d e0.20.40.60.811.21.4图10.10对参数稍作调整的系统阶跃响应当 1.90K 时才能使超调降低到20%以下 再次使用求K 临界值的程序验证程序12 hold off clgn=[2];d=[1 6 5 0]; rlocus(n,d),hold on gridz=0.4559; hs=12*z;hc=12*sqrt(1-z^2);plot([0 -hs],[0 hc],'--',[0 -hs],[0 -hc],'--') text(-9.5,1,'Desired performance region') rlocfind(n,d)-0.42-0.415-0.41-0.405-0.4-0.395-0.39-0.385-0.380.770.7750.780.7850.79Root LocusReal AxisI m a g i n a r y A x i s图10.11在根轨迹上调整参数探索验证可以看出 2.02K ≤的点满足要求(2) 对0.12.0K =进行探索程序13G=zpk([],[0,-1,-5],2);%原系统开环传递函数 Kvc=10;%Kvcopm>8 y=zeros(200,1);i=0;for K=0.1:0.1:2%K/alpha Kvu=2*K/5;alpha=Kvc/Kvu;%alpha 即z/p p=0.001;z=alpha*p; nc=[1 z];dc=[1,p];Gc=K*tf(nc,dc);%引入K/alpha G2=G*Gc;sys2=feedback(G2,1);%单位负反馈,构成闭环 t=[0:0.1:19.9]; i=i+1;y(:,i)=step(sys2,t); endplot(y)legend('K=0.1','K=0.2','K=0.3','K=0.4','K=0.5','K=0.6','K=0.7','K=0.00.511.5图10.12不同取值下的阶跃响应求各曲线超调量,先将时间范围扩大到200程序14G=zpk([],[0,-1,-5],2);%原系统开环传递函数 Kvc=10;%Kvcopm>8 y=zeros(200,1);i=0;for K=0.1:0.1:2%K/alpha Kvu=2*K/5;alpha=Kvc/Kvu;%alpha 即z/p p=0.001;z=alpha*p; nc=[1 z];dc=[1,p];Gc=K*tf(nc,dc);%引入K/alpha G2=G*Gc;sys2=feedback(G2,1);%单位负反馈,构成闭环 t=[0:1:199];%改变时间长度 i=i+1;y(:,i)=step(sys2,t); endplot(y)legend('K=0.1','K=0.2','K=0.3','K=0.4','K=0.5','K=0.6','K=0.7','K=0.00.20.40.60.811.21.41.61.8图10.13时间轴扩大100观察分布情况 程序15sigma=zeros(20,20);j=0;Kgan=zeros(20,20); for i=1:1:20;[mp,tf]=max(y(:,i));%求最大幅值点 yss=y(length(t));%求稳态值 tp=t(tf);%峰值时间 j=j+1;Kgan(j,1)=j/10;%K/alphasigma(j,1)=100*(mp-yss)/yss;%超调量 endplot(Kgan,sigma,[0 2],[20 20]) gridxlabel('K/alpha') ylabel('Overshoot')K/alphaO v e r s h o o t图10.14K 与..P O 的关系若找到K 的取值范围,问题就比较清晰程序16n=find(sigma(:,1)<20);%找满足要求二的K/alpha Kn=Kgan(n,1)0.5 1.9K <<再考虑0.12.0K =的情况下的单位斜坡输入的稳态误差程序17G=zpk([],[0,-1,-5],2);%原系统开环传递函数 Kvc=10;%Kvcopm>8y=zeros(200,1);i=0;y_deta=zeros(20,1);Kgan=zeros(20,1); for K=0.1:0.1:2%K/alpha Kvu=2*K/5;alpha=Kvc/Kvu;%alpha 即z/p p=0.001;z=alpha*p; nc=[1 z];dc=[1,p];Gc=K*tf(nc,dc);%引入K/alpha G2=G*Gc;sys2=feedback(G2,1);%单位负反馈,构成闭环 t=[0:1:199]; i=i+1;Kgan(i,1)=i/10;u=t;y(:,i)=lsim(sys2,u,t); yss=y(length(t),i);y_deta(i,1)=u(length(t))-yss if y_deta(i,1)<(1/8)%稳态误差小于a/8 disp('yes')%符合要求(1) elsedisp('no')%不符合 end endplot(Kgan,y_deta,[0 2],[0.125 0.125])%找到误差小于a/8的直线 gridxlabel('K/alpha') ylabel('E(s)')K/alphaE (s )图10.15K 与稳态误差的关系程序18m=find(y_deta<0.125);%找满足要求一的K/alpha Km=Kgan(m,1) 得到0.2 1.1K <<综合上述两个范围0.5 1.1K <<三、结果分析令1K=程序19Kvc=10;%Kvcopm>8Kgang=1;%K/alphaKvu=2*Kgang/5;alpha=Kvc/Kvu;%alpha即z/p将参数带入校正后系统程序20G=zpk([],[0,-1,-5],2);%原系统开环传递函数p=0.001;z=alpha*p;nc=[1 z];dc=[1,p];Gc=1*tf(nc,dc);G2=G*Gc;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环求单位斜坡响应程序21tf1=1000;a=1;t=[0:0.1:tf1];u=a*t;%斜坡输入y_t=lsim(sys2,u,t);plot(t,y_t,'b-',t,u,'r:')gridyss=y_t(length(t));y_deta=u(length(t))-yss;if y_deta<(a/8)%稳态误差小于a/8disp('yes')%符合要求(1)elsedisp('no')%不符合end得到()_det0.1000.125E s y a==<,yes,校正系统为100025()10001csG ss+=+(10.12)然后求单位阶跃响应step(sys2)Step ResponseTime (sec)A m p l i t u d e0204060801001200.20.40.60.81.21.4图10.16K =1的系统阶跃响应再讨论0.5K 程序23Kvc=10;%Kvcopm>8 Kgang=0.5;%K/alpha Kvu=2*Kgang/5;alpha=Kvc/Kvu;%alpha 即z/pG=zpk([],[0,-1,-5],2);%原系统开环传递函数 p=0.001;z=alpha*p; nc=[1 z];dc=[1,p]; Gc=Kgang*tf(nc,dc);G2=G*Gc;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环 tf1=1000; a=1;t=[0:0.1:tf1];u=a*t;%斜坡输入y_t=lsim(sys2,u,t);plot(t,y_t,'b-',t,u,'r:')yss=y_t(length(t));y_deta=u(length(t))-yss; if y_deta<(a/8)%稳态误差小于a/8 disp('yes')%符合要求(1) elsedisp('no')%不符合 end得到()_det 0.1000.125E s y a ==<,yes50025()10001c s G s s +=+ (10.13)程序24step(sys2)Step ResponseTime (sec)A m p l i t u d e01020304050607080900.20.40.60.811.21.4图10.17K =0.5的系统阶跃响应四、深入探讨从频域下分析 先做原系统的伯德图程序25G=zpk([],[0,-1,-5],2);%原系统开环传递函数bode(G);%原系统伯德图 gridFrequency (rad/sec)M a g n i t u d e (d B)1010101010P h a s e (d e g )图10.18原系统伯德图程序26G=zpk([],[0,-1,-5],2);%原系统开环传递函数 [mag,phase,w]=bode(G);%原系统伯德图 m=find(phase>=-135); w1=w(max(m))得到当0.6877/sec w rad =,相位等于45deg 频率穿越点0.374/sec w rad =系统已经满足要求二,而且有23.5dB 的增益裕度 若利用增益K 来调节系统使其满足要求:2()(1)(5)KG s s s s =++ (10.14)对于要求一:01/5()0.125lim1()2s s aess t a G s K →===+ (10.15)得到K=20程序28G=zpk([],[0,-1,-5],2);%原系统开环传递函数 bode(G);%原系统伯德图 hold onbode(20*G)%引入增益K gridlegend('K=1','K=20')Frequency (rad/sec)M a g n i t u d e (d B)P h a s e (d e g )图10.19增益校正前后系统伯德图虽然K=20满足条件一可是相位裕度为负,闭环系统不稳定 所以不能用使用单一的增益校正。
Matlab大作业大作业要求:1 以下matlab编程和simulink题目各选做一个,大作业总共两道题。
2如果不做给定的题目,自己选题,提前qq(244731524)上和我说下,根据题目的难易,可以考虑多给些时间。
3 第十周前由各班学委统一将纸质版交给我,写上班级,学号,姓名。
4 请勿抄袭。
Matlab编程1、使用m文件对周期信号频域进行分析(1)用matlab求周期矩形脉冲的傅里叶级数,并绘制出周期矩形脉冲信号及其频谱图(2),用matlab求改变周期、脉冲宽度后的周期矩形脉冲的傅里叶级数和频谱,并分析周期,脉宽对周期信号频谱的影响。
2、使用m文件对非周期信号频域进行分析(1)用matlab对矩形脉冲信号的频谱进行分析(2)利用matalb函数绘制给定信号的幅度谱和相位谱。
Simulink1、使用Simulink的积分模块求解二阶微分方程:x’’+0.2x’+0.4x =0.2u(t) ,u (t) 是单位阶跃函数a、用积分模块创建求解微分方程的模型思路:利用连续系统模块库中的积分器Integrator,解微分方程。
建模仿真:阶跃信号Step ,求和sum,常数增益gain,积分器,示波器scopeb、用传递函数求微分方程思路:对微分方程作laplace变换,移项整理后求得传递函数,利用连续系统模块库中的传递函数模块Transfer Fcn ,解微分方程。
建模仿真:阶跃信号Step ,示波器scope,传递函数模块Transfer Fcn等2、使用simupower system模块求解电路。
电路如图所示,参数如下:R1=2,R2=4,R3=12,R4=4,R5=12,R6=4,R7=2,Us=10V。
求i3,U4,U7;。
电磁场作业电气1202 XXX U201200000一.作业一1.程序框图2.程序clear;col = 61; %第一行点数row = col; %行数span = 0.3/(col-1); %步长End = ones(1,col)*col; %每一行的终止点Start = ones(1,col); %每一行的起始点A = zeros(row,col); %A矩正存储每点电势for i = (col-1)/3+1:(col-1)*2/3+1for j = (col-1)/3+1:(col-1)*2/3+1A(i,j) =100;endend %初始化电势完毕temp = A;for n= 1:500 %迭代次数for i = 2:row-1if ( i<((col-1)/3+1)||i>( (col-1)*2/3+1 ) )for j = Start(i)+1:End(i)-1temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;endelsefor j = 2:(col-1)/3temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;endfor j = 2*(col-1)/3+2:col-1temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;endendA = temp;endendX = row:-1:1;Y = col:-1:1;[X,Y] = meshgrid(X,Y);figure(1);surf(rot90(A,2));figure(2);contour(rot90(A,2));hold on;[Gx,Gy] = gradient(A,1,1);quiver(Gx,Gy);3.计算机绘图二.作业二1.程序框图2.程序100V0Vclear;col=101;row=101;A=zeros(row,col);for i=11:101A(i,11)=100;endfor j=11:101A(11,j)=100;endfor i=2:10A(i,col)=10*i-10;endfor j=2:10A(row,j)=10*j-10;endA1=A;x=1;t=0;while x>0.1x=0;for i=2:100for j=2:100if (i>1&&i<11)||(j>1&&j<11)A1(i,j)=(A(i,j-1)+A(i,j+1)+A(i-1,j)+A(i+1,j))/4;t=abs(A(i,j)-A1(i,j));if (t>x)x=t;endendendendA=A1;endX = 1:1:row;Y = 1:1:col;[X,Y] = meshgrid(X,Y);figure(1);surf(rot90(A,4));figure(2);contour(rot90(A,4));hold on;[Gx,Gy] = gradient(A,1,1);quiver(Gx,Gy);3.计算机绘图三.作业三1.程序框图2.程序clear;N = 41; %第一行点数h = 0.2/(N-1); %步长row = (N+1)/2; %行数E = N:-1:N-row+1;%每一行的终止点S = 1:1:N-row+1;%每一行的起始点A = zeros(row,N); %A矩阵存储每点电势A(1,:)=ones(1,E(1))*100; %初始化电势for i = 1:rowA(i,S(i)) = 0;A(i,E(i)) = 0;end %初始化电势完毕temp = A;for n= 1:600 %迭代次数for i = 2:rowfor j = S(i):E(i)if j ==S(i) || j==E(i)temp(i,j)=0;elsetemp(i,j)=(3*A(i-1,j) +3*A(i+1,j) +A(i,j-1) +A(i,j+1))/8;endendendA = temp;endX = row:-1:1;Y = N:-1:1;[X,Y] = meshgrid(X,Y);figure(1);surf(rot90(A,2));figure(2);contour(rot90(A,2));3.计算机绘图。
一、大作业题目:
1、MATLAB在XXXXXX课程中的应用
比如在信号与系统、数字信号处理、自动控制原理、数据压缩等课程中的应用
2、SIMULINK在通信系统中的应用
3、GUI界面设计(可把绘图、程序设计结合起来)
4、实现一定的功能的程序
上述题目可任选一题做,也可自行选题做,希望大家通过做这次大作业,也能使自己有所提高,有所收获。
二、大作业要求交电子版和纸制版。
纸制版:大作业写成报告的形式,用A4纸打印,封面写上题目班级学号,报告里面必须包含设计思路,设计过程,设计结果。
(不参加检查答辩的同学的电子版交给学习委员或班长)
电子版:要求交源程序、报告电子版本。
(所有同学的电子版交给学习委员或班长)
三、18周交实验报告,18周检查大作业。
检查:要得优秀良好的同学必须检查答辩,但不是所有检查答辩的同学都一定能得到良好及以上的成绩。
MATLAB 大作业请各位同学,自己完成matlab 大作业的内容。
禁止相互抄袭,如有雷同,零分计算。
大作业的格式按照实验报告的格式书写,务必标明题号,作业完成后,将生成的报告打印出来提交。
正文的字号以宋体五号字,1.5倍行距的格式打印。
请与18周五前将大作业报告由班级负责人统一收齐交给我,过期不收。
1、 试编写名为test01.m 的MATLAB 函数,用以计算下述的值:⎪⎩⎪⎨⎧-<->=t t n t t t n t f 的对所有其他情况的对所有)4/sin()(si )4/sin()sin()4/sin()(si )4/sin()(ππππ要绘制t 关于函数f (t )的图形,其中t 的取值范围为ππ66≤≤-t ,间距为10/π。
(提示:注意要产生一系列的点,这里可考虑t 的输入是向量形式,可以利用find 函数找出所需限定值的元素的位置,对其按需要赋值后,再进行绘图;其次,另外一种思路,也可考虑使用循环的形式来实现)2、 编写函数,在同一窗口的4个子图中利用plot 等语句绘制y=at 2图像,其中a=[1 2 5 10],t错误!未找到引用源。
3、 求函数32)(3-+=x x x f 在区间[-5,5]上的最大值和最小值。
4、 求解函数⎰12dx e x 的数值积分和符号积分,并比较结果。
5、 求解微分方程3|;1|2)1(002='='=''+==x x y y y x y x 的精确解和解析解,并绘制图形。
假设求解区间为[0,10] 。
6、 说说你对MATLAB 及应用这门课程学习后的体会,另外请说明在所学章节中哪一章的内容你最感兴趣,为什么?哪一章的内容你认为是没有必要学习的,为什么?如果可以选择MATLAB 的学习的内容的话,谈谈你所期望学到的知识类别的前三种。
1.实验名称 MATLAB 大作业2.实验目的(1)理解Matlab数据对象的特点;(2)掌握基本Matlab运算规则;(3)掌握Matlab帮助的使用方法;3.实验设备及条件计算机一台(带有MATLAB7.0以上的软件环境)4.实验内容及要求请各位同学,自己完成matlab大作业的内容。
MATLAB语言、控制系统分析与设计
大作业
升降压斩波电路MATLAB仿真
专业:电气工程及其自动化
班级:
设计者:
学号:
评分:
华中科技大学电气与电子工程学院
2016 年1月
评分栏
目录
一、引言 (4)
二、电路设计与仿真 (4)
三、仿真结果及分析 (7)
四、深入讨论 (10)
五、总结 (10)
六、参考资料 (11)
升降压斩波电路MATLAB 仿真
一.引言
Buck/Boost 变换器是输出电压可低于或高于输入电压的一种单管直流变换器,其主电路与Buck 或Boost 变换器所用元器件相同,也有开关管、二极管、电感和电容构成。
与Buck 和Boost 电路不同的是,电感L 在中间,不在输出端也不在输入端,且输出电压极性与输入电压相反。
开关管也采用PWM 控制方式。
Buck/Boost 变换器也有电感电流连续喝断续两种工作方式,在此只讨论电感电流在连续状态下的工作模式。
二.电路设计与仿真 1、电路原理
当可控开关V 处于通态时,电源E 经V 向电感L 供电使其储存能量,此时电流为i1。
同时,电容C 维持输出电压基本恒定并向负载R 供电。
此后,使V 关断,电感L 中储存的能量向负载L 释放,电流为i2。
负载电压极性为上正下负,与电源电压极性相反。
稳态时,一个周期T 内电感L 两端电压UL 对时间积分为零,即
当V 处于通态期间,UL=E ;而当V 处于断态期间,UL=-Uo 。
于是
所以,输出电压为
=⎰dt T
L
U
off
o on t U Et =E E t T t E t t U on on off on o α
α
-=-==
1
2、参数设定
设输入电压Uo=20V,输出电压为10~40V,纹波电压0.2%,开关频率20kHz,负载10Ω,电感电流连续,求α,L,C, 并仿真。
Uo=α/(1-α)*E
ΔUo/U=(α*T)/(C*R)
T=1/f
L=1/2*(1-α)^2*R*T
由上式可解得 1/3<α<2/3,
0.83mF<C<1.67mF,
27.8*e-6<L<111.11*e-6
为保证电感电流和电容电压基本为定值,应将电感电容取较大。
设计仿真电路图如图所示
参数设定为,E=20V,触发电压为3V,频率为20kHz,电感为1/8000H,电容为1/500F,
电阻为10欧。
三.仿真结果及分析
=1/3;
输出电压(电容电压):
驱动波形:
电感电流:
输出电流:
有仿真结果可知,输出电压(电容电压)先增大,后减小逐渐趋于稳定并接近
于10v,即基本满足于所设定占空比下的输出电压。
由电感电流的波形图可看出,电感电流一直大于0,即处于连续状态,满足设计要求。
=1/2
输出电压(电容电压):
驱动波形:
电感电流:
输出电流:
有仿真结果可知,输出电压(电容电压)先增大,后减小逐渐趋于稳定并接近于20v,即基本满足于所设定占空比下的输出电压。
由电感电流的波形图可看出,电感电流一直大于0,即处于连续状态,满足设计要求。
四.深入讨论
观察仿真结果,可以看出两次的输出电压与所对应占空比下的实际电压有所误差,此误差应是由参数设定与电感电容选取有点不合适造成的;其次可以观察到输出结果的初始尖峰和稳态仍存在的不稳定波动现象,分析发现是因为设计的电路图是开环,缺少了闭环反馈控制系统,所以输出结果暂态时间长,而且输出并不是稳定的额定值。
下一步应对应此系统设计闭环反馈环节,改进为闭环控制结果应该会
有改善,但是尝试设计中并未成功,深表遗憾。
希望以后能有所进步。
五.总结
作为一名电气学生,其实很早就已经接触到了这个软件,但是在这学期的系统学习下,我更加见识到了MATLAB中丰富的图形处理能力,绘制各种图形、图像数据的函数的能力。
它可以提供绘制二维和三维曲线的函数,还可以解微分方程,还可以对图形进行各种操作。
MATLAB内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。
本学期通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。
通过理论课的讲解与老师的示范操作,使我在短时间内学会使用MATLAB,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的波形曲线图形,在实践中找到乐趣。
MATLAB是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然大作业中闭环控制设计没有成功,出现了一些小问题,很遗憾,但是我确实很喜欢这个软件,我想在未来的日子里我可能会更加深入的了解他学习他,服务好我的课程研究。
六.参考资料
1、李维波.MA TLAB在电气工程中的应用北京:中国电力出版社
2、熊蕊.信号与控制综合实验教程武汉:华中科技大学出版社
3、陈坚.电力电子学北京:高等教育出版社。