2023年中南大学自动化胡杨系统仿真实验报告完整版_第1页
2023年中南大学自动化胡杨系统仿真实验报告完整版_第2页
2023年中南大学自动化胡杨系统仿真实验报告完整版_第3页
2023年中南大学自动化胡杨系统仿真实验报告完整版_第4页
2023年中南大学自动化胡杨系统仿真实验报告完整版_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

中南大学系统仿真实验报告指导老师:实验者:学号:专业班级:完毕时间:实验一MATLAB中矩阵与多项式的基本运算基本命令训练:eye(m)取n=3,程序如下:>>eye(3)ans=100010001结论:eye(n)用于产生n×n维的单位矩阵,在这里n取3,故产生3×3维单位矩阵。one(n)、ones(m,n)对ones(n)取n=5,对ones(m,n)取m=3,n=5,程序如下:>>ones(5)ans=1111111111111111111111111>>ones(3,5)ans=111111111111111结论:ones(n)用于产生n×n维的全1矩阵,在这里n取5,故产生5行5列全1矩阵。ones(m,n)用于产生m×n维的全1矩阵,在这里m取3,n取5,故产生3行5列的全1矩阵。zeros(m,n)取m=3,n=2,程序如下:>>zeros(3,2)ans=000000结论:zeros(m,n)用于产生m×n维全0矩阵,在这里m取3,n取2,故产生3行2列全0矩阵。4.rand(m,n)取m=3,n=4,程序如下:>>rand(3,4)ans=0.95010.48600.45650.44470.23110.89130.01850.61540.60680.76210.82140.7919结论:rand(m,n)用于产生m×n维平均分布的随机矩阵,在这里m取3,n取4,故产生了3行4列的随机矩阵5.diag(v)先创建3×3的魔方矩阵v,在进行diag(v)运算,程序如下:>>v=magic(3)diag(v)v=816357492ans=852结论:diag(v)用于得到矩阵v的对角元素6.A\B、A/B、inv(A)*B、B*inv(A)先创建A、B两个矩阵,在进行运算,程序如下:>>A=[1,2;3,4];>>B=[5,6;7,8];>>a=A\Bb=A/Bc=inv(A)*Bd=B*inv(A)a=-3-445b=3.0000-2.00002.0000-1.0000c=-3.0000-4.00004.00005.0000d=-1.00002.0000-2.00003.0000结论:’/’表达矩阵右除,’\’表达矩阵左除,inv(A)表达求A的逆矩阵,由实验结果可知,矩阵左除与右除结果不同样,矩阵左乘与右乘结果也不同样,A\B是求AX=B的解,A/B是求XB=A的解。所以编程求解的时候要注意区分他们的区别。7、roots(p)>>symsx;>>a=3*x.^3+2*x+5;>>p=[3,0,2,5]>>roots(p)p=3025ans=0.5000+1.1902i0.5000-1.1902i-1.0000结论:roots(p)函数用于求多项式的根,以向量形式输入多项式的系数,相应降幂排列,然后调用函数,即可求得相应多项式的根。8、poly>>A=[1,2;3,4];>>poly(A)ans=1.0000-5.0000-2.0000结论:poly(A)用于求矩阵A的特性多项式的系数9.conv、deconv>>A=[1,2];>>B=[3,4];>>a=conv(A,B)b=deconv(A,B)a=3108b=0.3333结论:使用conv函数对多项式进行乘法运算,其使用格式为c=conv(a,b),其中a和b为两个多项式的系数向量,c为相乘所生成的多项式的系数向量。使用deconv(a,b)完毕除法运算。A*B与A.*B的区别>>A=[1,2];>>B=[5,6]';>>a=A*BA=[1,2];B=[5,6];b=A.*Ba=17b=512结论:A.*B称为“点乘”、“位乘“,即为两个行列数相同的矩阵,相应位置一一相乘,得到的结果依位置相应到结果矩阵中,而A*B为矩阵乘法,规定前者A的列数与后者B行数相应。11.who与whos的使用>>A=[1,2;3,4];>>whowhosYourvariablesare:ANameSizeBytesClassAttributesA2x232double结论:who给出变量的名称清单;而whos给出所有变量的具体信息。disp、size(a)、length(a)的使用>>a='helloworld';>>disp(a)a=[1,2,3,4];B=size(a)C=length(a)helloworldB=14C=4结论:disp函数的作用是直接将内容输出在Matlab命令窗口中,size(a)表达矩阵每个维度的长度,length(a)表达矩阵a的最大的长度。实验二MATLAB绘图命令基本命令训练1.plot2.loglog3.semilogx4.semilogy5.polar6.title7.xlabel8.ylabel9.text10.grid11.bar12.stairs13.contour1.>>t=[0:pi/360:2*pi*22/3];x=93*cos(t)+36*cos(t*4.15);y=93*sin(t)+36*sin(t*4.15);plot(y,x),grid;实验结果为:>>t=[0:pi/360:2*pi*22/3];x=93*cos(t)+36*cos(t*4.15);y=93*sin(t)+36*sin(t*4.15);plot(y,x)实验结果为:实验结论:plot()用于绘制二维曲线,grid用于切换有无网格的状态。2.t=0:0.05:100;x=t;y=2*t;z=sin(2*t);plot3(x,y,z,'b:')实验结果为:实验结论:plot3(x,y,z)用于绘制三维曲线,b表达设立曲线的颜色为蓝色,:表达曲线线型为点线,格式为plot3(函数参数,函数参数,’曲线参数设立’)3.t=0:pi/20:2*pi;y=sin(x);stairs(x,y)实验结果为:实验结论:stairs(x,y)表达绘制出的二维曲线为阶梯图。4.th=[pi/200:pi/200:2*pi]';r=cos(2*th);polar(th,r),grid实验结果为:实验结论:polar()用于绘制二维曲线的极坐标图。5.th=[0:pi/10:2*pi];x=exp(j*th);plot(real(x),imag(x),'r*');grid;实验结果为:实验结论:r表达设立曲线颜色为红色,*表达曲线的数据点形为星号。6、>>x=0:1000;>>y=0:1000;>>loglog(x,y);title('Loglog');gridon;实验结果为:实验结论:loglog()用于绘制横纵轴均为对数刻度的图形,title()用于为图形添加标题,本例为添加Loglog作为标题。7、>>x=0:1000;>>y=0:1000;>>semilogx(x,y);title('Loglog');gridon;实验结果为:将semilogx换成semilogy程序如下:>>x=0:1000;>>y=0:1000;>>semilogy(x,y);title('Loglog');gridon;实验结果为:实验结论:semilogx()用于绘制半对数图,其中x轴坐标为对数,若换成semilogy则表达y轴坐标为对数。8、>>x=0:1000;>>y=0:1000;>>plot(x,y);>>x=0:1000;>>y=0:1000;>>plot(x,y);gridon;xlabel('\fontsize{20}\itx\rm');ylabel('\fontsize{20}y');text(500,500,'中点')实验结果为:实验结论:xlabel和ylabel分别表达给x轴和y轴添加标注,text(x,y,’string’)用于给图形坐标(x,y)处书写注释,本程序给x轴和y轴分别标注x,y,,在(500,500)坐标处注释“中点”。9、>>t=0:pi/100:2*pi;>>alpha=3;>>y=sin(alpha*t);>>bar(t,y);gridon;实验结果为:实验结论:bar(x,y)用于绘制二维条形图。10、>>x=-8:0.5:8;>>y=-8:0.5:8;>>[xx,yy]=meshgrid(x,y);>>c=sqrt(xx.^2+yy.^2)+eps;>>z=sin(c)./c;>>contour(xx,yy,z)实验结果为:实验结论:contour(x,y,z)用于绘制等高线。补充实验:多窗口绘制图形subplot()>>subplot(2,2,1);t=[0:pi/200:2*pi];y=sin(t);plot(t,y);subplot(2,2,2);t=[0:pi/200:2*pi];y=cos(t);plot(t,y);subplot(2,2,4);t=[0:pi/200:2*pi];y=t;plot(t,y);实验结果为:实验结论:本实验测试subplot()函数,由实验结果可知,subplot()函数中某一个未编写并不会影响整个函数的运营,只是未编写的那个部分不显示,其他的照常显示,比如编写了subplot(2,2,1),subplot(2,2,2),subplot(2,2,4),但是未编写subplot(2,2,3),那么结果只显示subplot(2,2,1),subplot(2,2,2),subplot(2,2,4)中的结果,并且顺序按原位置,而subplot(2,2,3)的不会显示。实验三MATLAB程序设计1.计算1~1000之内的斐波那契亚数列>>f=[1,1];>>i=1;>>whilef(i)+f(i+1)<1000f(i+2)=f(i)+f(i+1);i=i+1;end>>f,if=Columns1through1011235813213455Columns11through1689144233377610987i=152.>>m=3;>>n=4;>>fori=1:mforj=1:na(i,j)=1/(i+j-1);endend>>formatrat>>aa=11/21/31/41/21/31/41/51/31/41/51/63.>>m=3;n=4;fori=1:mforj=1:na(i,j)=1/(i+j-1);endendaa=10.50.333330.250.50.333330.250.20.333330.250.20.16667实验2用了formatrat,结果为分数表达,实验3没有则用小数表达。4、>>x=input('请输入x的值:');ifx<=10;y=cos(x+1)+sqrt(x*x+1);elseifx>15y=x*sqrt(x+sqrt(x));elsey=x;endy请输入x的值:10y=10.054>>x=input('请输入x的值:');ifx<=10;y=cos(x+1)+sqrt(x*x+1);elseifx>15y=x*sqrt(x+sqrt(x));elsey=x;endy请输入x的值:11y=115、去掉多项式或数列开头的零项.>>p=[0001302009];fori=1:length(p),ifp(1)==0,p=p(2:length(p));end;end;pp=13020096、建立MATLAB的函数文献,程序代码如下,以文献名ex2_4.m存盘点击File-New-Function建立文献,文献名为ex2_4.m,结果如下:在MATLAB的命令窗口输入ex2_4(200),得到运营结果:>>ex2_4(200)ans=1123581321345589144在MATLAB的命令窗口输入lookforffibno,得到结果:>>lookforffibnoex2_4-ffibno计算斐波那契亚数列的函数文献在MATLAB的命令窗口输入helpex2_4,得到结果:>>helpex2_4ffibno计算斐波那契亚数列的函数文献n可取任意自然数程序如下程序设计题functionsushun=input('请输入一个数n:');if(n==1)fprintf('1既不是素数也不是合数\n');disp('是否继续?');disp('1.是;2.否');b=input('');ifb==1sushu;elsedisp('谢谢使用!');break;endendif(n==2)fprintf('2是素数\n');disp('是否继续?');disp('1.是;2.否');b=input('');ifb==1sushu;elsedisp('谢谢使用!');break;endendif(n==3)fprintf('3是素数\n');disp('是否继续?');disp('1.是;2.否');b=input('');ifb==1sushu;elsedisp('谢谢使用!');break;endendif(n>3)fori=2:(n-1)ifmod(n,i)==0a=n/i;t=0;fprintf('%d=%d*%d\n',n,a,i);elset=1;endendif(t==1)cleart;fprintf('%d不是素数\n',n);elsefprintf('%d是素数\n',n);cleart;enddisp('是否继续?');disp('1.是;2.否');b=input('');ifb==1sushu;elsedisp('谢谢使用!');endend运营结果为:>>sushu请输入一个数n:11既不是素数也不是合数是否继续?1.是;2.否1请输入一个数n:22是素数是否继续?1.是;2.否1请输入一个数n:3838=19*238=2*1938不是素数是否继续?1.是;2.否1请输入一个数n:2323不是素数是否继续?1.是;2.否2谢谢使用!实验四MATLAB的符号计算与SIMULINK的使用程序举例求矩阵相应的行列式和特性根>>a=sym('[1001]');>>da=det(a)ea=eig(a)da=1ea=1实验结论:det()函数用于计算矩阵对于的行列式的值,eig()函数用于计算矩阵的特性值和特性向量2.求方程的解(涉及精确解和一定精度的解)>>r1=solve('x^2-x-1')rv=vpa(r1)rv4=vpa(r1,4)rv20=vpa(r1,20)r1=1/2-5^(1/2)/25^(1/2)/2+1/2rv=-0.1.68343656rv4=-0.6181.618rv20=-0.689484821.68948482实验结论:vpa(s,n)称为变精度算法函数,表达将s表达为n位有效数的符号对象3、>>a=sym('a');b=sym('b');c=sym('c');d=sym('d');%定义4个符号变量w=10;x=5;y=-8;z=11;%定义4个数值变量A=[a,b;c,d]%建立符号矩阵AB=[w,x;y,z]%建立数值矩阵Bdet(A)%计算符号矩阵A的行列式det(B)%计算数值矩阵B的行列式A=[a,b][c,d]B=105-811ans=a*d-b*cans=1504、>>symsxy;s=(-7*x^2-8*y^2)*(-x^2+3*y^2);expand(s)%对s展开collect(s,x)%对s按变量x合并同类项(无同类项)factor(ans)%对ans分解因式ans=7*x^4-13*x^2*y^2-24*y^4ans=7*x^4+(-13*y^2)*x^2-24*y^4ans=(7*x^2+8*y^2)*(x^2-3*y^2)实验结论:expand函数用于多项式的展开运算,collect函数用于符号表达式的展开运算和合并同类项,factor用于对函数进行因式分解。5、对方程AX=b求解>>A=[34,8,4;3,34,3;3,6,8];b=[4;6;2];X=linsolve(A,b)%调用linsolve函数求解A\b%用另一种方法求解X=0.0674820.161370.10367ans=0.0674820.161370.10367实验结论:运用linsove(A,b)与A\b结果同样,都用于对AX=b进行求解6、对方程组求解>>a11*x1+a12*x2+a13*x3=b1a21*x1+a22*x2+a23*x3=b2a31*x1+a32*x2+a33*x3=b3A=[a11,a12,a13;a21,a22,a23;a31,a32,a33];b=[b1;b2;b3];XX=A\bXX=(a12*a23*b3-a12*b2*a33+a13*a32*b2-a13*a22*b3+b1*a22*a33-b1*a32*a23)/(a11*a22*a33-a11*a32*a23-a21*a12*a33+a32*a21*a13-a22*a31*a13+a31*a12*a23)-(a11*a23*b3-a11*b2*a33-a21*a13*b3-a23*a31*b1+b2*a31*a13+a21*b1*a33)/(a11*a22*a33-a11*a32*a23-a21*a12*a33+a32*a21*a13-a22*a31*a13+a31*a12*a23)(a32*a21*b1-a11*a32*b2+a11*a22*b3-a22*a31*b1-a21*a12*b3+a31*a12*b2)/(a11*a22*a33-a11*a32*a23-a21*a12*a33+a32*a21*a13-a22*a31*a13+a31*a12*a23)7、>>symsabtxyz;f=sqrt(1+exp(x));diff(f)%未指定求导变量和阶数,按缺省规则解决f=x*cos(x);diff(f,x,2)%求f对x的二阶导数diff(f,x,3)%求f对x的三阶导数f1=a*cos(t);f2=b*sin(t);diff(f2)/diff(f1)%按参数方程求导公式求y对x的导数ans=exp(x)/(2*(exp(x)+1)^(1/2))ans=-2*sin(x)-x*cos(x)ans=x*sin(x)-3*cos(x)ans=-(b*cos(t))/(a*sin(t))SIMULINK的使用选择合适子模块构造控制系统如下:选择Simulation菜单下的start命令运营仿真,在示波器(Scope)中观测结果:R(s)为阶跃输入,C(s)为输出实验结果为:实验五MATLAB在控制系统分析中的应用基本命令1.step2.impulse3.initial4.lsim5.rlocfind6.bode7.margin8.nyquist9.Nichols10.cloop1、求下面系统的单位阶跃响应>>num=[4];den=[1,1,4];step(num,den)[y,x,t]=step(num,den);tp=spline(y,t,max(y))max(y)tp=1.6062ans=1.4441实验结论:step(num,den)用于绘制系统阶跃响应曲线,spline(y,t,max(y))函数是由y,t的值计算max(y)相应的函数值t,在本例中即峰值时间,而max(y)用于计算峰值。2、求如下系统的单位阶跃响应>>a=[0,1;-6,-5];b=[0;1];c=[1,0];d=0;[y,x]=step(a,b,c,d);plot(y)程序结果为:实验结论:step(a,b,c,d)用于绘制系统阶跃响应曲线3、求下面系统的单位脉冲响应%程序如下:>>num=[4];den=[1,1,4];impulse(num,den)实验结果:实验结论:impulse(num,den)函数用于求取系统单位脉冲响应,其用法基本同step函数。4、已知二阶系统的状态方程为:ﻩ求系统的零输入响应和脉冲响应。%程序如下:>>a=[0,1;-10,-2];b=[0;1];c=[1,0];d=[0];x0=[1,0];subplot(1,2,1);initial(a,b,c,d,x0)subplot(1,2,2);impulse(a,b,c,d)实验结果为:实验结论:initial(a,b,c,d,x0)用于求解零输入响应系统,x0为初始条件,impulse(a,b,c,d)用于求单位脉冲响应。5、系统传递函数为:输入正弦信号时,观测输出信号的相位差。%程序如下:>>num=[1];den=[1,1];t=0:0.01:10;u=sin(2*t);holdonplot(t,u,'r')lsim(num,den,u,t)程序结果为:实验结论:lsim(num,den,u,t)用于求系统对任意输入u的响应。6、有一二阶系统,求出周期为4秒的方波的输出响应%程序如下:num=[251];den=[123];t=(0:.1:10);period=4;u=(rem(t,period)>=period./2);%看rem函数功能lsim(num,den,u,t);实验结果为:7.已知开环系统传递函数,绘制系统的根轨迹,并分析其稳定性%程序如下:num=[12];den1=[143];den=conv(den1,den1);figure(1)rlocus(num,den)[k,p]=rlocfind(num,den)figure(2)k=55;num1=k*[12];den=[143];den1=conv(den,den);[num,den]=cloop(num1,den1,-1);impulse(num,den)title('impulseresponse(k=55)')figure(3)k=56;num1=k*[12];den=[143];den1=conv(den,den);[num,den]=cloop(num1,den1,-1);impulse(num,den)title('impulseresponse(k=56)')实验结果:Selectapointinthegraphicswindowselected_point=-3.3886+2.3602ik=23.5611p=-5.0868-0.4355+2.2831i-0.4355-2.2831i-2.0423实验结论:den=conv(A,B)用于多项式A,B以系数行向量表达,进行相乘,rlocus(num,den)用于绘制指定系统的根轨迹。分析得系统是不稳定的。函数rlocfind用于计算给定一组根的根轨迹增益8、作如下系统的bode图%程序如下:n=[1,1];d=[1,4,11,7];bode(n,d)实验结果为:实验结论:bode(n,d)用于绘制Bode图9.系统传递函数如下求有理传函的频率响应,然后在同一张图上绘出以四阶伯德近似表达的系统频率响应%程序如下:num=[1];den=conv([12],conv([12],[12]));w=logspace(-1,2);t=0.5;[m1,p1]=bode(num,den,2);p1=p1-t*w'*180/pi;[n2,d2]=pade(t,4);numt=conv(n2,num);dent=(conv(den,d2));[m2,p2]=bode(numt,dent,w);subplot(2,1,1);semilogx(w,20*log10(m1),w,20*log10(m2),'g--');gridon;title('bodeplot');xlabel('frequency');ylabel('gain');subplot(2,1,2);semilogx(w,p1,w,p2,'g--');gridon;xlabel('frequency');ylabel('phase');实验结果为:10.已知系统模型为求它的幅值裕度和相角裕度%程序如下:n=[3.5];d=[1232];[Gm,Pm,Wcg,Wcp]=margin(n,d)实验结果为:Gm=1.1433Pm=7.1688Wcg=1.7323Wcp=1.6541实验结论:[Gm,Pm,Wcg,Wcp]=margin(n,d)给出系统相对稳定参数,返回参数分别为幅值裕度、相角裕度、幅值穿越频率、相角穿越频率。11、二阶系统为:令wn=1,分别作出ξ=2,1,0.707,0.5时的nyquist曲线。%程序如下:n=[1];d1=[1,4,1];d2=[1,2,1];d3=[1,1.414,1];d4=[1,1,1];nyquist(n,d1);holdonnyquist(n,d2);nyquist(n,d3);nyquist(n,d4);实验结果为:实验结论:nyquist(sys,w)函数用于绘制系统Nyquist图,由用户指定选取频率范围。12、已知系统的开环传递函数为绘制系统的Nyqusit图,并讨论系统的稳定性%程序如下:G=tf(1000,conv([1,3,2],[1,5]));nyquist(G);axis('square')实验结果为:Warning:ThisplottypedoesnotsupportthisoptionfortheAXIScommand.>InD:\MATLAB6p5p1\toolbox\control\ctrlguis\@ctrluis\@axesgroup\addbypass.matline114InD:\MATLAB6p5p1\toolbox\matlab\graph2d\private\mwbypass.patline24InD:\MATLAB6p5p1\toolbox\matlab\graph2d\axis.matline7613.分别由w的自动变量和人工变量作下列系统的nyquist曲线:%程序如下:n=[1];d=[1,1,0];nyquist(n,d);%自动变量n=[1];d=[1,1,0];w=[0.5:0.1:3];nyquist(n,d,w);%人工变量实验结果为:实验结论:nyquist(n,d,w)用于求指定范围w的奈氏值14、一多环系统,其结构图如下,使用Nyquist频率曲线判断系统的稳定性。%程序如下:k1=16.7/0.0125;z1=[0];ﻫp1=[-1.25-4-16];[num1,den1]=zp2tf(z1,p1,k1);

[num,den]=cloop(num1,den1);ﻫ[z,p,k]=tf2zp(num,den);p

figure(1)ﻫnyquist(num,den)

figure(2)

[num2,den2]=cloop(num,den);ﻫimpulse(num2,den2);实验结果为:p=-10.597+36.215i-10.597-36.215i-0.056187实验结论:[num1,den1]=zp2tf(z1,p1,k1)用于将系统函数的零极点转化为系统函数一般形式的系数,cloop()函数用于将系统通过正负反馈连接成闭环系统,分析得系统稳定15.已知系统为:作该系统的nichols曲线。%程序如下:n=[1];d=[1,1,0];ngrid(‘new’);nichols(n,d);16、已知系统的开环传递函数为:当k=2时,分别作nichols曲线和波特图。%程序如下:num=1;den=conv(conv([10],[11]),[0.51]);subplot(1,2,1);nichols(num,den);grid;%nichols曲线subplot(1,2,2);g=tf(num,den);bode(feedback(g,1,-1));grid;%波特图17.系统的开环传递函数为:分别拟定k=2和k=10时闭环系统的稳定性。%程序如下:d1=[1,3,2,0];n1=[2];[nc1,dc1]=cloop(n1,d1,-1);roots(dc1)d2=d1;n2=[10];[nc2,dc2]=cloop(n2,d2,-1);roots(dc2)实验结果为:ans=-2.5214-0.23931+0.85787i-0.23931-0.85787ians=-3.30890.15445+1.7316i0.15445-1.7316i18、系统的状态方程为:试拟定系统的稳定性。%程序如下:a=[-4,-3,0;1,0,0;0,1,0];b=[1;0;0];c=[0,1,2];d=0;eig(a)%求特性根rank(ctrb(a,b))实验结果为:ans=0-1-3ans=3系统可控性辨别矩阵的秩为3,满秩,系统可通过状态反馈配置极点使系统稳定。实验六连续系统数字仿真的基本算法程序举例1.取h=0.2,试分别用欧拉法、RK2法和RK4法求解微分方程的数值解,并比较计算精度。注:解析解:%程序如下cleart(1)=0;%置自变量初值y(1)=1;y_euler(1)=1;y_rk2(1)=1;y_rk4(1)=1;%置解析解和数值解的初值h=0.2;%步长%求解析解fork=1:5t(k+1)=t(k)+h;y(k+1)=sqrt(1+2*t(k+1));end%运用欧拉法求解fork=1:5y_euler(k+1)=y_euler(k)+h*(y_euler(k)-2*t(k)/y_euler(k));end%运用RK2法求解fork=1:5k1=y_rk2(k)-2*t(k)/y_rk2(k);k2=(y_rk2(k)+h*k1)-2*(t(k)+h)/(y_rk2(k)+h*k1);y_rk2(k+1)=y_rk2(k)+h*(k1+k2)/2;end%运用RK4法求解fork=1:5k1=y_rk4(k)-2*t(k)/y_rk4(k);k2=(y_rk4(k)+h*k1/2)-2*(t(k)+h/2)/(y_rk4(k)+h*k1/2);k3=(y_rk4(k)+h*k2/2)-2*(t(k)+h/2)/(y_rk4(k)+h*k2/2);k4=(y_rk4(k)+h*k3)-2*(t(k)+h)/(y_rk4(k)+h*k3);y_rk4(k+1)=y_rk4(k)+h*(k1+2*k2+2*k3+k4)/6;end%输出结果disp('时间解析解欧拉法RK2法RK4法')yt=[t',y',y_euler',y_rk2',y_rk4'];disp(yt)程序运营结果如下:时间解析解欧拉法RK2法RK4法01.00001.00001.00001.00000.20231.18321.20231.18671.18320.40001.34161.37331.34831.34170.60001.48321.53151.49371.48330.80001.61251.68111.62791.61251.00001.73211.82691.75421.73212、考虑如下二阶系统:在上的数字仿真解(已知:,),并将不同步长下的仿真结果与解析解进行精

温馨提示

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

评论

0/150

提交评论