matlab程序大全

上传人:仙*** 文档编号:29885021 上传时间:2021-10-08 格式:DOC 页数:18 大小:706KB
收藏 版权申诉 举报 下载
matlab程序大全_第1页
第1页 / 共18页
matlab程序大全_第2页
第2页 / 共18页
matlab程序大全_第3页
第3页 / 共18页
资源描述:

《matlab程序大全》由会员分享,可在线阅读,更多相关《matlab程序大全(18页珍藏版)》请在装配图网上搜索。

1、面朝大海,春暖花开! 频率特性类题目1 一个系统的开环传递函数为 ,试绘制其当K=5、30时系统的开环频率特性Nyquist图,并判断系统的稳定性。w=linspace(0.5,5,1000)*pi;sys1=zpk(,0 -10 -2,100)sys2=zpk(,0 -10 -2,600)figure(1)nyquist(sys1,w)title(system nyquist charts with k=5)figure(2)nyquist(sys2,w)title(system nyquist charts with k=30)由图可知K=5时,开环Nyquist曲线没有包围(-1,j0)

2、点,所以系统稳定。K=30时,开环Nyquist曲线包围(-1,j0)点,所以系统不稳定。2系统开环传递函数为 ,建立其零极点增益模型,然后分别绘制当K=5、K=30时系统的开环频率特性Bode图,并判断系统的稳定性。sys1=zpk(,0 -10 -2,100)sys2=zpk(,0 -10 -2,600)figure(1)Gm1,Pm1,Wcg1,Wcp1=margin(sys1)bode(sys1)title(system bode charts with k=5),gridfigure(2)Gm2,Pm2,Wcg2,Wcp2=margin(sys2)bode(sys2)title(sy

3、stem bode charts with k=30),grid因为K=5时,WcgWcp,所以系统稳定。K=10时,WcgWcp,系统不稳定。3 系统开环传递函数为 ,计算K=5和K=30时系统的幅值裕度与相位裕度。 sys1=zpk(,0 -10 -2,100)sys2=zpk(,0 -10 -2,600)Gm1,Pm1,Wcg1,Wcp1=margin(sys1)Gm2,Pm2,Wcg2,Wcp2=margin(sys2)4 已知某系统的闭环传递函数如下,试用roots()命令来判断系统的稳定性。 num=0 0 0 3 2 5;den=1 2 4 5 7 6;D=num+den;roo

4、ts(D)5 某单位负反馈系统的开环控制系统的传递函数为(1)绘制系统的根轨迹; num=1 0.8 0.64;x=0 -0.05 -5 -40;den=poly(x);rlocus(num,den)(2)当时,绘制系统的Bode图,判断系统的稳定性,并且求出幅值裕度和相角裕度。 num=1 0.8 0.64;x=0 -0.05 -5 -40;den=poly(x);sys=tf(num,den)bode(sys),gridGm,Pm,Wcg,Wcp=margin(sys)6 已知系统的状态空间模型如下: x + u x(1)绘制系统的Bode图和nyquist图;(2)求系统的幅值裕度和相位

5、裕度;A=1,-1;1,3;B=1,0;C=1,1;D=0;w=linspace(0.5,5,1000)*pi;sys=ss(A,B,C,D)figure(1),bode(sys),gridfigure(2),nyquist(sys,w)Gm,Pm,Wcg,Wcp=margin(sys)7 已知单位负反馈系统的开环传递函数为,试绘制系统的单位阶跃响应、开环Bode图和Nyquist曲线,并求系统的幅值裕度和相位裕度。sys=zpk(-1,0 0 -1,1)sys1=feedback(sys,1,-1)figure(3)step(sys1)figure(1)bode(sys),gridfigur

6、e(2)nyquist(sys),gridGm,Pm,Wcg,Wcp=margin(sys) 编写程序题1 编写两个m文件,分别使用for和while循环语句计算。y=0;for k=1:200 y=y+k3;endyy=0;k=1;while k=200 y=y+k3; k=k+1;endy2 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数,编写M文件,输出全部水仙花数。 for m=100:999 m1=fix(m/100); m2=fix(m-100*m1)/10); m3=fix(m-100*m1-10*m2); if m=m13+m23+m33 disp(m) enden

7、d3 编写M文件,实现以下功能:从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。4 编写M脚本文件,使得运行该文件后能求出100,200之间第一个能被21整除的整数。for i=100:200 if mod(i,21)=0 break endendi5 先编写一个函数文件,文件名为tran,使得该函数文件实现直角坐标(x,y)与极坐标(,)之间的转换。然后编写脚本文件,文件名为main1,在脚本文件中实现如下功能:要求用户从键盘输入直角坐标X和Y,调用函数文件实现直角坐标到极坐标的转换,输出极坐标的值。tran.m :function rho,theta=tran(x,y)

8、rho=sqrt(x*x+y*y);theta=atan(y/x);main1.m :x=input(Please input x=:)y=input(Please input y=:)rho,theta=tran(x,y);rhotheta6 猜数游戏。首先由计算机产生1,100之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏。用户最多可以猜7次。x=fix(100*rand(1);i=1while iy disp(Low)else disp(High)e

9、ndi=i+1;end7 编写M脚本文件,分别使用for 和 while 循环语句计算的值,并且显示出sum的结果。 sum=0;for i=1:10 sum=sum+ii;endsumsum=0;while i=10 sum=sum+ii; i=i+1;endsum8 用筛选法求某自然数范围内的全部素数。素数是大于1,且除了1和它本身以外,不能被其他任何整数所整除的整数。用筛选法求素数的基本思想是:要找出2m之间的全部素数,首先在2m中划去2的倍数(不包括2),然后划去3的倍数(不包括3),由于4已被划去,再找5的倍数 (不包括5),直到再划去不超过的数的倍数,剩下的数都是素数。functi

10、on y=sushu(x)y=2:x;n=2:x;for j=2:xm=j*n;y=setdiff(y,m);end9 已知 ,当n=100时,求y的值。 y=0;n=100;for k=1:n y=y+(1/(2*k-1); k=k+1;endy10 利用for循环计算1!+2!+3!+. +20!的值。 sum=0;for i=1:20 y=1; for n=1:i y=y*n; end sum=sum+y;endsum11 用while循环来实现求1+2+100的值。y=0;n=1;while n=100 y=y+n; n=n+1;endy12 编一函数计算以下分段函数值。functio

11、n y=f(x);if x=0&x1 y=2*x2+1;else y=3*x3+2*x2+1;end13 我国新税法规定:个体工商户的生产、经营所得和对企事业单位的承包经营、承租经营所得应缴纳的个人所得税为全年收入中应缴纳所得税部分 税率/%(1)不超过5000元的 5(2)超过5000元至10000元的部分 10(3)超过10000元至30000元的部分 20(4)超过30000元至50000元的部分 30(5)超过50000元的部分 35试编程加以计算。x=input(x=)if x5000&x10000&x30000&x0 i=i+1; disp(positive one) elseif

12、 x0 average=sum/cnt;endsum,average18 一数组的元素满足规则: a(1)=a(2)=, a(3)=a(1)+a(2), a(4)=a(2)+a(3),依次类推,求该数组中第一个大于10000的元素。 a(1)=1;a(2)=1;i=1;while a(i)=10000 a(i+2)=a(i+1)+a(i); i=i+1;endia(i)19 某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price200 没有折扣 200price500 3%折扣 500price1000 5%折扣 1000price2500 8%折扣 250

13、0price5000 10%折扣5000price 14%折扣请编写程序,使得当从计算机输入所售商品的打折前价格后,能输出其实际销售价格。x=input(x=)if x=200&x=500&x=1000&x=2500&x5000 y=0.9*x;else y=0.86*x;endy20 编写M脚本文件,分别使用for 和 while 循环语句计算的值,并且显示出sum的结果。21 已知 ,当n=100时,求y的值。22编写函数文件使其实现如下功能:当在命令窗口输入数字后,根据输入参数的个数决定输出的结果;当没有参数输入时,显示“无输入参数”;当有一个参数时,则以该参数为边绘制正方形;当有两个参

14、数时,则以两个参数为长和宽绘制矩形。function y=H(varargin) % varargin 表示可变的参数if nargin=0 disp(无输入参数)elseif nargin=1 r=varargin1; rectangle(position,0 0 r r) %表示从(0,0)点开始画宽为R,高为R的矩形else nargin=2 r1=varargin1; r2=varargin2; rectangle(position,0 0 r1 r2)end23 编制M脚本文件,要求从键盘逐个输入数值(input),然后判断输入的数是大于0还是小于0,并输出提示(使用disp命令)是

15、正数(positive one)还是负数(negative one),同时记录输入的正数、负数的个数。当输入0时,终止此M文件的运行(使用break命令);当输入第10个数字时,显示记录的正、负数个数并终止程序。i=0;j=0;for x=1:10 n=input() if n0 j=j+1; disp(position one) else break endendij24 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求1,500之间的全部完数。for m=1:500 s=0; for k=1:m/2 if rem(m,k)=0 s=s+k; end end

16、 if m=s disp(m) endend25 今有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i各点上的P(xi)(i=0,1,2,5)值。A=1 0 0 -2 1;B=0 0 1 4 -0.5;C=A+Bi=0:5;xi=0.2*i;y=polyval(C,xi)26 试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。要求运行程序后,在命令窗口提示“请用输入一个一维数组;”,输入完毕后若回车,就能在输出窗口显示刚才所输入的数组的颠倒次序。(如N=5,原来x为:x= 1 3 5 7 9 而经过

17、颠倒处理后x中数据的次序应该为:x= 9 7 5 3 1 )x=input(请用输入一个一维数组:x=)x1=fliplr(x) 模型建立及转换题1 某系统的传递函数为使用MATLAB求出状态空间表达式和零极点模型。num=1.3 2 3;den=1 0.5 1.2 1;sys=tf(num,den)nsys=zpk(sys)2 求出以下系统的传递函数 , A=-1,0,1;1,-2,0;0,0,-3;B=0,0,1;C=1 1 0;D=1;sys=ss(A,B,C,D)nsys=tf(sys)3 已知某系统的传递函数为:,试用MATLAB语言求出该系统的传递函数模型、状态空间模型和零极点增益

18、模型。num=12 24 12 20;den=2 4 6 2 2;sys=tf(num,den)sys1=zpk(sys)sys2=ss(sys)4 已知双闭环调速系统电流环内的前向通道3个模块传递函数分别为:试求串联连接的等效传递函数及其等效状态空间模型。num1=0.0128 1;den1=0.04 0;num2=30;den2=0.00167,1;num3=2.5;den3=0.0128 1;sys1=tf(num1,den1)sys2=tf(num2,den2)sys3=tf(num3,den3)sys=sys1*sys2*sys3nsys=ss(sys)5 已知两个环节的传递函数分别

19、为:试求两环节并联连接等效传递函数的num与den向量及等效的状态空间模型。num1=1;den1=1 2;num2=2 1;den2=1 1 2;sys1=tf(num1,den1)sys2=tf(num2,den2)sys=sys1+sys2num,den=tfdata(sys,v)nsys=ss(sys)6 将传递函数模型转换为状态空间模型和零极点模型。num=1 0;den=1 3 2;sys=tf(num,den)sys1=zpk(sys)sys2=ss(sys)7 系统方程为,求出其状态空间表达式,写出A、B、C、D阵,建立其MATLAB状态空间模型,然后绘制其单位阶跃响应曲线。

20、A=0 1 0;0 0 1;-16 -11 -6;B=0 0 6;C=1 0 0;D=0;sys=ss(A,B,C,D)step(sys)8 设有一质量弹簧阻尼系统,如下图所示。F(t)为输入的外力,y(t)为质量块的位移,弹簧的弹性系数为k,阻尼器的阻尼系数为f。系统的动态方程组为: 求出其状态空间表达式,写出A、B、C、D阵,建立其MATLAB状态空间模型,然后绘制其单位阶跃响应曲线(只要写出MATLAB语句即可)。A=0 1;-k/m -f/m;B=0 F(t)/m;C=1 0;D=0;sys=ssA,B,C,Dstep(sys)9 对下图中所示系统进行建模、模型转换及仿真: 用MATL

21、AB语言表示图示系统的模型,并给出传递函数、零极点和状态空间三种模型的具体表达。num1=1 0.5;den1=1 0.1;z=;p=0 -2 -10;k=20;sys1=tf(num1,den1)sys2=zpk(z,p,k)sys3=sys1*sys2sys=feedback(sys3,1,-1)nsys1=tf(sys)nsys2=ss(sys) 用MATLAB语言画出系统单位阶跃响应的波形。10 对图中所示的质量弹簧阻尼机械系统,系统的动力学方程为:,其中,m=5kg,k=2N/m,c=0.1N/m.s,建立其MATLAB状态空间模型,写出A、B、C、D阵,然后绘制其单位阶跃响应曲线。

22、A=0,1;-2/5,-0.1/5;B=0,2/5;C=1,0;D=0;sys=ss(A,B,C,D)step(sys)11求下面系统在阶跃信号为0.11(t)时系统的响应。并求系统性能指标:稳态值、上升时间、调节时间、超调量num=20;den=1 8 36 40 20;sys=tf(num,den)final=polyval(num,0)/polyval(den,0)y,t=step(sys)yp,k=max(y)tp=t(k)chaotiao=100*(yp-final)/finaln=1;while y(n)0.98*final&y(i)1.02*final) i=i-1;endts=

23、t(i)step(0.1*sys)12 已知系统传递函数,绘制系统阶跃响应曲线;绘出离散化系统阶跃响应曲线,采样周期。num=1;den=1 0.2 1.01;sys1=tf(num,den)sys2=tf(num,den,0.3)figure(1)step(sys1)figure(2)step(sys2) 数值计算类题目1 求解以下线性代数方程:A=1,0,2;1,1,3;3,1,2;B=2,1,1;X=inv(A)*B2 已知矩阵 ,试分别求出A阵和B阵的秩、转置、行列式、逆矩阵以及特征值。A=0 1 3;1 2 1;5 4 2;B=2 1 8;4 1 4;3 3 2;A1=rank(A)

24、B1=rank(B)A2=A.B2=B.A3=det(A)B3=det(B)A4=inv(A)B4=inv(B)A5=eig(A)B5=eig(B)3 已知矩阵 ,在Command窗口中分别求出、矩阵为中每个元素平方组成的矩阵、矩阵为阵乘以阵、矩阵为阵和阵数组乘积(即:对应元素分别相乘的积构成的矩阵)。A=0 1 3;1 2 1;5 4 2;B=2 1 8;4 1 4;3 3 2;C=A2D=A.2E=A*BF=A.*B4 求复数矩阵的转置C1与共轭转置C2。A=1 5 7;6 3 4;B=3 -1 3;2 2 -3;C=A+B*iC1=C.C2=C5 假设a、b、c和d的定义如下: ; ;

25、; 分别写出下列表达式的运算结果。(1) a*b(2) a*c(3) a.*d(4) a*dans = -1 2 -2 5ans = 3 8ans = 5 0 10 5ans = 5 06 求解由下面四个方程组成的方程组。 A=2 -3 1 2;1 3 0 1;1 -1 1 8;7 1 -2 2;B=8 6 7 5;C=inv(A)*B7 求解由下面四个方程组成的方程组。 A=2 -3 1 2;1 3 0 1;1 -1 1 8;7 1 -2 2;B=17 23 9 51;C=inv(A)*B8 已知某班的5名学生的三门课成绩列表如下: 学生序号 1 2 3 4 5 高等数学 78 89 64

26、73 68 外语 83 77 80 78 70MATLAB语言 82 91 78 82 68试写出有关命令,先分别找出三门课的最高分及其学生序号;然后找出三门课总分的最高分及其学生序号。 A=78 89 64 73 68;83 77 80 78 70;82 91 78 82 68;Y,L=max(A,2)B=sum(A,1);Y1,L1=max(B) SIMULINK建模分析题1 某一单位负反馈控制系统,其开环传递函数为给它输入阶跃量为2的阶跃信号,试使用Simulink构造其闭环仿真模型,并且绘制其响应曲线。然后将已经建立的闭环控制系统封装成一个子系统。2 典型的直流电动机双闭环调速系统的结

27、构图如图所示,编写MATLAB程序(或利用SIMULINK工具),画出系统的单位阶跃响应曲线。3 双环调速的电流环系统的方框图模型为:建立该系统的SIMULINK模型,然后在单位阶跃输入信号作用下对系统进行仿真。根据仿真结果计算超调量、上升时间、调节时间、稳态误差。4 利用sisotool工具完成下面的题目:1、系统开环传递函数为:绘制当K=5、30时系统的Bode图,并判断系统的稳定性;计算K=5、30时系统的幅值和相位裕度;绘制K=5、30时系统的Nyquist图;绘制K=5、30时系统的Nichols图。5 已知二阶系统微分方程:.求在时间区间t=0,20内的微分方程的解。Vf.mFun

28、ction dy=vf(t,y)Dy=zeros(2,1);Dy(1)=y(2);Dy(2)=(1-y(1)2)*y(2)-y(1);Main.mT,Y=ode45(vf,0 20,0,1);%调用离散ode45产生离散点时间向量和解向量Plot(T,Y(:,1),r-,T,Y(:,2),b:)Legend(y1,y2)6具有死区非线性特性的控制系统方框图如题下图所示。试绘制当输入信号和时系统响应曲线。图形绘制题 1 绘制z=sin(x)*cos(y)的三维网格和三维曲面图,x,y变化范围均为0,2。 x=0:pi/100:2*pi;y=0:pi/100:2*pi;X,Y=meshgrid(x

29、,y)Z=sin(X).*cos(Y);subplot(1,2,1),surf(X,Y,Z); %曲面图subplot(1,2,2),mesh(X,Y,Z); %网线图2 用MATLAB语言绘制2,2区间内sin、cos曲线,数据点间隔0.1弧度。要求分上下两个子图分别绘制sin、cos,并且sin用红色、实线,cos用兰色、虚线,对图形标题及横纵坐标轴进行标注(图形标题分别为sin、cos,横纵坐标轴分别为x,y)。 t=-2*pi:0.1:2*pi;y1=sin(t);y2=cos(t);subplot(2,1,1),plot(t,y1,r)title(sin(t),xlabel(x),ylabel(y)subplot(2,1,2),plot(t,y2,b:)title(cos(t),xlabel(x),ylabel(y)3 在0 2范围内绘制二维曲线图y=sin(x)*cos(5x)。x=0:pi/50:2*pi;y=sin(x).*cos(5*x);plot(x,y)4 在0 2范围内绘制二维曲线图。 y=|1000sin(4x)|+1x=0:pi/50:2*pi;y=abs(1000*sin(4*x)+1;plot(x,y)19

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!