含答案《MATLAB实用教程》_第1页
含答案《MATLAB实用教程》_第2页
含答案《MATLAB实用教程》_第3页
含答案《MATLAB实用教程》_第4页
含答案《MATLAB实用教程》_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

《MATLAB实用教程3版》版权所有翻版必究第二章MATLAB语言及应用实验项目实验一MATLAB数值计算三、实验内容与步骤1.创建矩阵123a456789(1)直接输入。a=[123;456;789](2)用from:step:to方式。a=[1:3;4:6;7:9](3)用linspace函数。a=[linspace(1,3,3);linspace(4,6,3);linspace(7,9,3)](4)使用特殊矩阵函数,并修改元素。zeros、ones、randn、eye。zeros(3,3)ones(3,3)randn(3,3)a(1:9)=[147258369]a(1:9)=[147258369]a(1:9)=[147258369]eye(3,3)a(1:9)=[147258369]2.矩阵的运算(1)利用矩阵除法解线性方程组。xxx2328a=[2-302;1521;3-11-1;4122];124x5x2xx2b=[8;2;7;12];x=a\b123437xxxx123442212xxxx1234将方程表示为AX=B,计算X=A\B。(2)利用矩阵的基本运算求解矩阵方程。已知矩阵A和B满足关系式A-1BA=6A+BA,计算矩阵B。1/300其中A01/40,001/7Ps:formatrata=[1/300;01/40;001/7];b=inv(a)*inv(inv(a)-eye(3))*6*a(3)计算矩阵的特征值和特征向量。x=[120;25-1;410-1][v,d]=eig(x)120已知矩阵X251,计算其特征值和特征向量。%验证特征值和牲向量与该矩阵的关系4101x*vv*d-1-《MATLAB实用教程3版》版权所有翻版必究(4)Page:322利用数学函数进行矩阵运算。已知传递函数G(s)=1/(2s+1),计算幅频特性Lw=-20lg(Fw=-arctan(2w),w的范围为2(2w)1)和相频特性[0.01,10],按对数均匀分布。3.多项式的运算(1)多项式的运算。已知表达式G(x)=(x-4)(x+5)(x-6x+9),展开多项式形式,并计算当x在[0,20]内变化时2G(x)的值,计算出G(x)=0的根。(2)多项式的拟合与插值。将多项式G(x)=x4-5x3-17x2+129x-180,当y1进行拟合。对G(x)和y1分别进行插值,计算在5.5处的值。Page325Page324x在[0,20]多项式的值上下加上随机数的偏差构成y1,对四、思考练习题1.使用logspace函数创建0~4π的行向量,有20个元素,查看其元素分布情况。Ps:logspace(log10(0),log10(4*pi),20)(2)sort(c,2)%顺序排列3.1多项式f=[288];1)f(x)=2x2+3x+5x+8用向量表示该多项式,并计算f(10)值.polyval(f,10)2)根据多项式的根[-0.5-3+4i-3-4i]创建多项式。r=[-0.5,-3+4i,-3-4i];p=poly(r);poly2str(p,'x')3)把表达式(x2+2x+2)(x2+5x+4)展开为多项式形式,并求对应方程的根。Psa1=[122];a2=[154];a=conv(a1,a2)p1=[31247081];a1=[1-3];4)求多项式3x+12x5+4x4+7x3+8x+1除以(x-3)(x3+5x)的商和余式。a2=[1050];6a=conv(a1,a2);[q,r]=deconv(p1,a)3.2曲线拟合有一组测量数据如下表所示x=[11.522.533.544.55];y=[-1.42.735.98.412.216.618.826.2];xy11.52.7232.55.933.544.55-1.48.412.216.618.826.2polyfit(x,y,2)使用曲线拟合,求出此数据对应的2阶和10阶多项式。polyfit(x,y,10)x=[1357911131517192123];y=[141415182225313127242017];p=polyfit(x,y,5);3.3曲线插值假设某日气温的实际测量值为:xi=linspace(0,25,100);z=polyval(p,xi);%多项式求值plot(x,y,'o',xi,z,'k:',x,y)holdon时间温度1357911252317141331141531151727181924222120t=interp1(x,y,12,'spline')plot(12,t,'*r')时间温度t=interp1(x,y,10,'spline')plot(10,t,'*r')-2-《MATLAB实用教程3版》版权所有翻版必究使用三次样条插值方法,求出10点、12点的温度。实验二MATLAB符号计算三、实验内容与步骤1.符号表达式的代数运算与化简对符号表达式f=x2+3x+2和g=x3-1进行运算。(1)符号表达式的代数运算。f=sym('x^2+3*x+2')g=sym('x^3-1')(2)符号表达式的化简。expand、collect、simplify。expand(f)collect(f)simlify(f)g函数同理(3)符号表达式与多项式的转换。sym2ploy、ploy2sym。Page952.符号矩阵的操作xx2xt2cos(2)(1)创建符号矩阵。(2)符号矩阵的代数运算。(3)符号矩阵的微积分。(4)求特征值。(5)求积分。程的求解3.符号方(1)用代数方程求解。2x3x2x8124x5x2xx2进行求解。b=[8;2;7;12];37a=[2-302;1521;3-11-1;4122];对方程组1234xxxx1234x=a\b42212xxxx2134(2)用符号微分方程求解。dyzcosxdxdzy1解方程组的通解。当y(0)=1,z(0)=5时,求特解。[y,z]=dsolve('Dy-z=cos(x),Dz+y=1','x')%求通解dx[y,z]=dsolve('Dy-z=cos(x),Dz+y=1','y(0)=1,z(0)=5','x')%求特解四、思考练习题f=sym('x^4-y^4');factor(f)1.分解因式x4y4。。122.化简表达式sincoscossin123.用符号方法求下列极限、导数或积分。-3-《MATLAB实用教程3版》版权所有翻版必究arccosxf=sym('(sqrt(pi)-sqrt(arccos(x)))/sqrt(x+1)');limit(f,'x',-1,'right')A=sym('[a^xt^3;t*cos(x)log(x)]')lim(1)x1x1dAdt=diff(A,'t')axt3dAdAdA22,分别求、、。Ad2Adt2=diff(A,'t',2)dAdx=diff(A,'x');d2Adxdt=diff(dAdx,'t')(2)已知dttcoslnxxdt2dxdty2f(,)(22x)efxyx(3)已知x2y2,求、xy。x0,y1xxysymsxyf=(x^2-2*x)*exp(1)^(-x^2-y^2-x*y)pypx=diff(y,'x')symsxx21(4)dxf=(x^2+1)/(x^4+1)int(f,'x',0,inf)x41pfpx=diff(f,'x')0p2fpxpy=diff(pfpx,'y')x=0,y=1;df2(5)已知fx2y2,(1)求;(2)求1fdx。dy2f1=subs(p2fpxpy)1symsxyd3ydy32y64.已知方程:f=x^2+y^2dx3dxd2fdy2=diff(f,'y',2)int(f,'x',-1,1)(1)求通解;(2)求满足y(0)1,y(0)2,y(0)3的特解。y=dsolve('D3y+3*Dy+2*y=6','x')%求通解y1=diff(y,'x')%对y求一阶导数y2=diff(y1,'x')%对y求二阶导数y=dsolve('D3y+3*Dy+2*y=6','y(0)=3,y1(0)=2,y2(0)=1','x')%求特解-4-《MATLAB实用教程3版》版权所有翻版必究实验三MATLAB的计算可视化三、综合实例图3-1双调谐滤波器结构图图3-2单调谐滤波器结构图供电系统中,常存在谐波电流,所以设计电力系统滤波器对谐波电流进行滤除,电力系统无源滤波器中双调谐滤波器的结构如图3-1所示,其阻抗表达式为11)//(RjnL)12ZRj(nLn)(Rj312111nCnC2111,R10.01,R20.1,R30.1,L10.2H,L20.142845H,C10.2F,1式中,为基波角频率。当设1C20.142845F,n在[0.8,20]取值时,双调谐滤波器的阻抗Z与谐波次数的曲线如图3-3所示,编写程序完nn成曲线的画取(注意图中各个地方的标注均用程序实现)。676543210|Z||Z|fnf54||nZnZf3||抗抗阻阻21nr2nr10nr50246810谐波次数n1214161820010谐波次数n152025图3-3双调谐滤波器的阻抗-谐波次数特性图3-4单调谐滤波器的阻抗-谐波次数特性参考程序代码:clear,clcn=[0.8:0.001:20];w1=1;n1=5;R1=0.01;R2=0.1;R3=0.1;L1=0.2;L2=0.142845;-5-《MATLAB实用教程3版》版权所有翻版必究C1=0.2;C2=0.142845;zc=R1+i*(n.*w1.*L1-1./(n.*w1.*C1));zb1=R3-i*1./(n.*w1.*C2);zb2=R2+i*n.*w1.*L2;zfn=zc+zb1.*zb2./(zb1+zb2);zfn1=abs(zfn);plot(n,zfn1,'LineWidth',2.5);xlabel('\fontsize{11}谐波次数\fontname{times}\fontsize{12}\it\bfn')ylabel('\fontsize{11}阻抗\fontname{times}\fontsize{12}\it\bf|Z_n|{\Omega}')legend('\bf\it\fontsize{11}\fontname{times}\it\bf|Z_f|')text(3.663,0.1,'\bf\it\fontsize{13}\fontname{times}n_r_1')text(9.884,0.15,'\bf\it\fontsize{13}\fontname{times}n_r_2')gridon四、实验内容与步骤1.将图形窗口分成两个窗格,分别绘制出函数:y2x51yx23x12y1y2在[-2,1.5]区间上。在[0,3]区间上的曲线,并利用axis调整轴刻度纵坐标刻度,使在[0,12]区间上,x=0:0.1:3;Ps:P3372.绘制多条二价系统时域曲线和三维图形(1)在同一个平面绘制多条二价系统时域曲线。subplot(211)y1=2.*x+5plot(y1)y1(1/1二阶系统时域响应为esin(12xacos))x2axis([0,31,0,12])holdon①绘制1条阻尼系数为0的二阶系统曲线。x=0:0.1:3;②在同一窗口叠绘4条曲线使用holdon命令(ξ分别为0.3、0.5、0.707)。subplot(212)y2=x.^2-3*x+1plot(y2)③添加文字标注(标题、图例等)。(2)使用①获得图形②设置图形句柄图形。axis([0,31,-2,1.5])对象句柄。对象属性。③绘制三维图形。将小x、y和zeta构成三维曲线(zeta=0、0.3、0.5、0.707)。色图的显示与控制。4.用曲面图表现函数zxy22,和的范围从-4到4,设置当前图形的颜色板从黑色到暗红、洋红、黄色、白色xy的平滑变化,打开网格。x=-4:4;y=x;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2;figure(1)surf(X,Y,Z);holdoncolormap(hot)-6-《MATLAB实用教程3版》版权所有翻版必究五、思考题xa25a22根据y21a绘制平面曲线,并分析参数对其形状的影响。2disp('关于议程ax^2+bx+c=0')a=input('请输入b=input('请输入系数b=');c=input('请输入系数c=');ifa==0&&b==0ifc==0系数a=');symsaxyeq=1/a^2*x^2+y^2/(25-a^2)-1;aa=[0.5:0.5:4.5,5.5:8];[m,n]=size(aa);fori=1:ndisp('解为全体实数');elseeq1=subs(eq,a,aa(i));ezplot(eq1,[-2020])drawnowdisp('为恒不等式!');endelseaxis([-2020-1010])pause(0.5)实验四MATLAB程序设计P=[a,b,c];x=roots(P)endend三、实验内容与步骤axbxc0的根的函数(这个方程不一定为一元二次方程,因a、b、c的不同取值而定),这1.编写求解方程2abc的不同取值分别处理,有输入参数提示,当、、里应根据a0,b0,c~0时应提示“为恒不等式!”。并输入几组典型值加以检验。2.输入一个百分制成绩,要求输出成绩等级A+、A、B、C、D、E。其中100分为A+,90分~99分为A,80分~89分g=input('请输入成绩:')为B,70分~79分为C,60分~69分为D,60分以下为E。ifg<0||g>100要求:(1)用switch语句实现。disp('错误,输入的成绩应为0~100间的数合理的成绩应输出出错信息。else')(2)输入百分制成绩后要判断该成绩的合理性,对不g=fix(g/10);switchgcase{10}3.使用程序流程控制Page:344(k1,2,)aaa,;且aa。1Fibonacci数组的元素满足Fibonacci规则:k2kk112disp('A+');用M函数文件实(1)按M函数文件格式创建文件开头。(2)用while循环实现程序功能。(3)使用for循环实现。(4)某个元素大于50时,退出循环结构(if,break)。(5)将该.m文件生成P码文件。(6)将该M函数文件改为M脚本文件,将数列元素个数通过键盘输入。现,数列的元素个数为输入变量。case{9}disp('A');case{8}disp('B');case{7}disp('C');case{6}-7-《MATLAB实用教程3版》版权所有翻版必究4.使用函数调用Page:345xarcsin计算。x213x2nx2n1(2)!,其中x1。arcsin43164522n(!)(21)xxnn2xx为输入参数,当x不满足条件就不计算,并显示提示;当2n1前的系数小于0.00001则循环结束。使用主函n(2)!1数和子函数调用来实现各项系数的运算,当主函数为计算各项和;系数作为1个子函数cal;其nn2(!)(21)2n2中求价乘n!作为1个子函数factorial。cal函数调用子函数factorial,主函数则调用子函数cal。本程序是函数的嵌套调用。(1)如果不使用子函数factorial,而直接在cal函数中计算阶乘,应如何修改程序。(2)使用程序性能剖析。(3)程序的调试。(4)使用函数句柄。在命令窗口使用函数句柄来调用函数。(5)使用全局变量。将n作为全局变量,子函数factorial不修改,子函数cal和主函数应如何修改。5.使用泛函命令实现数值分析ft()(sin),0.1,0.5,利用泛函命令求其过零点和极小值。tebtabat2已知a=zeros(1,15);b=a;(1)使用函数调用的方法。(2)使用内联函数。(3)使用字符串。c=a;a(1)=3;a(2)=5;b(1)=2;b(2)=3;fori=3:15四、思考题有一分数序列:13581321,a(i)=a(i-1)+a(i-2);b(i)=b(i-1)+b(i-2);end,,,,,2235813编写一段程序,求前16项的和。1.利用for循环求1!+2!+3!……+n!的值。2.用while循环求1-n之间的偶数之和formatratc=a./bformatlongsum(c)3.求一元二次方程ax2+bx+c=0的根sum=sum(c)+0.5sum=0;i=1;sum=0;whilei<=nsum=sum+i;i=i+1;endfori=1:npdr=1;fork=1:ipdr=pdr*k;enddisp('方程形式:a*x^2+b*x+c=0');a=input('a=');sumb=input('b=');sum=sum+pdr;endc=input('c=');p=[abc];sumans=roots(p)-8-《MATLAB实用教程3版》版权所有翻版必究x=[11.522.533.544.55]y=[-1.42.735.98.412.216.618.826.2]p2=polyfit(x,y,2)4.多项式拟合并绘图5.编程实现:当-10≤x≤10取整数时,输出下列分段函数对应的yy2=polyval(p2,x)X=[1:0.5:5];值。(12分)2x1(x0)Y2=polyval(p2,x)plot(x,y,'r*',X,Y2,'m-.')holdonyx220(x0)x1=-10:0

温馨提示

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

评论

0/150

提交评论