MATLAB上机实验报告仅参考.doc
《MATLAB上机实验报告仅参考.doc》由会员分享,可在线阅读,更多相关《MATLAB上机实验报告仅参考.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLAB上机实验报告MATLAB上机实验报告平顶山学院计算机语言类课程实验报告(4)课程名称院系学号实验日期MATLAB语言及应用电气信息工程学院2021/5/3实验机房专业电气工程及其自动化姓名任课教师王凯实验学时23305班级机器号实验成绩电气二班A4一实验名称:MATLAB求解线性方程组和矩阵的初等计算二实验目的和要求1、掌握利用MATLAB程序编辑器编写应用程序的方法;2、掌握MATLAB求解线性方程组的方法;3、掌握MATLAB进行矩阵的初等计算的方法三实验内容1、给出一个信号t=0:0.001:3,其正弦信号频率响应特性usin(300t)+2cos(200t),求其幅频特性曲
2、线。2、已知某系统的闭环传递函数为(s)根,并判别其稳定性。3、已知某系统的开环传递函数为G(s)图,并判断系统的稳定性。4、已知某系统的开环传递函数为G(s)5,计算该系统的相位裕度和幅值裕度。s(s4)(s5)1,画出该系统的开环Nyquist图和Bodes(3s1)(4s1)s4试求该系统的特征5432s10s20s30s40s5025、已知某系统的闭环传递函数为(s)2,设0.707,n1:1:5,画出该2s2wnsnn系统的单位阶跃响应曲线。四实验设计方案(实验步骤或开发过程)1、clearallcloseallclct=0:0.001:3;u=sin(300*t)+2*cos(20
3、0*t);y=fft(u);yy=abs(y);plot(t,yy)2、d=11020304154;r=roots(d)3、clearallcloseallnum=1;den=12710;bode(num,den)figure(2)nyquist(num,den)w=logspace(0,4,50);bode(sys,w);grid;Gm,Pm,Wg,Wc=margin(sys)5、i=0;t=0:0.1:10;forwn=1:5i=i+1;zeta=0.707;num=wn2;den=1,2*zeta*wn,wn2;sys=tf(num,den);y(:,i)=step(sys,t);end
4、plot(t,y(:,1),t,y(:,2),t,y(:,3),t,y(:,4),t,y(:,5);gridxlabel(time(s)ylabel(stepresponse)4、num=5;den=conv(1,0,conv(1,4,1,5);sys=tf(num,den);五实验中存在问题及解决办法这一次上机实验遇到很多问题,首先关于用MATLAB求自动控制相关问题以前接触到一点,但是现在完全不会,相关函数都不清楚,在上网查阅资料,仿照网友给出的程序最终得除了正确结果,但是对于怎么用程序函数判断系统的稳定性还是没有掌握。最大的问题还是对于MATLAB软件不熟悉。六实验结果1、5、25001
5、.420211.21stepresponse15000.810000.60.45000.2021.511.522.5302、r=-7.8739-1.4201+0.9942i-1.4201-0.9942i0.3570+1.4679i0.3570-1.4679i由此看出系统不稳定3、NyquistDiagram10080Magnitude(dB)012345time(s)678910BodeDiagram506040ImaginaryAxis0-50200-20-100-90-135-180-225-270-60-80-100-7-6-5-4RealAxis-3-2-10Phase(deg)-40
6、10-210-110Frequency(rad/s)01014、Gm=36(幅值裕度)Pm=83.5835(相角裕度)七附录(源程序清单)1、clearallcloseallclct=0:0.001:3;u=sin(300*t)+2*cos(200*t);y=fft(u);yy=abs(y);plot(t,yy)2、d=11020304154;r=roots(d)3、clearallcloseallnum=1;den=12710;bode(num,den)figure(2)nyquist(num,den)4、num=5;den=conv(1,0,conv(1,4,1,5);sys=tf(num
7、,den);w=logspace(0,4,50);bode(sys,w);grid;Gm,Pm,Wg,Wc=margin(sys)5、i=0;t=0:0.1:10;forwn=1:5i=i+1;zeta=0.707;num=wn2;den=1,2*zeta*wn,wn2;sys=tf(num,den);y(:,i)=step(sys,t);endplot(t,y(:,1),t,y(:,2),t,y(:,3),t,y(:,4),t,y(:,5);gridxlabel(time(s)ylabel(stepresponse)扩展阅读:matlab上机实验报告上海电力学院数值计算方法上机实习院系:专业
8、年级:学生姓名:学号:指导教师:报告能源与机械工程学院动力机械及工程2021级张亚杰ys1210124014黄建雄2021年12月26日1数值计算方法上机实习题xndx,1设In05x1(1)由递推公式In5In1解:I0=I=0.1823forn=1:1:20,I=-5*I+1/n;1,从I0的几个近似值出发,计算I20;n105xdx=0.18231计算I20编辑matlab命令如下:fprintf(%.1d%.4fn,n,I);end结果:(2)粗糙估计I20,用In111In,计算I0;55nx20d解:I20=05xx1使用复合中点公式进行积分,相应的matlab程序如下:I=0;f
9、orh=0:0.001:1,m=h+0.0005;I=I+0.001*m20/(5+m);fprintf(%.1d%.4fn,m,I);enddisp(I);fork=1:20,n=21-k;I=0.2*(1/n-I);fprintf(%.1d%.4fn,n,I);enddisp(I)结果:程序结束时输出两个I值,第一个表示I20,第二个表示I0;分别为I20=0.0082I0=0.1823(3)分析结果的可靠性及产生此现象的原因(重点分析原因)。从上述计算中分析得到如果先得到I0,再从I0由递推公式得到I20,I20结果跟精确值相比误差很大;如果先估算I20,在从I20有递推公式得到I0,I
10、0的结果跟精确值相比近似相等。原因分析:如果从I0推I20的近似值,需要用到递推公式In=-5In-1+1/n,I0本身结果是有误差的;经过递推公式计算20次,就等于误差被认为的放大5的20次方倍,所以得到的I20与其精确值相差甚远。如果从I20推I0的近似值,需要用到In-1=0.2(1/n-In),尽管I20本身有误差,但是经过20次运算,其误差缩小到原来的0.2的20次方倍,所以得到的I0与其精确值比较相近。2求方程e10x20的近似根,要求xk1xk5104,并比较计算量。x(1)在0,1上用二分法;Matlab程序如下:a=0;b=1;c=b-a;n=0whilec0.0005,x=
11、(a+b)/2;f=exp(x)+10*x-2;iff0,b=x;c=b-a;elseiff(2)取初值x00,并用迭代xk12ex;10采用matlab进行迭代的程序如下:x=0;c=1;n=0;whilec0.0005,m=x;m=(2-exp(m)/10;c=abs(m-x);x=m;n=n+1;fprintf(%.1d%.4f%.4fn,n,x,c);end结果:解得x=0.0905(3)加速迭代的结果;采用matlab进行迭代的程序如下:x=0;n=0;a=0;b=1;whileabs(a-b)0.0005,n=n+1;a=x;y=(2-exp(x)/10;z=(2-exp(y)/1
12、0;x=x-(y-x)2/(z-2*y+x);b=x;fprintf(%.1d%.4f%.4fn,n,x,abs(a-b);end结果如下:(4)取初值x00,并用牛顿迭代法;Matlab程序如下:x=0;a=1;n=0;whileabs(a)0.0005,n=n+1;a=(exp(x)+10*x-2)/(exp(x)+10);x=x-a;fprintf(%.1d%.4f%.4fn,n,x,abs(a);end运行结果:(5)分析绝对误差。迭代次数1234567891011二分法X(k)0.50000.25000.12500.06250.09380.07810.08590.08980.0918
13、0.09080.0903Erroe0.50000.25000.12500.06250.03130.01560.00780.00390.00200.00100.0005代数式迭代X(k)0.10000.08950.09060.0905Erroe0.10000.01050.00120.0001加速迭代X(k)0.09050.0905Erroe0.0905牛顿迭代X(k)0.0909Erroe0.09090.0004000000.0905我们可以看到,在运算要求到同一精度的情况下,采用(1)的二分法运算了11次,采用(2)的方法运算了4次,采用(3)的加速迭代法运算了2次,采用(4)的牛顿迭代法也需
14、运算2次。也就是说牛顿的迭代的收敛速度与加速迭代速度都是超线性收敛的,而简单迭代法是线性收敛的。而二分法收敛速度较慢,所以在工程上不经常使用。3钢水包使用次数多以后,钢包的容积增大,数据如下:xy10234569.7147101581112131610.4910.5910.6010.810.610.910.76试从中找出使用次数和容积之间的关系,计算均方差。(注:增速减少,用何种模型)解:将使用次数x与体积y的关系用matlab采用如下程序绘制在二维坐标系:x=2345678910111213141516;y=6.428.29.589.59.7109.939.9910.4910.5910.60
15、10.810.610.910.76;plot(x,y,b*-);96.428.29.589.59.939.99结果如下:由数据点分布图可知,拟合曲线y=f(x)随着x的增加而上升,但上升速度由快到慢,当x趋于无穷大时,y趋于某个常数,故曲线有一水平渐进线。根据上述特征很容易想到用b/xLogistic模型来拟合该曲线。设y=f(x)的形式为y=ae(a0,b计算均方差s,matlab程序如下:y=6.428.29.589.59.7109.939.9910.4910.5910.6010.810.610.910.76;s=0;forn=2:1:16,a=abs(11.679*exp(-1.1107
16、*n.(-1)-y(n-1);s=s+a.2;ends=(s/15).(1/2);disp(s);运算结果均方差S=0.2438小结:根据已给的条件计算函数是十分困难的,但通过对离散点的分析及变化规律找出其中的规律,并通过计算来得到实际的函数是十分有用的方法。本题就是这样做的一个典型,在n=1/x和m=lny的基础上找到了它们之间的关系并通过这种关系来拟合原函数,并最终验证计算结果。041010014101050141012,b,Axb4设A101410501014120601014分析下列迭代法的收敛性,并求xk1xk(1)JACOBI迭代;解matlab计算程序如下:A=4-10-100;
17、-14-10-10;0-14-10-1;-10-14-10;0-10-14-1;00-10-14;b=0;5;-2;5;-2;6;error=1;D=diag(diag(A);L=D-tril(A);U=D-triu(A);X=zeros(size(b);whileerror0.0001,82104的近似解及相应的迭代次数。X=D(b+L*X+U*X);error=norm(b-A*X)/norm(b);enddisp(x);disp(error);解得X=0.9999;1.9999;0.9998;1.9999;0.9998;1.9999error=7.0206e-05(2)GAUSS-SEI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 上机 实验 报告 参考
限制150内