matlab实验内容答案

上传人:z****2 文档编号:210933958 上传时间:2023-05-18 格式:DOCX 页数:16 大小:115.11KB
返回 下载 相关 举报
matlab实验内容答案_第1页
第1页 / 共16页
matlab实验内容答案_第2页
第2页 / 共16页
matlab实验内容答案_第3页
第3页 / 共16页
点击查看更多>>
资源描述
实验报告说明:matlab课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。第一次实验内容:实验一 MATLAB 运算基础一、实验目的1. 熟悉启动和退出MATLAB的方法。2. 熟悉 MATLAB 命令窗口的组成。3. 掌握建立矩阵的方法。4. 掌握MATLAB各种表达式的书写规则以及常用函数的使用。二、实验内容1先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。1 2sin 85。(1) z1二1 + e22)z2 = ln(x + 1 + x2),其中二220.451 + 2i5e 0.3 a e 0.3 a(3) z3 =-gsin(a + 0.3),a = 3.0, 2.9, 2.&L ,2.&2.9,3.02提示:利用冒号表达式生成a向量,求各点的函数值时用点乘运算。120 t 1(4) z 4 = t2 11 t 2,其中 t=0:12 2t 12 t 3提示:用逻辑表达式求分段函数值。2已知j2 34 -4-j 3 -1A =34 7 87,B =2 0 33 65 73 -2 7求下列表达式的值:(1)A+6=B和A-B+l(其中丨为单位矩阵)。( 2) A*B 和 A.*B 。(3)AA3 和 AA.3。( 4) A/B 和 BA 。(5)A, B和A(1,3,;);BA2。3.设有矩阵 A 和 Bj2345 -301667891017-69A =1112131415,B =023-41617181920970212223242541311( 1)求它们的乘积 C。(2) 将矩阵C的右下角3X2子矩阵赋给D(3) 查看MATLAB工作空间使用情况。4.完成下列操作:(1) 求100, 999之间能被 21 整除的数的个数。 提示:先利用冒号表达式,再利用 find 和 length 函数(2) 建立一个字符串向量,删除其中的大写字母。 提示:利用 find 函数和空矩阵。 第二次实验内容:实验三 选择结构程序设计一、实验目的1. 掌握建立和执行 M 文件的方法。2. 掌握利用 if 语句实现选择结构的方法。3. 掌握利用 switch 语句实现多分支选择结构的方法4. 掌握 try 语句的使用。二 、实验内容1. 求下列分段函数的值。x2 + x - 6,y = x2 - 5x + 6,x2 - x - 1x 0且x丰-30 x 10, x 丰 2且x 丰 3 其他要求:(1) 用if语句实现,分别输出x=,时的y值。提示:x的值从键盘输入,可以是向量。(2) 仿照实验一第1题第4小题,用逻辑表达式实现,从而体会MATLAB逻辑表达式的一种应 用。clearx=input(input the value of x :);if x=0 & x10 & x=2 &x=3y=x*x-5*x+6;elsey=x*x-x-1;endy2-输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90100分为A,8089分为B,7079分为C,6069分为D,60分以下为E。要求:( 1) 用 switch 语句实现。(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出错误信息。if语句实现:clearx=input(input score:);if x0disp(Sorry,The fail score!)elseif x60disp(E)elseif x70disp(D)elseif x80disp(C)elseif x90disp(B)elseif x=100disp(A) elsedisp(Sorry,The fail score!) end switch 语句实现:clearscore=input(input the score:);switch scorecase num2cell(0:59)disp(E)case num2cell(60:69)disp(D)case num2cell(70:79)disp(C)case num2cell(80:89)disp(B)case num2cell(90:100)disp(A)otherwisedisp(Sorry!Its the fail score,input the score again)end3. 建立5X6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最 后一行元素,并给出出错信息。clearA=1,1,1,1,1,1;2,2,2,2,2,2;3,3,3,3,3,3;4,4,4,4,4,4;5,5,5,5,5,5;n=input(请输入输出元素行数n=);tryB=A(n,:);catchB=A(5,:);lasterrendB实验四 循环结构程序设计一、实验目的1. 掌握利用for语句实现循环结构的方法。2. 掌握利用 while 语句实现循环结构的方法。3. 熟悉利用向量运算来代替循环操作的方法。二、实验内容兀 211111根据:二厂+ L +,求兀的近似值。当n分别取100、1 000、10 000时,结果是6 122232n 2多少要求:分别用循环结构和向量运算(使用sum函数)来实现。 应用 sum 的方法:clearn=100;i=1:n;y=1./i.A2;y1=sum(y);pai=sqrt(6*y1)第二种方法:cleary=0;n=input(输入数据 n:)for i=1:ny=y+1/(i*i);endpai=sqrt(6*y)1 1 12-根据.y =1 2 + + +L +,求:352n -1(1) y=3 break;end i=i+1;end i3. 已知f f = 11f = 02 2f = 13f = f- 2 f+ fnn -1n- 2n -31 100中:f=1,0,1;for n=4:100f(n)=f(n-1)-2*f(n-2)+f(n-3);endk=length(find(f0)k=length(find(f=0)4若两个连续自然数的乘积减1 是素数,则称这两个连续自然数是亲密数对,该素数是亲密素数。 求2,50区间内:(1)亲密数对的对数;(2)与上述亲密数对对应的所有亲密素数之和。实验五 函数与文件一、实验目的1. 掌握定义和调用,MATLAB函数的方法。2. 掌握MATLAB文件的基本操作。二、实验内容1. 定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件function a,b,c,d=susb(x)a=exp(x);b=sin(x);c=log10(x);d=cos(x);调用:x=1+2ia,b,c,d=susb(x)2. 一个自然数是素数,且它的各位数字位置经过任意对换后仍为素数,则称是绝对素数。例如 13是绝对素数。试求所有两位的绝对素数。要求:定义一个判断素数的函数文件。functionq=apnum(p);% 以下为函数文件,需单独保存for i=2:9n=find(rem(p,i)=0);p(n)=;% 找出能被 i 整除的 p 的位置% 消去能被 i 整除的 pend q=10*rem(p,10)+fix(p/10);for j=2:9% p的个位和十位调换,调换后为qm=find(rem(q,j)=0);q(m)=;% 找出能被 j 整除的 q 的位置% 消去能被 j 整除的 qend调用: clear all p=10:99;q=apnum(p)3.已知y =f (40)f (30) + f (20)(1)当 f (n)二 n + 101n(n2 + 5)时,求 y 的值。(2)当 f (n) = 1 x2 + 2x3 + 3x4 +A + nx (n +1)时,求 y 的值。第三次实验内容:实验六 高层绘图操作一、实验目的1. 掌握绘制二维图形的常用函数。2. 掌握绘制三维图形的常用函数。二、实验内容1. 已知 y1 二 x2, y2 二 cos(2x), y3 二 y1 x y2 完成下列操作:(1)在同一坐标系下用不同的颜色和线型绘制三条曲线。(2 )以子图形式绘制3 条曲线。(3) 分别用条图形、阶梯图、杆图和填充图绘制3 条曲线。12. 分别用plot和fplot函数绘制函数y = sin的曲线,分析两曲线的差别。x3.绘制函数的曲面图和等高线。已知 Z = (X2 - 2 X)e-x2 - y2 - xy提示:绘制三维曲面图,首先要选定一平面区域并在该区域产生网络坐标矩阵。在做本题前,先分 析并上机验证下列命令的执行结果,从中体会产生网络坐标矩阵的方法。x,y=meshgrid(-1:2,1:5)3.已知6x30, 15y部分。x=0:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x);I,J=find(z;for ii=1:length(I)z(I(ii),J(ii)=NaN;endsurf(x,y,z);实验七 低层绘图操作一、实验目的1. 掌握图形对象属性的基本操作。2. 掌握利用图形对象进行绘图操作的方法。二、实验内容1. 建立一个图形窗口,使之背景颜色为红色,并在窗口上保留原有的菜单项,而且在按下鼠标器的左键之后显示出 Left Button Pressed 字样。 hf=figure(Color,1,0,0,WindowButtonDownFcn,disp(Left Button Pressed.);2. 先利用缺省属性绘制曲线y二x2e2x,然后通过图形句柄操作来改变曲线的颜色、线型和线宽,并利用文字对象给曲线添加文字标注y二x2e2x。实验十二 菜单设计一、实验目的1. 了解图形用户界面的特点。2. 掌握菜单设计的方法。3. 掌握对话框设计的方法。二、实验内容1. 设计菜单。菜单条仅有 File 菜单项, File 下有 New、 Plot 和 Exit 等 3 个选项。选择 New 时利用 Edit 命令建立一 个新的M文件。选择Plot将显示下一级菜单,其中有Sine Wave和Cosine Wave两个子菜单项,且 若选择了其中的Sine Wave子菜单项,则将打开一个新的图形窗口并显示出正弦曲线。若选择了其 中的Cosine Wave子菜单项,则将打开一个新的图形窗口并显示出余弦曲线。如果选择Exit菜单项, 则将关闭窗口并推出用户系统回到MATLAB命令窗口。2. 为图形窗口建立快捷菜单,用以控制窗口的背景颜色和大小。4. 设计一个对话框,其中有一个编辑框和按钮,当单击按钮时,使编辑框的内容加5。实验二 矩阵分析一、实验目的1. 掌握生成特殊矩阵的方法。2. 掌握矩阵分析的方法。二、实验内容1. 产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数 Th和Tp,判断哪个矩阵性能更好,为什么H=hilb(5)%产生 55 阶希尔波特矩阵P=pascal(5)%产生 55 阶帕斯卡矩阵Hh=det(H);%计算行列式的值Ph=det(P);Th=cond(H);%计算条件数Tp=cond(P);HhPhThTp2. 建立一个5X5矩阵,求它的行列式值、迹、秩和范数。A=1 2 3 4 5;2 3 4 5 6;3 4 5 6 7;4 5 6 7 8;5 6 7 8 9;det(A)trace(A)rank(A)norm(A)3. 已知29 6 18A = 20512885求 A 的特征值及特征向量,并分析其数学意义。实验八 数据处理和多项式计算、实验目的1.2.3.掌握数据统计和分析的方法。 掌握数值插值与曲线拟合的方法及其应用 掌握多项式的常用运算。二、实验内容1-将100个学生5门功课的成绩存入矩阵P中,进行如下处理:1) 分别求每门课的最高分、最低分及相应学生序号。2) 分别求每门课的平均分合标准方差。3) 5 门课总分的最高分、最低分及相应学生序号。(4) 将5门课总分按从大到小顺序存入zcj中,相应学生序号存入xsxh。提示:上机调试时,为避免输入学生成绩的麻烦,可用取值范围在45,95之间的随机矩阵来表示学生成绩。A=rand(5,100);% 求每门功课的最高分、序号% 求每门功课的最低分、序号% 求每门功课的平均值% 求每门功课的标准方差% 求五门功课的总成绩% 求总成绩的最高分% 求总成绩的最低分P=100*A;Y,U1=max(P,2);X,U2=min(P,2);YU1XU2Z1=mean(P,2)Z2=std(P,1,2)B1=cumsum(P);B=B1(5,:);YZ,UZ1=max(B,2)XZ,UZ2=min(B,2) zcj=-sort(-B,2)2-已知lg(x)在1,101 区间11个整数采样点的函数值如表2所示。表2 lg【X)在10个采样点的自函数值x1112131415161718191101Lg(x)0试求lg(x)的5次拟合多项式p(x),并分别绘制出lg(x)和 p(x)在1,101 区间的函数曲线。 x=1:10:101;y=0,;P,S=polyfit(x,y,5)plot(x,y,k*,x,polyval(P,x),k-)3-有 3 个多项式 p (x)二 x4 + 2x3 + 4x2 + 5, p (x)二 x + 2, p (x)二 x2 + 2x + 3,试进行下列操作:123求p(x) = P1(x) + P2(x) P3(x)(1) 求p(x)的根。(2) 当x取矩阵A的每一元素时,求P (x)的值。其中_-11.2-1.4A =0.7523.5052.5(3) 当以矩阵A为自变量时,求P (x)的值。其中A的值与(3)相同。 p1=1,2,4,0,5p22=1,2;p2=0,0,0,p22; p33=1,2,3;p3=0,0,p33;p=p1+p2.*p3x=roots(p)% 求多项式的根A=-1,;,2,;0,5,;G=poly(A)% X=A时P(X)的值第五次实验内容:实验九 符号计算基础与符号微积分一、实验目的1. 掌握定义符号对象的方法。2. 掌握符号表达式的运算法则以及符号矩阵运算3. 掌握求符号函数极限及导数的方法。4. 掌握求符号函数定积分和不定积分的方法。二、实验内容1.已知x=6,y=5,利用符号表达式求z -提示:定义符号常数 x=sym(6),y=sym(5)。x=sym(6);y=sym(5);z=(x+1)/(sqrt(3+x)-sqrt(y)2. 用符号方法求下列极限或导数。1) limx tOx(esin x +1) 一 2(e tan x 1) sin 3 xsyms x;f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/(sin(x)T;limit(f,x,0)ax(2)已知A =t cos xln x分别求dA d 2 A d 2 Adx dt 2 dxdt%求 X 一阶导数%求 X 二阶导数syms a t x;A=aAx,tA3;t*cos(x),log(x); diff(A,x)diff(A,x,2)diff(diff(A,x),t)%求 X 导数的 T 导数3. 用符号方法求下列积分。(1) Jdx1 + x 4 + X8x=sym(x); f=1/(1+xA4+xA8);int(f)(2) dxo x4 +1x=sym(x);f=(xA2+1)/(xA4+1);int(f,0,inf)实验十 级数与方程符号求解一、实验目的1. 掌握级数求和的方法。2. 掌握将函数展开为泰勒级数的方法3. 掌握微分方程符号求解的方法。4. 掌握代数方程符号求解的方法。二、实验内容1. 级数符号求和计算S二n=112n -1n=sym(n);S=symsum(1/(2*n-1),n,1,10)1)求级数另n2 xn-1n =1的n 2之和函数,并求为 之和。5nn=1syms n x;S2=symsum(nA2)*xA(n-1),n,1,inf)函数S3=symsum(nA2)/5An)2将ln(x)在x=1处按5次多项式展开为泰勒级数。x=sym(x);f=log(x);taylor(f,x,6,1)2求微分方程的符号解。%求“的从1到无穷的和竺 + k 2 y = 0 dx 2 y (0) = ay (0) = ba, b, k为任意常数syms x y a b k;m=dsolve(D2y+kA2*y,y(0)=a,Dy(0)=b,x)4. 求下列方程和方程组的符号解。(1) 3xex + 5sin x- 78.5 = 0x=solve(3*x*exp(x)+5*sin(x),x)Jx2 + y2 100 = 0T 丿3 x + 5 y 8 = 0x y=solve(sqrt(xA2+yA2)-100,3*x+5*y-8,x,y)(3) ln(1+ x)-5=21+sin xx=solve(log(1+x)-5/(1+sin(x)=2,x)(4) x2 + 9、:x +1 1 = 0x=solve(xA2+9*sqrt(x+1)-1,x)第六次实验内容:实验十三 Simulink 的应用一、实验目的1. 熟悉Simulink的操作环境并掌握构建系统模型的方法。2. 掌握Simulink中子系统模块的建立与封装技术。3. 对简单系统所给出的数学模型能转化为系统仿真模型并进行仿真分析。二、实验内容1. 假设从实际应用领域(力学、电学、生态或社会)中,抽象出有初始状态为0的二阶微分方程x + 0.2x + 0.4 = 0.2u(t),u(t)是单位阶跃函数。用积分器直接构造求解微分方程的模型并仿真。2. 利用传递函数模块建模。仍以下面的二阶微分方程为例x + 0.2x + 0.4 = 0.2u(t)3.利用状态方程模块建模。仍以下面的二阶微分方程为例x + 0.2x + 0.4 = 0.2u(t)第七次实验内容:实验十四 综合实验(1)一、实验目的综合运用所学知识,掌握利用MATLAB解决控制系统仿真分析与设计的方法。 二、实验内容2 S + 31用Matlab表示传递函数为4s3 + 3s2 + 2s + 1的系统。2用 Matlab 表示传递函数为2( s + 3)s (s +1)( s + 2)3.用 Matlab 表示状态空间表达式为x010x011x001x+022x-1-2-3x1313的系统。u的系统。x1y = 1 0 0 x2x3A=0 1 0;0 0 1;-1 -2 -3;B=0;0;1;C=1 0 0;D=0;Gf=ss(A,B,C,D)4.已知某控制系统的传递函数为G(s)=s 2 + 3s + 2求 Matlab 描述的传递函数模型及零极点增益模型。num=1; den=1 3 2; Gtf=tf(num,den) Gzpk=zpk(Gtf)5. 用 MATLAB 绘制典型二阶系统的单位阶跃响应曲线。Step:(Gtf)6.已知单位负反馈系统的开环传递函数为G (s)=s + 2s( s +1)( s + 3),试判断系统的闭环稳定性。k=1; z=-2;p=0 -1 -3; G=zpk(z,p,k);Gtf=feedback(G,1)pzmap(Gtf)7. 已知一单位负反馈系统的开环传递函数为 G(s)=5( s + 0.2)s( s - 0.5)(s +1.5)试求单位阶跃信号作为参考输入时产生的稳态误差。k=5;z=;p=0 ;G=zpk(z,p,k);Gtf=feedback(G,1) step(Gtf) numk,denk=tfdata(Gtf);第八次实验)内容:实验十四 综合实验(2)一、实验目的综合运用所学知识,掌握利用MATLAB解决控制系统仿真分析与设计的方法。二、实验内容2&已知系统开环传递函数为G(s)=,试利用MATLAB画出系统的奈奎斯特图。s(3s + l)(0.5s +1)num=2;den=conv(1 0,conv(3 1, 1);G=tf(num,den);Nyquist(G)9已知一单位反馈系统开环传递函数G(s)=2/(sA3+6sA2+5s),试绘制bode图并计算系统频域性能指标。num=0 0 0 2; den=1 6 5 0;G=tf(num,den);Gtf=feedback(G,1);bode(Gtf) sys=tf(num,den);mag,phase,w=bode(sys);gm,pm,wcp,wcg=margi n(mag,phase,w)Gm是系统的幅值裕量;Pm是系统的相角裕量;Wcp是Gm对应的角频率;Wcg是Pm对应的角频率;10.已知单位反馈系统被控对象的传递函数为G0 (s) =K0/ 33+A2+S),试用bode图设计方法对系统进行超前串联校正,使之满足:(1) 在速度信号作用下,系统的稳态误差小于等于;(2) 系统校正后,相角稳定裕度介于43与48度之间 11. 使用子系统封装实现下图所示的变化。12. 若已知如上题图所示的系统,试利用系统线性化分析的方法求系统的闭环传递函数,并绘制系 统的阶跃响应曲线。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


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

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


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