matlab考试题_第1页
matlab考试题_第2页
matlab考试题_第3页
matlab考试题_第4页
matlab考试题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

5. 设计M文件计算: x=0:0.1:10当sum1000时停止运算,并显示求和结果及计算次数。clearx=0:0.1:10;s=1;sumx=0;while(sumx=1000) sumx=sumx+x(s)*x(s)-2*x(s); s=s+1;endssumx二、实验内容: M文件设计:仿真时间01秒,计算步长h=0.1,初始值y(0)=1,对连续系统 采用以下方法建立仿真模型: 前向Euler: 后向Euler: 梯形法: 改进Euler: 经典RK4: Adams法: Milne法:并与精确解的结果进行比较。%qianxiangEulerx1(1)=0;h=0.1;y1(1)=1;for s=1:1:10 f1(s)=x1(s)+y1(s); y1(s+1)=y1(s)+h*f1(s); x1(s+1)=x1(s)+h;end%houxiangEulery2(1)=1;x2(1)=0;h=0.1;for s=1:1:10y2(s+1)=(y2(s)+h*(x2(s)+h)/(1-h);x2(s+1)=x2(s)+h;end%gaijinEulerx4(1)=0;y4(1)=1;h=0.1;for s=1:1:10k1=x4(s)+y4(s);k2=x4(s)+h+y4(s)+h*k1;y4(s+1)=y4(s)+(k1+k2)*h/2;x4(s+1)=x4(s)+h;end%梯形法x3(1)=0;y3(1)=1;h=0.1;for s=1:1:10 y3(s+1)=(y3(s)+(2*x3(s)+y3(s)+h)*h/2)/(1-h/2); x3(s+1)=x3(s)+h;end%RK4x5(1)=0;y5(1)=1;h=0.1;for s=1:1:10 k1=x5(s)+y5(s); k2=x5(s)+h/2+y5(s)+k1*h/2; k3=x5(s)+h/2+y5(s)+k2*h/2; k4=x5(s)+h+y5(s)+k3*h; y5(s+1)=y(s)+(k1+2*k2+2*k3+k4)*h/6; x5(s+1)=x5(s)+h;end%Adamsx6(1)=0;y6(1)=1;h=0.1;y6(2)=y6(1)+h*(x6(1)+y6(1);x6(2)=x6(1)+h;y6(2)=y6(1)+(x6(1)+y6(1)+x6(2)+y6(2)*h/2;y6(3)=y6(2)+h*(x6(2)+y6(2);x6(3)=x6(2)+h;y6(3)=y6(2)+(x6(2)+y6(2)+x6(3)+y6(3)*h/2;for s=3:1:10 x6(s+1)=x6(s)+h;y6(s+1)=y6(s)+(23*(y6(s)+x6(s)-16*(y6(s-1)+x6(s-1)+5*(y6(s-2)+x6(s-2)*h/12;end%Milney7(1)=1;x7(1)=0;h=0.1;y7(2)=y7(1)+h*(x7(1)+y7(1);x7(2)=x7(1)+h;y7(2)=y7(1)+(x7(1)+y7(1)+x7(2)+y7(2)*h/2;y7(3)=y7(2)+h*(x7(2)+y7(2);x7(3)=x7(2)+h;y7(3)=y7(2)+(x7(2)+y7(2)+x7(3)+y7(3)*h/2;for s=3:1:10y7(s+1)=y7(s)+h*(x7(s)+y7(s);x7(s+1)=x7(s)+h;y7(s+1)=y7(s)+(x7(s)+y7(s)+x7(s+1)+y7(s+1)*h/2;y7(s+1)=y7(s-1)+(y7(s+1)+x7(s+1)+4*(y7(s)+x7(s)+(y7(s-1)+x7(s-1)*h/3;end%jingquejiex=0:0.1:1;y=2*exp(x)-1-x;没有画图,画图部分自己加1、函数文件设计: 设计一个函数文件实现一个阶乘运算 ,并设计程序调用该函数。 为保证函数的通用性,当输入负数或小数时,显示出错提示: disp(Input parameter must be a positive integer!) 提示:fix(x) 对零方向取整数 ceil(x) 对+方向取整数 round(x) 四舍五入取整数functiony=jc(n)%阶乘if n0 disp(Input parameter must be a positive integer!); disp(亲 输入整数哦);elseif n=fix(n) y=1; for s=1:1:n y=y*s; endelse disp(Input parameter must be a positive integer!); disp(亲 输入整数哦);end2、已知两个传递函数分别为:在MATLAB中分别用传递函数、零极点、和状态空间法表示;%传递函数、零极点、状态空间num1=1;den1=3,1;num2=2;den2=3,1,0;disp(传递函数表示);disp(传递函数1);sys1=tf(num1,den1)disp(传递函数2);sys2=tf(num2,den2)z1,p1,k1=tf2zp(num1,den1);z2,p2,k2=tf2zp(num2,den2);disp(零极点表示);disp(传递函数1);sys3=zpk(z1,p1,k1)disp(传递函数2);sys4=zpk(z2,p2,k2)a1,b1,c1,d1=tf2ss(num1,den1);a2,b2,c2,d2=tf2ss(num2,den2);disp(状态空间法表示);disp(传递函数1);sys5=ss(a1,b1,c1,d1)disp(传递函数2);sys6=ss(a2,b2,c2,d2)在MATLAB中分别求出通过反馈、串联、并联后得到的系统模型;%通过反馈、串联、并联disp(反馈后得到的系统函数);sys7=feedback(sys1,sys2)disp(并联后得到的系统函数);sys8=parallel(sys1,sys2)disp(串联后得到的系统函数);sys9=series(sys1,sys2)1已知两个单位负反馈系统中的开环传递函数分别为:,分别用传递函数、零极点、和状态空间法表示开环模型;%num1=2,1;den1=1,3,1;disp(传函表示);disp(系统1);sys1=tf(num1,den1)num2=2,1;den2=1,3,1,0;disp(系统2);sys2=tf(num2,den2)disp(零极点表示);z1,p1,k1=tf2zp(num1,den1);disp(系统1);sys3=zpk(z1,p1,k1)z2,p2,k2=tf2zp(num2,den2);disp(系统2);sys4=zpk(z2,p2,k2)disp(状态空间法表示);disp(系统1);a1,b1,c1,d1=tf2ss(num1,den1);sys5=ss(a1,b1,c1,d1)disp(系统2);a2,b2,c2,d2=tf2ss(num2,den2);sys6=ss(a2,b2,c2,d2)分别绘制开环系统的bode图和nyquist曲线;%绘制开环系统的bode图和nyquist曲线subplot(2,2,1)nyquist(sys1)subplot(2,2,2)bode(sys1)subplot(2,2,3)nyquist(sys2)subplot(2,2,4)bode(sys2)分别绘制闭环系统的根轨迹;%绘制闭环系统根轨迹subplot(1,2,1)rlocus(sys1)subplot(1,2,2)rlocus(sys2)分别绘制闭环系统的阶跃响应曲线,分析静态误差;%绘制闭环系统的阶跃响应曲线disp(系统1的闭环传递函数);sys7=feedback(sys1,1)disp(系统1的闭环传递函数);sys8=feedback(sys2,1)subplot(2,1,1)step(sys7,10)subplot(2,1,2)step(sys8,15)分别绘制闭环系统的单位斜坡输入响应曲线,分析静态误差。%绘制闭环系统的单位斜坡输入响应t=0:20;u=t;subplot(2,1,1)lsim(sys7,u,t)subplot(2,1,2)lsim(sys8,u,t)2已知某单位负反馈系统的开环模型为:判断能控性;期望极点为p=(-1,-2,-3);设计状态反馈K进行极点配置;分别绘制校正前后的根轨迹。%单位负反馈系统的极点配置a=-1,-2,1;1,0,1;-1,0,1;b=1;1;1;c=1,0,1;d=0;disp(单位负反馈系统的开环模型为);sys9=ss(a,b,c,d)disp(系统的能空性判别矩阵为);m=ctrb(a,b)disp(能空性判别矩阵的秩为);r=rank(m)disp(期望极点为);p=-1,-2,-3disp(计状态反馈k为);k=acker(a,b,p)a1=a-b*k;b1=b;c1=c;d1=d;disp(校正后系统的开环模型为);sys10=ss(a1,b1,c1,d1)subplot(2,1,1)rlocus(sys9)subplot(2,1,2)rlocus(sys10)1、替换法建立连续系统仿真模型(不太准)设连续系统传递函数为 ,用简单替换法求其Z传递函数和差分方程(采样周期T=0.1s);%替换法建立连续系统仿真模型den1=1;num1=1,5,3;sys1=tf(den1,num1)dend,numd=c2d(den1,num1,0.1);printsys(dend,numd,z) 若已知:输入作用为单位阶跃函数U(t)=1(t),起始值y(0)=0、y(0.1)= 0.004251,仿真时间t=0,10,在的基础上设计程序求出响应结果Y(t),并绘制响应曲线;并与控制系统step( )函数得出的响应结果比较。%RK-4法绘制响应曲线与控制系统step函数得出的响应结果比较a,b,c,d=tf2ss(den1,num1);x=zeros(length(a),1);h=0

温馨提示

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

评论

0/150

提交评论