12春MATLAB仿真期末大作业
MATLAB与系统仿真 作业

简易计算器(功能可以随意添加扩展)。
进入 GUI 环境中双击 Blank GUI (Default)出现一个窗口在该窗口中首先制作一 个计算器界面如下所示:
下面分析一些功能函数: textString = get(handles.text1,'String'); textString = strcat(textString,'1'); set(handles.text1,'String',textString) 这是使用句柄 handles 指向对象 text1,并以字符串形式来存储数据文本框 text1 的内容,并存储数个“1”, 然后由 set(handles.text1,'String','textString'在 text1 中输出。
《MATLAB 与系统仿真》
大 作 业
系 别: 班 级: 姓 名: 学 号: 指导教师: 邮 箱:
2012 年 7 月 1 日
一、春天是鲜花的季节,水仙花就是其中最迷人的代表,数 学上有个水仙花数,它是这样定义的:“水仙花数”是指一个三 位数,它的各位数字的立方和等于其本身,比如: 153=1^3+5^3+3^3。要求编 m 文件输出所有存在的水仙花数。
图 2.9 PID 控制子系统 Subsystem 的 Simulink 模型 ti2_3/Subsystem ② PID 控制系统仿真。 对模型 ti2_3.mdl 进行仿真,结果也得到图 2.6 所示系统的单位阶跃响应曲线。 子系统的封装步骤 (1) 用 PID 控制子系统封装的步骤。 在 ti2_3.mdl 中的 Subsystem 模块更换为一个没有涉及的空 Subsystem 模块。
MATLAB与系统仿真期末考试模拟试题3及答案

模拟试题3一、填空题(2’×15=30’)1、在Matlab开发环境是一个集成的工作环境,包括、、、和等。
2、Matlab命令窗口中的“>>”符号表示。
3、clc表示:;more表示:;who表示:。
4、文件编辑器中的赋值语句后面的冒号“;”表示:;“%”表示:。
5、求矩阵行列式的函数:;求矩阵特征值和特征向量的函数。
6、在Matlab命令窗口中运行命令可以打开Simulink模块库浏览器窗口。
二、简答题(6’×4=24’)1、如何实现退出Matlab环境?2、在Matlab中绘制一个图形的步骤有哪些?3、Matlab提供了哪四类程序控制结构方式?4、说明进入到Matlab开发环境的方法?三、程序设计及分析(6’×7+4’=46’)1、在命令窗口中执行“>>x=ones(3,2)”的结果是:2、编程实现连接str1和str2,str1='My name is LI ming',str2='your name'?3、把2行3列矩阵A变成1行6列的矩阵B。
(123456A⎡⎤=⎢⎥⎣⎦)?4、设随机变量X~N(0,1),求概率P{X<=0.4}?5、求3()25f x x x=--在[0,5]内的最小值点?6、对表达式31f a=-进行因式分解?7、分析以下程序执行后的效果?x=-2:0.2:2;y=x;[x,y]=meshgrid(x,y);z=x.*exp(-x.^2-x.^2);mesh(x,y,z);模拟试题3及答案一、填空题(2’×15=30’)7、在Matlab开发环境是一个集成的工作环境,包括Matlab命令窗口、文件编辑调试器、工作空间、数组编辑器和在线帮助文档等。
8、Matlab命令窗口中的“>>”符号表示命令提示符。
9、clc表示:清空命令窗口中的显示内容;more表示:在命令窗口中控制其后每页的显示内容行数;who表示:查阅Matlab内存变量名。
MATLAB练习作业(已做)2012

说明:如在测试时请将程序中的中文字符改为西文(部分程序为手写,并未经matlab验证)2012年春《MATLAB基础》第一次上机练习与作业练习1:脚本文件建立一个文件名为helloWorld的脚本文件,运行该文件时显示出如下文字:Hello World!I am going to learn MATLAB•提示: 用disp显示字符串,将要显示的字符号串用单引号引起来。
如'This is a string'练习2:变量获取并保存当前的日期与时间●用函数clock生成一个变量,变量名为start●用size查看start的维数,它是一个行向量还是一个列向量?●start包含什么内容?用help clock查看●用函数datestr将向量start转换成字符串,得到新的变量,名为startString●将start与startString保存为mat文件,文件名为startTime●在练习1建立的脚本文件helloWorld.m文件中,用load函数导入变量startTime, 并显示如下文字:I started learning MATLAB on * start date and time*练习3:标量你将要以指数增长的速度来学习MATLAB, 将如下内容添加到helloWorld.m文件中●假设你的学习时间是一个常量,为1.5 days,将此时间用秒表示,赋给变量tau●假设课程持续时间为5 days. 将这个时间单位转换为秒,保存在变量endofClass中?●将学到的知识描述为t的函数,函数方程为:●用函数datestr将向量start转换成字符串,得到新的变量startString●在课程结束时间endofClass,你将学到多少知识?用变量knowledgeAtEnd表示(指数函数exp)●用变量knowledgeAtEnd,显示如下语句:At the end of the MATLAB class, I will know X% of MATLAB提示: 将数转换成字符串,用num2str练习4:向量运算计算从课程开始到现在经过的时间,用秒表示.●在helloWorld.m中,建立一系列变量,变量名分别为:secPerMin, secPerHour,secPerDay,secPerMonth(假设每个月30.5天),以及secPerYear.●将变量按次序secPerYear,secPerMonth, secPerDay,secPerHour, secPerMin,1 排列,构成一个行向量,命名为secConversion?●用时钟函数clock生成一个向量currentTime●计算经过的时间elapsedTime,用currentTime与start相减.●通过向量secondConversion与elapsedTime的数量积运算计算时间t,●显示当前的时间水平,用变量currentKnowledge表示. ()●显示如下语句:At this time, I know X% of MATLAB练习5:向量函数计算你的学习轨迹.●在helloWorld.m中,建立线性时间向量tVec,包含从0到endOfClass的10000个样本点.●计算在每个时间点处对应的知识值,仍然用函数练习6:向量寻址什么时候你将学到50%的MATLAB知识?.●在向量knowledgeVec中,查找最接近0.5的元素所在的位置.●用halfTime保存对应的时间●显示如下语句:I will know half of MATLAB after X days要将halfTime用secPerDay转换成天数练习7:绘图画出学习的轨迹图?.●在helloWorld.m中,打开一个新的图形窗口(figure)●用向量tVec与knowledgeVec画出知识轨迹,画图时,将时间单位转换为天●用图形窗口中的zoom in 查看halfTime,与前面计算结果相比较.clear,clc;disp('Hello World!');disp('I am going to learn MA TLAB');start=clock;[startx,starty]=size(start);if startx>startydisp('一个行向量')elsedisp('一个列向量');endstartString=datestr(start);save startTime.mat start startString;waittime=input('为使程序达到较好的执行效果,请输入程序需要暂停时间(秒):'); state = 0;h = waitbar(0, '请等待...', 'Name', '进度条', 'CreateCancelBtn', ...'state = 1; delete(h); clear h');h1 = findall(h, 'style', 'pushbutton');set(h1, 'string', '取消', 'fontsize', 10)for i = 1 : 100waitbar(i/100, h, ['已暂停时间百分比' num2str(i) '%']);pause(waittime/100);if statebreakendendif exist('h') == 1delete(h);endload startTimedisp('I started learning MATLAB on * start date and time*');tau=1.5*24*3600;endofClass=5*24*3600;knowledgeAtEnd=1-exp(-tau/endofClass);disp(['At the end of the MATLAB class, I will know ',num2str(knowledgeAtEnd*100),' % of MATLAB']);secPerMin=60;secPerHour=3600;secPerDay=24*secPerHour;secPerMonth=30.5*secPerDay;secPerYear=12*secPerMonth;secondConversion=[secPerYear,secPerMonth, secPerDay,secPerHour, secPerMin,1]; currentTime=clock;elapsedTime=currentTime-start;elapsedTime=elapsedTime.*secondConversion;currentknowledge=1-exp(-elapsedTime/endofClass);disp(['At this time, I know ',num2str(sum(currentknowledge)*100),'% of MATLAB']);tVec=linspace(0,endofClass,1000);knowledgeVec=1-exp(-tVec./endofClass);halfTimeindex=find(abs(knowledgeVec-0.5)<1e-3);halfTime=sum(tVec(halfTimeindex))/length(halfTimeindex)/secPerDay;disp(['I will know half of MATLAB after ',num2str(halfTime),' days']);plot(tVec/secPerDay,knowledgeVec);xlabel('Day');2012年春《MATLAB基础》第二次上机练习与作业练习1:函数文件建立一个文件名为plotSin的函数文件,要求:●函数声明为:functon plotSin(f1)●该函数用于画出频率为的正弦波在区间上的图像.●每个周期含有16个数据点function plotsin(f1)xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x));练习2:条件语句●修改函数plotSin(f1)使之有两个输入变量,形式为plotSin(f1,f2)●如果输入的变量个数为1,执行以前写的绘图命令.否则显示文字'Two inputs were given'●提示:输入变量的数目用内置变量名:narginfunction plotsin(f1,f2)if nargin==1xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x));elseerror('Two inputs were given');end练习3:绘图命令●修改PlotSin中的绘图命令,将数据点类型改为正方形,线形改为红色虚线,线宽为2.设置数据点填充色为黑色(属性名为:LineWidth, MarkerFaceColor)●如果有2个输入变量,新开一个绘图窗口,上下排列,并且激活上面图形窗口plotSin(6)plotSin(2,3)function plotsin(f1,f2)if nargin==1h1=figure(1);xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x),'--rs','MarkerFaceColor','k','LineWidth',2);elseh2=figure(2);h1=figure(1);xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x),'--rs','MarkerFaceColor','k','LineWidth',2);end练习4:半对数图在过去5年里,某课程学生人数分别为:15,25,55,115,144.班级规模似乎呈指数增长趋势,用半对数图来验证.要求绘制的图形效果如下●相关函数:semilogy,xlabel,ylabel,axis,title●数据点为玫红,正方形,没有折线相连.点的大小为10,点边线的宽度为4.x=1:5;y=[15,25,55,115,144];h=semilogy(x,y,' sr','MarkerSize',10,'Linewidth',4);xlabel('x');ylabel('y');title('My Semilogy plot');axis([0,6,10,300])set(h,'Color',[1 0.3 0.6]);练习5:条形图生成一个有5个随机数构成的向量,画出一幅条形图,条形块为红色.效果如下:bar(1:5,rand(5,1),'r')练习6:圆的绘制●建立一个画圆的函数文件.function [x y]=getCircle(center,r)运行程序得到的是圆上点的坐标●调用程序画出同心圆及五环图,效果如下col=['b','k','r','y','g'];subplot 121r1=1:5;center1=[0,0];for i=1:5[x,y]=getCircle(center1,r1(i));plot(x,y,col(i),'Linewidth',2);hold onendaxis equalaxis([-5 5 -5 5])subplot 122r2=0.5;center2=[-1 0;0 0;1 0;-0.5 -0.5;0.5 -0.5];for i=1:5[x,y]=getCircle(center2(i,:),r2);plot(x,y,col(i),'Linewidth',2);hold onendaxis equalaxis([-1.5 1.5 -1.5 1])-505-101-1.5-1-0.50.512012年春《MATLAB 基础》第三次上机练习与作业练习1:演示文件命令窗口中,键入:demo,出现MATLAB的demo演示窗口,然后选择:MATLAB下的Matrices,依次选取其中的Basic Matrix operation 、Matrix manipulation两个示例,进行MATLAB矩阵运算的学习。
[设计]《MATLAB语言及应用》期末大作业题目与解答
![[设计]《MATLAB语言及应用》期末大作业题目与解答](https://img.taocdn.com/s3/m/1394b362a517866fb84ae45c3b3567ec102ddc80.png)
《MATLAB语言及应用》期末大作业题目1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;2)将矩阵A按列拉长得到矩阵B;3)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;4)寻找矩阵A中大于0的元素;]5)求矩阵A的转置矩阵D;6)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;7)删除矩阵A的第2列和第4列得到矩阵F;8)求矩阵A的特政值和特征向量;9)求矩阵A的每一列的和值;10)求矩阵A的每一列的平均值;程序代码:clear;clc;A=1+sqrt(4)*randn(5) %生成均值为1,方差为4的5*5矩阵A;B=A(:) %将矩阵A按列拉长得到矩阵B;C=A([2 3],[2 4]) %提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;n=find(A>0) %寻找矩阵A中大于0的元素;x=A(n)D=A' %求矩阵A的转置矩阵D;E1=flipud(A); %对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;E=fliplr(E1)F=A(:,[1 3 5]) %删除矩阵A的第2列和第4列得到矩阵F;[Av,Ad]=eig(A) %求矩阵A的特征值和特征向量;S=sum(A,1) %求矩阵A的每一列的和值;Avg=S/5 %求矩阵A的每一列的平均值;运行结果:A =2.3333 2.1171 0.8568 2.1971 -0.7526-1.7853 0.4453 -3.8292 1.2944 0.4690 -1.6011 -1.5874 -0.3887 0.7971 0.3448 -0.2100 -0.7769 -1.7828 -4.2700 -1.3165 -1.9771 -0.9730 1.6593 1.0561 2.1601B =2.3333-1.7853-1.6011-0.2100-1.97712.11710.4453-1.5874-0.7769-0.97300.8568-3.8292-0.3887-1.78281.65932.19711.29440.7971-4.27001.0561-0.75260.46900.3448-1.31652.1601C =0.4453 1.2944-1.5874 0.7971n =167111516171820222325x =2.33332.11710.44530.85681.65932.19711.29440.79711.05610.46900.34482.1601D =2.3333 -1.7853 -1.6011 -0.2100 -1.97712.1171 0.4453 -1.5874 -0.7769 -0.97300.8568 -3.8292 -0.3887 -1.7828 1.65932.1971 1.2944 0.7971 -4.2700 1.0561-0.7526 0.4690 0.3448 -1.3165 2.1601E =2.1601 1.0561 1.6593 -0.9730 -1.9771-1.3165 -4.2700 -1.7828 -0.7769 -0.21000.3448 0.7971 -0.3887 -1.5874 -1.60110.4690 1.2944 -3.8292 0.4453 -1.7853-0.7526 2.1971 0.8568 2.1171 2.3333F =2.3333 0.8568 -0.7526-1.7853 -3.8292 0.4690-1.6011 -0.3887 0.3448-0.2100 -1.7828 -1.3165-1.9771 1.6593 2.1601Av =Columns 1 through 40.1004 + 0.2832i 0.1004 - 0.2832i0.6302 -0.5216-0.5969 -0.5969 -0.4811 0.0856 -0.4405 + 0.0006i -0.4405 - 0.0006i -0.3078 0.21200.2732 - 0.4899i 0.2732 + 0.4899i0.0244 -0.1780-0.0617 + 0.2024i -0.0617 - 0.2024i 0.5254 0.8025 Column 50.3903-0.49590.02180.1929-0.7511Ad =Columns 1 through 4-2.6239 + 1.7544i 0 0 00 -2.6239 - 1.7544i 0 00 0 -0.2434 00 0 0 3.54550 0 0 0Column 50 0 0 02.2257S =-3.2403 -0.7749 -3.4846 1.0747 0.9049Avg =-0.6481 -0.1550 -0.6969 0.2149 0.18102.符号计算(10分,每小题5分):1) 求方程组20,0uy vz w y z w ++=++=关于,y z 的解;2) 利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解;程序代码:clc[u,v,w] = solve('u*y^2 + v*z + w = 0','y + z + w = 0','u,v,w')[x y]=dsolve('Dx=y','Dy=-x')运行结果:u =(-v*z+y+z)/y^2v =vw = -y-zx =-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:4a =;程序代码:clccleara=0.5:0.5:4.5;t=-2*pi:0.1:2*pi;N=length(a); for i=1:1:Nx=a(i)*cos(t);y=sqrt(25-a(i).^2).*sin(t);plot(x,y)hold onend运行结果:-5-4-3-2-1123452) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;程序代码:clcclearx=0:0.01:4;y1=sin(x); y2=10.^x;plotyy(x,y1,x,y2) %用双y 轴绘制二维图形运行结果:3) 用曲面图表示函数22z x y =+;程序代码:clcclear[X,Y] = meshgrid(-2:0.05:2); %产生xy 平面上的网格数据Z = X.^2 + Y.^2;surf(X,Y,Z) %绘着色曲面图hold off运行结果:4) 用stem 函数绘制对函数cos 4y t π=的采样序列;程序代码:clcclearfs=25;Ts=1/fs;n=1:1:200;yn=cos(pi*n*Ts/4);stem(n,yn) %绘离散数据的火柴杆图运行结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x +=,要求设计出一个FIR 滤波器恢复出原始信号。
MATLAB与系统仿真期末考试模拟试题2及答案

模拟试题B一、填空题(2’×18=36’)1、Matlab系统由、、、和5大部分组成。
2、Matlab的基本运算符包括、、等。
3、在Matlab编辑器中运行程序的快捷键是:。
4、函数rand表示:;randn函数表示:;size函数表示:。
5、实现Fourier变换在Matlab中的对应函数为:;Laplace变换的函数:。
6、函数M文件的有效第一行的执行标识为:。
7、通常程序调试有两种方法:和利用。
8、Matlab提供的图形用户界面开发环境是:。
二、简答题(6’×4=24’)1、在命令行中输入“save Filename1a b”表示?2、分析以下函数执行过程,回答问题:function c=testarg1(a,b)if(nargin==1)c=a.^2;elseif(nargin==2)c=a+b;end如果用户使用一个参数调用函数testarg1,函数执行什么功能?如果使用两个参数调用函数testarg1,函数又执行什么?3、打开和关闭文件的函数是什么?分别说明其作用。
4、新建Simulink仿真模型文件的方法是什么?三、程序设计及分析(6’×6+4’=40’)1、编程实现函数3()25f x x x =--的根?2、将下列字符矩阵S 转换为数字矩阵('1''2''3''4'S ⎡⎤=⎢⎥⎣⎦)?3、把矩阵A ,B 分别在垂直方向,水平方向连接,A=[123],B=[456]?4、求()1020x f x x =-+=在00.5x =附近的根?5、编程实现一元二次方程20ax bx c ++=?6、绘制函数图形:1sin(),2cos()y x y x ==。
要求:(1)[]0,2x π∈;(2)数据采样间隔/50π?(3)设置网格;(4)添加图形标注;(5)两幅图叠加在一张图中。
模拟试题B及答案一、填空题(2’×18=36’)9、Matlab系统由Matlab开发环境、Matlab语言、Matlab数学函数库、Matlab图形处理系统和Matlab应用程序接口5大部分组成。
2011-2012-2matlab大作业题目及要求

CHINA UNIVERSITY OF PETROLEUMMatlab程序设计考生姓名:学号:专业年级:任课教师:完成日期:年月日题目一、设计一个GUI 程序,用于演示采用分割、近似、求和的近似方法来计算初等函数的()y f x =,[,]x a b ∈的定积分。
要求:(1)以函数文件的形式提供()y f x =的定义,并以函数句柄的形式对该函数进行积分近似计算;(2)界面输入区间端点,a b 的值,采用滑动条和文本框输入分割数,利用静态文本控件显示区间步长i x ∆;(3)以popupmenu (即下拉框的形式)提供被积函数,并在坐标系控件axes 上绘制出函数曲线,积分的近似计算结果在坐标系控件axes 上的显示如下图所示:(4)以RadioButton 的形式,提供采用子区间左端点、右端点、中点的函数值作为近似矩形的高;(5)要求程序界面设计美观、操作方便、人机交互直观。
题目二、以动画的方式绘制出对数螺线a e θρ=的图形,并用一个红色小球来跟踪螺线展开轨迹。
示例如下题目三、请设计一个模拟投篮过程的小游戏,游戏的要求如下:(1)设计一个matlab窗体,在窗体上防止一个坐标轴控件,并设置好该坐标系的坐标轴范围;(2)在坐标系上利用鼠标点击一个点a,作为篮筐的中心,并生成一个半径为r的圆,来模拟篮筐;(3)在坐标系上再用鼠标点一个点b,作为投篮的出发点,同时生成一个红色实心小球来模拟篮球,再选一个点c,b、c之间的连线作为投篮方向;(4)根据a、b、c三个点之间的位置关系,来模拟投篮过程,并记录命中次数;(5)以按住鼠标不放的时间来模拟力量(初始速度)的大小,并能够动态模拟篮球的运动轨迹,篮球的质量自定,忽略空气阻力的影响,相关的数值要求在坐标系右上角动态显示出来。
示意图如下:acb评分标准1. 90--100:(1) 按期完成题目要求,并能综合运用所学知识分析问题和解决问题能力强,并在某些方面有一定程度的新或独特见解。
MATLAB期末考试试卷及其参考答案.doc

一、填空题(每空1分,20分)1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
、在一个元胞数组A中寻访第2行第3列元胞元素用;寻访数组第2行第3列元胞中所存的内容用。
8、4、MATLAB中clf用于、clc用于、clear用于。
二、简答题(每题5分,共20分)1、简述MATLAB历史指令窗的主要作用。
2、简述空数组的功用。
3、简述MATLAB函数的基本结构。
4、简述绘制二维图形的一般步骤。
三、阅读程序并回答问题(每题4分,共28分)、写出下列指令运行结果。
=zeros(2,4);(:)=1:8;=[2 3 5];(s)a=[10 20 30]'(s)=Sa、写出下列指令运行结果。
=reshape(1:16,2,8)eshape(A,4,4)=[1 3 6 8 9 11 14 16]; (s)=0、写出下列指令运行结果。
=[1,2;3,4];=[-1,-2;2;1];=3;.*B*B.*AS*B4、下面的函数主要完成什么功能?function f=factor(n)f n<=1f=1;lsef=factor(n-1)*n;nd、写出下列指令运行结果。
(1,1)={'this is cell'};{1,2}={[1 2 3;4 5 6]};{2,1}=[1+2*i];{2,2}=A{1,2}{1}+(A{1,2}{1}(1,1)+A{1,2}{1}(2,2)); elldisp(A)、下面的程序完成功能是什么?=0:pi/50:4*pi;0=exp(-t/3);=exp(-t/3).*sin(3*t);lot(t,y,'-r',t,y0,':b',t,-y0,':b')label(‘\bf\it t’);label(‘\bf\it y’);rid on;四、编程题(32分)price<200 没有折扣200≤price<500 3%折扣500≤price<1000 5%折扣1000≤price<2500 8%折扣2500≤price<5000 10%折扣000≤price 14%折扣入所售商品的价格,求其实际销售价格。
12春MATLAB仿真期末大作业

12春MATLAB仿真期末大作业D2012春期末大作业题目:设单位负反馈控制系统前向通道传递函数由)()(21s G s G 和串联,其中:)1(1)()(21++==s A s G s Ks G A 表示自己学号最后一位数(可以是零),K 为开环增益。
要求:(1)设K=1时,建立控制系统模型,并绘制阶跃响应曲线(用红色虚线,并标注坐标和标题);求取时域性能指标,包括上升时间、超调量、调节时间、峰值时间;(2)在第(1)问中,如果是在命令窗口绘制阶跃响应曲线,用in1或者from workspace 模块将命令窗口的阶跃响应数据导入Simulink 模型窗口,用示波器显示阶跃响应曲线;如果是在Simulink 模型窗口绘制阶跃响应曲线,用out1或者to workspace 模块将Simulink 模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线。
(3)用编程法或者rltool 法设计串联超前校正网络,要求系统在单位斜坡输入信号作用时,速度误差系数小于等于0.1rad ,开环系统截止频率s rad c /4.4''≥ω,相角裕度大于等于45度,幅值裕度大于等于10dB 。
仿真结果及分析:(1)、(2)、将Simulink模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线通过在Matlab中输入命令:>> plot(tout,yout,'r*-')>> title('阶跃响应曲线')即可得出系统阶跃响应曲线,如下:求取该控制系统的常用性能指标:超调量、上升时间、调节时间、峰值时间的程序如下:G=zpk([],[0,-1],5);S=feedback(G,1);C=dcgain(S);[y,t]=step(S);plot(t,y);[Y,k]=max(y);timetopeak=t(k);percentovershoot=100*(Y-C)/C;n=1;while y(n)<Cn=n+1;endristime=t(n);i=length(t);while(y(i)>0.98*C)&(y(i)<1.02*C)i=i-1;endsetllingtime=t(i);运行程序得到如下结果:Zero/pole/gain:5-------s (s+1)C=1(系统终值)timetopeak=1.4365(峰值时间)percentovershoot=8.0778(超调量)ristime=0.8978(上升时间)setllingtime=7.5415(调节时间)(3)建立超前校正子函数如下:function Gc=cqjz_frequency(G,kc,yPm) G=tf(G);[mag,pha,w]=bode(G*kc);Mag=20*log10(mag);[Gm,Pm.Wcg,Wcp]=margin(G*kc);phi=(yPm-getfield(Pm,'Wcg'))*pi/180;alpha=(1+sin(phi))/(1-sin(phi));Mn=-10*log(alpha);Wcgn=spline(Mag,w,Mn);T=1/Wcgn/sqrt(alpha);Tz=alpha*T;Gc=tf([Tz,1],[T,1]);主函数如下:num=1;den=conv([1,0],conv([0.3,1],[0.1,1]));G=tf(num,den);kc=6;yPm=45+6;Gc=cqjz_frequency(G,kc,yPm);G=G*kc;GGc=G*Gc;Gy_close=feedback(G,1);Gx_close=feedback(GGc,1);figure(1);step(Gx_close,'b');hold on;step(Gy_close,'r');gridgtext('校正前的');gtext('校正后的');figure(2);bode(G,'b');hold on;bode(GGc,'r');gridgtext('校正前的');gtext('校正后的');gtext('校正前的');gtext('校正后的'); figure(3);nyquist(G,'b');hold on;nyquist(GGc,'r');gridgtext('校正前的');gtext('校正后的');绘制校正前后的单位阶跃响应曲线,开环伯德图和开环奈奎斯特曲线:。
Matlab期末考试题库(共12套卷)(word文档良心出品)

第一套华东交通大学2015-2016学年第一学期Matlab期末考试一、填空题(4*6=24分)1、在MATLAB^令窗口中的“ >>”标志为MATLAB勺_提示符,标志为提示符。
2、符号表达式sin(2*a+t)+m 中独立的符号变量为__ 。
3、在通常情况下,左除x=a\b是—的解,右除x=b/a是—的解,一般情况下,_______________ 。
4、为了使两个plot的图形在同一个坐标显示,可以使用 _______ 令进行图形保持;可以使用—命令为图形添加网格。
5、倘若要是对x进行赋值,从5到25,间隔是0.1,为_________ ;倘若要是对x进行赋值,从2到20,中间间隔100个点,为 ______6、A=[1,2;3,4];B=[1,0;0,1]; A*B= _ , A.*B=_ _ ;二、选择题(4*6=24分)7、如果x=1: 2 : 8,则x(1)和x⑷分别是()A. 1,8B. 1, 7C. 2, 8D. 2, 78、运行如下程序后,输入9回车,命令窗口( comma nd win dows)显示的结果为()c=input('请输入一个字符','s');if c>='A' & c<='Z'disp(setstr(abs(c)+abs('a')-abs('A')));elseif c>='a'& c<='z'disp(setstr(abs(c)- abs('a')+abs('A')));elseif c>='0' & c<='9'disp(abs(c)-abs('0'));else disp(c); endA. 9B. 8C. 7D. 69、MATLA表达式2*2A3A2的结果是()A. 128B. 4096C. 262144D. 25610、在循环结构中跳出循环,执行循环后面代码的命令为()(A) return (B) break (C) con ti nue (D) keyboard11、在图形指定位置加标注命令是()A. title(x,y, ^y=sin(x) ?B. xlabel(x,y, ?y=s in(x)C. text(x,y, ?y=sin(x) ?);D. lege nd(x,y, ?y=s in(x)12、下列哪个变量的定义是不合法的()。
2012Matlab 仿真考题A

2011-2012(二)MATLAB 仿真期末考试题(A 卷)考试说明:.....1> 请在D 盘目录下建立一个以“学生姓名_班级_A ”为名字的文件夹,并在该文件夹下建立名为“学生姓名_班级_A.doc ”的WORD 文件,例如“张三_自动化083_A ” ,在本次考试中所有结果(包括源程序,图以及运行结果等)均须保存在该文本文档中,否则记零分;2> 答案中要求保留利用MATLAB 软件进行计算和仿真的过程;3> 要求在答卷上写清题号,并按顺序写答案。
一、已知矩阵A =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡876654432, (18分) 求: 1)用MA TLAB 写出矩阵A ,2)获取矩阵的第三行、第三列的元素赋值为10,3)访问矩阵得到第1行所有元素,4)访问矩阵的最后一列元素,5)把矩阵按照列拉长为1行9列矩阵,6)把矩阵扩展为四行四列元素,扩展的元素全部为0。
二、用内部函数生成矩阵: (18分)1)对角阵B ,B 的主对角线元素为[-3 -2,-1,0,1,2 3];2)4行4列对角阵C ,C 的主对角线元素均为4;3)2行3列的零矩阵D ;4)3行3列的全9阵E ;5)3行3列的伪随机阵F ;6)计算矩阵F 的行列式G 。
三、请在同一个坐标系内画出以下图形: (20分)1、y1=3*cos(x);2、y2=sin(2x).*cos(x);3、y3=x 2要求y1为蓝色、实线;y2为黑色、虚线;y3为红色、点线。
并对该图形定义坐标轴范围,[5,5]x ππ∈-,[7,7]y ∈-,x 的步长取0.02。
四、编写函数型M 文件,实现∑==N i i s 1,当和小于等于1000时,输出∑==Ni i s 1,当和>=1000时,s=1000,要求:1)编写程序,定义函数名称为mysum ,程序写在word 文档上,并存入D 盘\学生姓名_班级_A 文件夹下。
2)在工作空间中进行调用,当N=20,N=50分别调用两次,给出调用的语句和执行结果。
matlab期末大作业题目及答案

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.运行结果:。
最新级电子科学与技术专业学生MATLAB控制与系统仿真期末实验考试试题资料

黄淮学院电子科学与工程系2012-2013学年第二学期 期末考试《MATLAB 控制与系统仿真》实验试题适用对象:2010级电技本科1、先建立自己的工作目录,再将自己的工作目录设置到MATLAB 的搜索路径下,再试验用help 命令能否查询到自己的工作目录。
>> help HELP topics桌面\陈强 - (No table of contents file) 2、已知1540783617A --⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦, 831253320B -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求下列表达式的值:1)6A B +和2A B I -+(其中I 为单位矩阵)。
2)*A B 、.*A B 和*B A 。
3)/A B 及\B A4)[A,B]和[A ([1,3],:);B^2]。
A=[-1,5,-4;0,7,8;3,61,7] A =-1 5 -40 7 8 3 61 7 >> B=[8,3,-1;2,5,3;-3,2,0] B =8 3 -12 5 3-3 2 0 (1)>> A+6*Bans =47 23 -1012 37 26-15 73 7>> I=[1,0,0;0,1,0;0,0,1]I =1 0 00 1 00 0 1>> A^2-B+Ians =-18 -217 1722 533 10921 867 526 (2)>> A*Bans =14 14 16-10 51 21125 328 180>> A.*Bans =-8 15 40 35 24-9 122 0>> B*Aans =-11 0 -157 228 533 -1 28 (3)>> A/Bans =1.2234 -0.92552.9787-0.9468 2.3511 -0.9574 4.6170 3.8723 13.8936 >> B/A ans =-5.3173 -3.5661 0.8942 -1.2768 -0.4743 0.2411 2.1229 1.3173 -0.2924 (4)>> [A,B]ans =-1 5 -4 8 3 -1 0 7 8 2 5 3 3 61 7 -3 2 0 >> [A([1,3],:);B^2] ans =-1 5 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3、已知23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦完成下列操作:1)输出A 在[10.25]范围内的全部元素。
哈工大 2012 matlab大作业 部分答案

a=[6,9,3;2,7,5];b=[2,4;4,6;1,8];a*bans =51 10237 9014.A=[4,9,2;7,6,4;3,5,7];B=[37;26;28];X=inv(A)*BX =-0.51184.04271.331815.syms xsolve('x^3-7*x^2+2*x+4=0') 15.syms xsolve('x^3-7*x^2+2*x+40=0') ans =-24516.x=8;y=(x-1)*(x-2)*(x-3)*(x-4)y =84017.syms xy=3*x^3+13*x^2+6*x+8;A=factor(y);B=A/(x+4)B =3*x^2 + x + 218.18.syms xy=sqrt(4*x^4-12*x^3-14*x^2+5*x+9);df=diff(y)df =-(- 16*x^3 + 36*x^2 + 28*x - 5)/(2*(4*x^4 - 12*x^3 - 14*x^2 + 5*x + 9)^(1/2)) syms xf=4*x^4-12*x^3-14*x^2+5*x+9;nf=int(f)nf =(4*x^5)/5 - 3*x^4 - (14*x^3)/3 + (5*x^2)/2 + 9*x19.20.t=0.1:0.1^5*pi:2*pi;x=sin(3*t)*cos(t);y=xin(3*t)*sin(t);plot(x,y)21.x=0:0.01:10;y1=exp(-0.1*x);y2=exp(-0.2*x);y3=exp(-0.5*x);plot(x,y1,'b',x,y2,'R',x,y3,'k')xlabel('x')ylabel('y')title('Sine and Cosine Curve')gtext('y=exp(-0.1*x)')gtext('y=exp(-0.2*x)')gtext('y=exp(-0.5*x)')22.t=-2:0.1^3:2;y1=2*sin(t*pi);y2=2*sin(t*pi)+0.1*sin(t*pi); plot(t,y1,'r',t,y2,'k')title('Sine and Cosine Curve') gtext('y=2*sin(t*pi)')gtext('y=2*sin(t*pi)+0.1*sin(t*pi)'23.(你找别人的看下,这个可能有点问题) A=rand(1,1);a=A(1,1);fprintf('a=%.0f\n ',a);t=1;while t==1if mod(a,2)==0;a=a/2;fprintf('a=%.0f\n ',a);elsea=a*3+1;fprintf('a=%.0f\n ',a);endif a==1t=0;fprintf('a=%.0f\n ',a); elset=1;endend24.a=[4,2,-6;7,5,4;3,4,9];det(a)inv(a)ans =-64ans =-0.4531 0.6562 -0.59370.7969 -0.8437 0.9062-0.2031 0.1562 -0.0937 25.syms tsolve('a*t^2+b*t+c=0')ans =-(b + (b^2 - 4*a*c)^(1/2))/(2*a)-(b - (b^2 - 4*a*c)^(1/2))/(2*a) 二.2.syms xf='[a,x^2,1/x;exp(a*x),log(x),sin(x)]'; diff(f,x)ans =[ 0, 2*x, -1/x^2][ a*exp(a*x), 1/x, cos(x)]3.x=-2:0.1:2;y=x;[x,y]=meshgrid(x,y); subplot(2,2,1)z=x*exp(-x^2-y^2);plot3(x,y,z)subplot(2,2,2)mesh(x,y,z)subplot(2,2,3)surf(x,y,z)4.x=0:pi/10:2*pi;y1=sin(x);subplot(1,2,1); plot(x,y1,'b') x=-5:0.2:5; y=x;[x,y]=meshgrid(x,y);subplot(2,2,2);mesh(x,y,z)x=[15,32,58,20,10];subplot(2,2,4)explode=[0,0,0,0,1];pie(x,explode)6.a=rand(1,5); b=5*a; c=[a;b] c =0.8147 0.9058 0.1270 0.9134 0.6324 4.0736 4.5290 0.6349 4.5669 3.1618 7.某工厂利用甲乙两种原料生产A1,A2,A3三种产品。
MATLAB期末大作业模版

学号:《MATLAB》期末大作业学院土木工程与建筑学院专业班级姓名指导教师李琳2018年5月16日题目2:问题描述:在[0 2π]范围内绘制二维曲线图y=cos(5x)*sin(x)(1)问题分析这是一个二维绘图问题,先划定x的范围与间距,再列出y的表达式,利用plot函数绘制二维曲线。
(2)软件说明及源代码>> x = 0:pi/10:2*pi;>>y = cos(5*x).*sin(x);>>plot(x,y)(3)实验结果题目4:问题描述:创建符号函数并求解,要求写出步骤和运行结果(1)创建符号函数f=ax2+bx+c(2)求f=0的解(1)问题分析这是一个符号函数显示以及符号函数的求解问题,第一问先定义常量与变量,在写出f表达式,利用pretty函数显示f。
第二问利用solve函数求解f=0时的解。
(2)软件说明及源代码第一问>> syms a b c x;>> f=a*x^2+b*x+c;>> pretty(f)第二问>>syms a b c x;>>f=a*x^2+b*x+c;>> solve(f)(3)实验结果1、2、题目5:问题描述:求积分(1)问题分析这是一个利用符号函数求积分的问题,先定义变量x,再列出I1表达式,利用int函数求在范围0到Pi/2上的积分。
(2)软件说明及源代码>> syms x;>> I1=(1-2*sin(2*x))^0.5;>> int(I1,0,0.5*pi)(3)实验结果题目6:问题描述:分别随机产生一个6×6的整数矩阵(元素可在[-20,20]之间),求该随机阵的秩,特征值和特征向量。
(1)问题分析这是一个矩阵运算问题,先利用rand函数产生一个6*6的元素在-20到20之间的整形矩阵,再利用rank、eig两个函数分别求该随机阵的秩,特征值和特征向量。
《Matlab与系统仿真》期末考试

红河学院2011-2012学年春季学期《Matlab 与系统仿真》课程期末考试试卷卷别: A 卷 考试单位:工学院 考试日期: 2012年 6 月 20日要求:1M 语言编程;23、提交的压缩包包括M 文件、mdl 模型、Word 文档(仿真输出曲线),压缩包以自己的姓名、学号、班级命名;一、设计题(每小题50分,共100分)1、精馏过程是在一定物料平衡和能量平衡基础上进行的。
在精馏塔的连续操作过程中应做到物料平衡、气-液平衡和热量平衡,这三个平衡互相影响,互相制约。
现以蒸汽流量作为副变量,精馏塔釜温度为主变量,构成精馏塔釜温度与蒸汽流量串级控制系统。
已知主被控对象的数学模型为G(s)=1.25e -44s /(25s+1)2,副被控对象的数学模型为G(s)=e -4s /(12s+1),精馏塔釜设定温度为1300℃,副控制器选择P作用,主控制器选择PID 作用,试整定串级控制器的参数为最佳值,使系统的最大偏差≤±1.5℃。
(采用SIMLINK 仿真,参数自己整定)解:参数整定:先使ki=0,在单位阶跃信号下,调整Kp 使系统等幅震荡,即系统处于临界稳定状态。
记录此时的震荡周期Tc ,比例系数Kc 。
则Kp=kc/2.2,Ki=kp/(0.8Tc)。
Kc=5.7,Tc=15,Kp=2.59,Ki=0.216,仿真时间为80到500秒时输出稳定,系统偏差不大Kp=0.31 Ki=0.0091P(s)=0.882、设一被控对象17125.050)(2++=s s s G ,用增量式PID 控制算法编写仿真程序(输入分别为单位阶跃、正弦信号,采样时间为1ms ,控制器输出限幅:[-5,5],仿真曲线包括系统输入、输出及误差曲线。
(采用M 语言编程,参数自己整定)clear all ;close all ;ts=0.001;sys=tf(50,[0.125,7,1]);dsys=c2d(sys,ts,'z');[num,den]=tfdata(dsys,'v');u_1=0.0;u_2=0.0;y_1=0.0;y_2=0.0;x=[0,0,0]';error_1=0;error_2=0;for k=1:1:2000time(k)=k*ts;S=2;%s=1?¡À???????¡Á??????s=2?¡À??????if S==1kp=8;ki=0.03;kd=3.2;rin(k)=1; %Step Signalelseif S==2kp=46;ki=0.06;kd=420;rin(k)=0.5*sin(2*pi*k*ts); %Sine Signalenddu(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=du(k)+u_1;%PID Controller%Restricting the output of controllerif u(k)>=5u(k)=5;endif u(k)<=-5u(k)=-5;end%Linear modelyout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2; error(k)=rin(k)-yout(k);%Return of parametersu_3=u_2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);x(1)=error(k)-error_1; %Calculating Px(2)=(error(k)-2*error_1+error_2); %Calculating Dx(3)=error(k);error_2=error_1;%Calculating Ierror_1=error(k);endfigure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)'),ylabel('rin,yout');figure(2);plot(time,error,'r')xlabel('time(s)');ylabel('error');解:程序见M文档。
MATLAB与系统仿真 作业

《MATLAB与系统仿真》大作业系别:班级:姓名:学号:指导教师:邮箱:2012年7月1日一、春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,它是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
要求编m文件输出所有存在的水仙花数。
其M文件设置为运行程序弹出对话框运行后结果为:二、带饱和输出特性二、带饱和输出特性PID 控制系统的被控对象为)(0s G=ses 601801-+,其PID 控制器为 )(s G c =)11(s T sT K D I p ++=sK sK KD Ip++1=5+s048.0。
以)(0s G与)(s G c 为前向通道的单位负反馈系统。
试对于PID 控制器分别采用以下3种办法:PID 控制3个分量叠加、传递函数方框图与PID 控制子系统绘制其Simulink 仿真模型图,并对其进行阶跃仿真。
然后对PID 控制子系统进行封装。
根据题意,已知PID 控制器为)(s G c =5+s048.0,即5=0.048=0p I D K K K =、、。
PID 的三个作用分量,仿真时可采用下列处理措施:①PID 控制3个分量叠加法②传递函数方框图法③PID 控制子系统及其Simulink 仿真模型图法。
PID 的三个分量叠加法:将PID 的三个分量叠加作用直接绘制在系统中的Simulink 模型ti2_1.mdl 如图2.1所示。
图中的阶跃信号为“1”,即单位阶跃作用,三信号叠加模块“Add ” 混路模块“Mux ”,饱和特性为“±1.1”,时间延迟“60”s ,仿真时间为“2000”s 。
图2.1 PID 控制三个分量叠加的Simulink 模型ti2_1.mdl 其中设置界面为图2.2 Transport Delay的界面设置图2.3 Saturation的界面设置图2.4 Transfer Fcn的界面设置图2.5 Step的界面设置在模型ti2_1.mdl图中,选中【Simulation】并执行其【Star】菜单项命令,再用鼠标左键双击“Scoope”示波器,即弹出图2.6所示系统输出示波器对话框,如果需要的话,用鼠标左键单击工具栏的纵坐标刻度管理工具【简图】,就得到如图2.6所示系统的单位阶跃给定响应曲线。
期末matlab考试题及答案

期末matlab考试题及答案注意:以下内容为虚构的期末MATLAB考试题目及答案,并非真实情况。
一、选择题1. 在MATLAB中,以下哪个命令可以将矩阵A的第一列元素求和?A) sum(A(:,1))B) sum(A(1,:))C) sum(A(1))D) sum(A(:,1))答案:A) sum(A(:,1))2. 对于向量x = [1, 2, 3, 4],以下哪个命令可以将x的元素逆序排列?A) flip(x)B) reverse(x)C) sort(x,'descend')D) sort(x,'ascend')答案:A) flip(x)3. 如果一个函数文件的文件名为"myFunction.m",那么在MATLAB中如何调用该函数?A) myFunction.mB) call myFunctionC) run myFunctionD) myFunction答案:D) myFunction4. 在MATLAB中,以下哪个命令可以生成一个在-1到1范围内均匀分布的10个数的向量?A) linspace(-1, 1, 10)B) rand(1, 10)*2-1C) linspace(1, 10, -1)D) randi([-1, 1], 1, 10)答案:B) rand(1, 10)*2-15. 对于矩阵A和B,以下哪个命令可以将它们进行垂直方向的拼接?A) vertcat(A, B)B) concat(A, B, 'vertical')C) merge(A, B, 'vertical')D) [A; B]答案:D) [A; B]二、填空题1. 假设有一个向量x = [1, 2, 3, 4],使用MATLAB命令求x的最大值。
答案:max(x)2. 假设有一个矩阵A = [1, 2, 3; 4, 5, 6; 7, 8, 9],使用MATLAB命令求A的行数。
MATLAB与系统仿真期末考试模拟试题1及答案

模拟试题1一、填空题(2’×16=32’)1、Matlab 的全称为。
2、Matlab 的工作界面主要由、、、、和组成。
3、Matlab 预定义变量ans 表示:;eps 表示:;nargin 表示:。
4、在Matlab 中inf 表示:。
5、建立结构数组或转换结构数组的函数为:;6、Matlab 提供了两种方法进行程序分析和优化,分别为:;。
7、MATLAB 编写的程序文件称为M 文件,M 文件有和两种。
二、简答题(6’×3=18’)1、描述在Matlab 中矩阵运算的含义,如A*B ,A.*B 表示什么运算过程?2、简述脚本M 文件和函数M 文件的区别?3、GUI 窗口中添加控件的两种方法是什么?三、程序设计及分析(7’×7+1’=50’)1、求2[122(74)]3+⨯-÷的算术运算在Command Window 中应该输入什么?2、编程实现323()5327()483b x x x x a x x x +-+=-++的部分分式展开?3、在Matlab 命令窗口中显示“Wellcome to MATLAB Program ”?4、求下列方程的解。
212345202711x y z x y z x y z -+=⎧⎪++=⎨⎪-++=⎩5、用sym 生成符号方程:a*x^2+b*x+c=0?6、编程求解由方程2210,50,240x y z x y z x y z -+=+-=-+=构成的线性方程组?7、用while 循环编程实现!100n <的最大的n 值?模拟试题1及答案一、填空题(2’×16=32’)8、Matlab 的全称为矩阵实验室。
9、Matlab 的工作界面主要由菜单栏、工具栏、当前工作目录窗口、工作空间管理窗口、历史命令窗口和命令窗口组成。
10、Matlab 预定义变量ans 表示:没有指定输出变量名;eps 表示:系统精度;nargin 表示:函数输入参数的个数。
matlab仿真期末作业

人口数/百万 150.7
作业
8、某饮料厂根据市场需求来安排生产,未来4周该饮料的需求量如表所示, 末来4周饮料厂的生产能力和生成成本也在表中列出。若饮料有剩余时 需要支付存贮费,存贮费第千箱饮料0.2千元。如何安排生产计划,使 生产总成本最小。 若4周内需要有一周进行设备检修,检修将占用15千箱的生产能力,但 检修后每周的生产能力提高55千箱,安排在哪周进行检修效益最好。
6、求下面优化问题的最优解,初始点X0=[2,4,5]T
min f ( X ) 4 x 1 x 2 x 3 12
2 2
h 1 ( X ) x 1 x 2 20 0
2 2
h 2 ( X ) x1 x 3 7 0
作业
7、根据两个世纪以来美国人口的统计数据,并依此建立数学
期末作业
作业
1、求解:
x sin xdx
2 2
4
1 x 1
2
dx
2
x
lim (
x 4 x x)
2
x
lim (
x 4 x x)
2
2、 y
x ( x 1) ln( x
x 1)
求解: y 及
yபைடு நூலகம் | x 1
3 2
3、求解微分方程 x ln xdy 并绘制x,y关系曲线
模型,并依此预测2015年、2020年的美国人口
年份 人口数/百万 年份 人口数/百万 年份 1810 7.2 1880 50.2 1950 1820 9.6 1890 62.9 1960 179.6 1830 12.9 1900 76.0 1970 204.0 1840 17.1 1910 82.0 1980 226.5 1850 23.2 1920 106.5 1990 251.4 1860 31.4 1930 123.2 2000 275.0 1870 38.6 1940 131.7 2010 308.7
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12春MATLAB仿真期末大作业
MATLAB仿真
期末大作业
姓名:班级:学号:指导教师:
2012春期末大作业
题目:设单位负反馈控制系统前向通道传递函数由)()(21s G s G 和串联,其中:
)
1(1)()(21++==s A s G s K
s G A 表示自己学号最后一位数(可以是零),K 为开环增益。
要求:
(1)设K=1时,建立控制系统模型,并绘制阶跃响应曲线(用红色虚线,并标注坐标和标题);求取时域性能指标,包括上升时间、超调量、调节时间、峰值时间;
(2)在第(1)问中,如果是在命令窗口绘制阶跃响应曲线,用in1或者from workspace 模块将命令窗口的阶跃响应数据导入Simulink 模型窗口,用示波器显示阶跃响应曲线;如果是在Simulink 模型窗口绘制阶跃响应曲线,用out1或者to workspace 模块将Simulink 模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线。
(3)用编程法或者rltool 法设计串联超前校正网络,要求系统在单位斜坡输入信号作用时,速度误差系数小于等于0.1rad ,开环系统截止频率s rad c /4.4''≥ω,相角裕度大于等于45度,幅值裕度大于等于10dB 。
C=dcgain(S);
[y,t]=step(S);
plot(t,y);
[Y,k]=max(y);
timetopeak=t(k);
percentovershoot=100*(Y-C)/C;
n=1;
while y(n)<C
n=n+1;
end
ristime=t(n);
i=length(t);
while(y(i)>0.98*C)&(y(i)<1.02*C)
i=i-1;
end
setllingtime=t(i);
运行程序得到如下结果:
Zero/pole/gain:
5
-------
s (s+1)
C=1(系统终值)
timetopeak=1.4365(峰值时间)
percentovershoot=8.0778(超调量)ristime=0.8978(上升时间)setllingtime=7.5415(调节时间)
(3)建立超前校正子函数如下:function Gc=cqjz_frequency(G,kc,yPm) G=tf(G);
[mag,pha,w]=bode(G*kc);
Mag=20*log10(mag);
[Gm,Pm.Wcg,Wcp]=margin(G*kc);
phi=(yPm-getfield(Pm,'Wcg'))*pi/180;
alpha=(1+sin(phi))/(1-sin(phi));
Mn=-10*log(alpha);
Wcgn=spline(Mag,w,Mn);
T=1/Wcgn/sqrt(alpha);
Tz=alpha*T;
Gc=tf([Tz,1],[T,1]);
主函数如下:
num=1;
den=conv([1,0],conv([0.3,1],[0.1,1]));
G=tf(num,den);
kc=6;yPm=45+6;
Gc=cqjz_frequency(G,kc,yPm);
G=G*kc;
GGc=G*Gc;
Gy_close=feedback(G,1);
Gx_close=feedback(GGc,1);
figure(1);
step(Gx_close,'b');hold on;
step(Gy_close,'r');grid
gtext('校正前的');gtext('校正后的');
figure(2);
bode(G,'b');
hold on;
bode(GGc,'r');grid
gtext('校正前的');gtext('校正后的');gtext('校正前的');gtext('校正后的'); figure(3);
nyquist(G,'b');
hold on;
nyquist(GGc,'r');grid
gtext('校正前的');gtext('校正后的');
绘制校正前后的单位阶跃响应曲线,开环伯德图和开环奈奎斯特曲线:。