MATLAB实验报告一二三模板.docx

上传人:夺命阿水 文档编号:499764 上传时间:2023-08-03 格式:DOCX 页数:38 大小:319.58KB
返回 下载 相关 举报
MATLAB实验报告一二三模板.docx_第1页
第1页 / 共38页
MATLAB实验报告一二三模板.docx_第2页
第2页 / 共38页
MATLAB实验报告一二三模板.docx_第3页
第3页 / 共38页
MATLAB实验报告一二三模板.docx_第4页
第4页 / 共38页
MATLAB实验报告一二三模板.docx_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《MATLAB实验报告一二三模板.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告一二三模板.docx(38页珍藏版)》请在课桌文档上搜索。

1、2023秋2023级MATLAB程序设计试验报告试验一班级:软件131姓名:付云雷学号:132872一、试验目的:1、了解MATLAB程序设计的开发环境,熟悉叮嘱窗口、工作区窗口、历史叮嘱等窗口的运用。2、驾驭MATLAB常用叮嘱的运用。3、驾驭MATLAB帮助系统的运用。4、熟悉利用MATLAB进行简洁数学计算以及绘图的操作方法。二、试验内容:1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与运用。图1 MATLAB工作桌面2、MATLAB的常用叮嘱与系统帮助:(1)系统帮助help:用来查询已知叮嘱的用法。例如已知inv是用来计算逆矩阵,键入helpinv即可得

2、知有关inv叮嘱的用法。Iookfor:用来找寻未知的叮嘱。例如要找寻计算反矩阵的叮嘱,可键入Iookforinverse,MATLAB即会列出全部和关键字inverse相关的指令。找到所需的叮嘱彳发,即可用help进一步找出其用法。(2)数据显示格式:常用叮嘱:说明formatshort显示小数点后4位(缺省值)formatlong显示15位formatbank显示小数点后2位format+显不+,0formatshorte5位科学记数法formatlonge15位科学记数法formatrat最接近的有理数显示(3)叮嘱行编辑:键盘上的各种箭头和限制键供应了叮嘱的重调、编辑功能。具体用法如下

3、:t-重调前一行(可重复运用调用更早的)I-重调后一行一一前移一字符-后移一字符home-前移到行首end-移动到行末esc清除一行del清除当前字符backspace清除前一字符(4)MATLAB工作区常用叮嘱:who显示当前工作区中全部用户变量名Whos显示当前工作区中全部用户变量名及大小、字节数和类型disp(x)显示变量X的内容clear-清除工作区中用户定义的全部变量save文件名-保存工作区中用户定义的全部变量到指定文件中load文件名-载入指定文件中的数据3、在叮嘱窗口执行叮嘱完成以下运算,视察WorkSPaCe的变更,记录运算结果。(1)计算(365-52x2-70)3已知户3

4、,尸4,Z=-T在MATLAB中求z:(-,YCommandWindowx=3,y=4,z=x2*y2/(x-y)a2144(4)利用who,whos叮嘱查看工作空间内的全部变量,并比较两种叮嘱区分。whoYourvariablesare:ansareaXyzwhosNameSizeBytesClassAttributesansIxl8doubleareaIxl8doubleXIxl8doubleyIxl8doubleZIxl8double(5)运用clear叮嘱删除工作空间内的全部变量。提示:MATLAB有一些永久常数(PermanentCOnStantS)如表所示,虽然在工作空间中看不到,

5、但运用者可干脆取用。表LlMATLAB中常用的变量,常量特殊的变量、常量取值ans用于结果的缺省变量名Pi圆周率JI的近似值(3.1416)eps数学中无穷小(epsilon)的近似值(2.22O4e-016)inf无穷大,如1/0=inf(infinity)NaN非数,如0/0=NaN(NotaNumber),inf/inf=NaN*j虚数单位:i=j=jn(6)将下面的矩阵赋值给变量ml,在workspace中察看ml在内存中占用的字节数。162313-.511108ml=97612414151EVariableEditor-ml捻Stack:BaseNovalidplots田ml1123

6、45I16231325111083976124414151567R执行以下叮嘱,视察结果:m1(2,3)CommandWindowml(2:3,1:3)ans=51110976m1(1,4)ml(2,3)+ml(3,2)+ml(4,l)CommandWindowml(l,4)+nl(2,3)+ml(3,2)+ml(%1)ans=34执行叮嘱helpabs,查看函数abs的用法及用途,计算abs(34i)0helpabsABSAbsolutevalue.ABS(X)istheabsolutevalueoftheelementsofX.WhenXiscomplex,ABS(X)isthecompl

7、exmodulus(magnitude)oftheelementsofX.Seealsosign,angle,unwrap,hypt.Overloadedmethods:CodiStributed/absIddata/absReferencepageinHelpbrowserdocabsabs(3+4i)ans=5(8)执行叮嘱:x=0:0.1:6*pi;y=5*sin(x);plot(x,y)(9)在matlab的叮嘱窗口里完成如下计算,其中t的值分别取-1,0,1,表达式如下:3 Ty = -e sin(4 J57 + % / 3)CommandWindowt=-l01t=-101y=(s

8、qrt(3)/2)*exp(-4*t).*sin(4*sqrt(3*t)+pi3)y=1. 0e+004*0.00002. 0897+1.2065i0.0001IEVariableEditor-聒篇二IdJMStack:BaseNovalidplotsI田y11232.0897e+04+1.2065e+04i0.75+0.00i0.0157+0.00i2.(10)求方程组的根:x1+42-3x3=236423681-5722172、在MATLAB中输入矩阵A=,并运用MATLAB回6916-121513-210答以下的问题:A=3,6,8,1:-5,7,22,17:6,9,16,-12:15,

9、13,-21,0A=3681-5I22176916-1215A13-210(1)创建一个由A中第2列到第4列全部元素组成的4X3数组B;CommandWindowB=A(:,2:4)B=681I2217916-1213-210frI创建一个由A中第3行到第4行全部元素组成的2X4数组C;CommandWindowC=A(3:4,:)C=6916-121513-210f(3)创建一个伪A中前两行和后三列全部元素组成的2X3数组DCommandWindowD=A(1:2,2:4)D=6 817 2217f(4)依据A利用单下标方法和双下标方法分别创建向量a=-5615和向量-56b=681,并利用

10、向量。和生成矩阵E=68;Command Window a=A(2, 3, 4)%单下标 a =-5615 b=A(5, 9, 13)%单下标 b =681 d=a;b; E=transpose(d) E =-5668151Command Window a=A(2:4, 1)%双下标 a =-5 615 b=A(l, 2:4)%双下标 b =681 c=transpose(b); E= a, c E =-5668151(5)利用“口删除矩阵A的其次行和第三列。Command Window A(2, :)=%删除第二行36816916-121513-210 Ad,3)=%删除第三列619 -12

11、130OOO1 1 03 1 01 1 00 0 03、利用OneS()函数和ZerO()函数生成如下矩阵:OOO1A=O1O1OOA=ZeroS(5):%生成全。矩胜A(2:4,2:4)=l*ones(3):%矩独中的元素1A(3,3)=3%第三行三列元素变为3A=0000001110013100111000000fx-4-12-4、生成矩阵4=-303:-214CommandWindowA=reshape(-4:4,3,3)%生成矩陈A=- 4-I2- 303- 214fr(1)取出全部大于0的元素构成一个向量。(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)。CommandWin

12、dowp。s=(AO)%取出大于O元素的位置pos=001001011A(POS)%从A的对应位置取值ans=1234 fI(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。POS=(A0)%取出大于。元素的位置OO1OO1O11A.*pos%将小于O元素置Oans=0020030144 -13 51c - 0-21d= 8372下列运0算是否合法,为什么?如合法,写出计算结果?(1) result 1=%合法,将矩阵转置(2) result2=(7*Z?Command Window result l=a,

13、result 1 -142536f、%不合法,a和b矩阵不能相乘(3) result3=tZ?。%合法,将a和b矩阵对应元素相加(4) result4=Z?*J(5) resuk5=也c*dCommandWindowresult3=a+bresult3=3625811f。%合法,将b和d矩阵相乘CommandWindowresult4=b*dresult4=312222404913fx。%合法CommandWindowresult5=b;c,*dresult5=312222404913-5-8I(6) result6=.*Z?%合法,将a和b对应兀素相乘CommandWindowresult6

14、=a.*bresult6=28-341530result7=.b%合法,用a除以b中对应元素CommandWindowresult7=a./bresult?-0.50000.5000-3.00004.00001.66671.2000(8)result8=tz.*c不合法,a和C不能进行.*运算result9=b合法,用b除以a中对应元素CommandWindowresult9=a.bresult9=2.00002.0000-0.33330.25000.60000.8333一、(10) result10=6/2%合法,将a中全部元素平方CommandWindowresult10=a.2resul

15、t10=149162536O(11) result11=672%不合法,a必需为方阵(12) result11=2.%合法,将2MQ,j)构成新矩阵的第(Ij)个元素result11=2.aresult11=248163264f16、己知= 573128438,c=U,0,8,3,6,2,-4,23,46,63a/bans=0.09660.09450.0080-3.61251.5838-0.5778-1.99170.9414-0.2682a./bans=-0.14290.37501.00000.41670.50001.15790.1029L*、-1.60009.0000CommandWindo

16、wa-2ans=447124437351117362363331109a.2ans三191625144193649、64729(2)求C中全部元素的平均值、最大值、中值,并将C中元素按从小到大依次排列。CommandWindowmean(c)%平均值ans=9.1000max(c)%最大值ans=46median(c)%中值ans=4.5000SOrt(C)%从小到大排序ans=-401236682346(3)说明伙2:3,1,3)的含义,并将生成的数组赋值给d。得到其次行到第三行中第一列和第三列的元素并构成矩阵。d=b(2:3,1,3)d=1238683Ar、关系运算与逻辑运算7、已知。=2

17、0力=-2,C=O,d=l,计算下列表达式:(1)r=abr2=ab&cd(3) r3=Z?*(-10)(4) r4=-bcCommandWindowa=20;b=-2:c=0;d=l;rl=abrl=1r2=abAcdr2=0r3=a=b*(-10)r3=1r4=-bcr4=08、已知A =79-2121-2153-2-21153213CommandWindowA=721-2;9153-2:-2-2115:13213;rank(八)ans=4J八I求矩阵A的行列式(determinant);det(八)ans=1.2568e+004f(3)求矩阵A的逆(inverse);CommandWin

18、dowinv(八)ans=0.1744-0.0303-0.01250.0270-0.10500.0789-0.01210.00060.00830.01730.0911-0.03110.0095-0.0185-0.01030.0795fI(4)求矩阵A的特征值及特征向量(eigenvalueandeigenvector)oCommandWindowc,d=eig(八)c=-0.76290.0919+0.0640i0.0919-0.0640i-0.02990.62230.6087+0.0276i0.6087-0.0276i0.26370.0807-0.7474-0.74740.6434-0.155

19、40.0342-0.2374i0.0342+0.2374i0.7180d=4.8554000012.6460+1.8333i000012.6460-1.8333i000015.85269、已知多项式力(X)=24-f+3+2,力(x)=3x+2,利用MATLAB进行如下计算:(1)计算两多项式的乘法和除法;CommandWindowfl=2,0j-l,3,2;f2=3,2;conv(f1,f2)ans=64-37124q,r=deconv(f1,f2)q=0.6667-0.4444-0.03701.024700(2)求多项式力(x)的根;00-0.0494roots(fl)ans=0.8214

20、+0.9387i0.8214-0.9387i-1.0000-0.642713(3)分别计算多项式当x=3以刚好1=的值。24CommandWindowPoIyVal(fl,3)%x=3时fl的值ans=164PoIyVal(f2,3)%x=3时f2的值ans=11x=13;24:polyvalm(fl,x)%f1ans=3968645761260polyvalj(f2,x)%f2ans=5 96 1410、用两种方法求下列方程组的解,并比较两种方法执行的时间。7x1+14x2-9x3-2x4+5x5=1003x1-15x2-133-6x4-4x5=2004-1Ix1-9%-2工3+5冗4+7毛

21、=3005x1+7x2+14x3+16x4-2x5=400-2x+52+12Xj1Ix44Xj=500A=7j14,-9,-2,5;3,-15,-13j-6,-4:-11,-9,-2,5,7:5,7,14,16,-2:-2,5,12,-11,-4:b=100:200:300;400;500;x=inv(八)*b%第一种方法x=370.9455-224.7276238.3333-138.1891503.6378x=Ab%第二种方法X=370.9455-224.7276238.3333-138.1891503.637811、建立一个元胞数组,要求第一个元素为4X4的魔术矩阵,其次个元素为18.66

22、,第三个元素为natlab第四个元素为等差数列7,9,11,1399。计算第一个元胞第4行第2列加上其次个元胞+第三个元胞里的其次个元素+最终一个元胞的第10个元素。CommandWindowa=magic(4),18.66,matlab,7:2:99;b=al(4,2)+a2+a3(2)+a4(10)b=154.660012、建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是:CommandWindowStudent=Struct(name,A,B,C,age,17,18,19,scoref

23、.int16(rand(3,10)*100),int16(rand(3,10)*100),int16(rand(3,10)*100)student=1x3structarraywithfields:name(1)如何找到第2个人的分数并显示出来;CommandWindowstudent(2).scoreans=212323444398262622323084173118444160124247frI192392901159713051(2)如何找到第2个人的每门课程3个阶段的平均分数并显示出来;CommandWindowjaMean(student(2).score)ans=Columns1t

24、hrough932.666742.000021.000055.666;50.333351.000042.000052.333321.3333Column1041.6667f(3)全部同学的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里;CommandWindowJneanscore=(MeanCstudent(1).score)+三ean(student(2).score)-ean(student(3).score)./3aeanscore=Colwnns1through941.333344.555641.333360.333345.888950.666754.555665.44

25、4439.0000Column1050.5556、(4)找到这个班全部同学的姓名放到一个元胞数组里;CommandWindowCname=student(1).name,student(2).name,student(3).nameCnaJne=,A,B,tCf13、完成以下操作:(1)已有str=decision20madeon10/20/10,查找字符串中20出现的位置。CommandWindowstr三,decision20madeon102010,:findstr(str,20,)ans=1024fx有字符串SI=*matlabexpress,s2=*matlabexcellent,比

26、较两个字符串的前8个字符是否相同,相同输出1,否则输出0。CommandWindows1三,matlabexpress,:s2三,matIabexcellent,;ifsl(l:8)=s2(l:8)dispC)Ielsedisp(0)end1JI(3)统计字符串sl=4matlabexpress,中ex出现的次数,并替换为EXoCommandWindowsl三,matlabexpress*:k=findstr(si,ex,):sl(k)三,E,:sl(k+D=:length(k)ans=1sisi=JnatlabEXpressss2023秋2023级MATLAB程序设计试验报告试验三班级:软件

27、131姓名:付云雷学号:132872一、试验目的1、驾驭建立和执行M文件的方法。2、驾驭选择结构、多分支选择结构程序的编程方法。3、驾驭多种循环结构程序的编程方法。4、驾驭定义函数文件和调用函数文件的方法。二、试验内容1、MATLABM文件的创建与运用。建立自己工作书目,如D:MATLAB。在FiIe菜单中,单击SetPath菜单项,在弹出对话框中建立目标文件夹,:单击AddFOIder按钮,将自己的工作书目D:MATLAB添加到搜寻书目之中,按SaVe按钮保存,如图Io图1工作书目设置在M文件编辑器中编制叮嘱行文件。在File菜单中,单击NewM-File,弹出M文件编辑器,如图2:,e0r

28、)0Mt;A田(D日JCTl*1ioHrfmwosi31图2编辑器在编辑器中输入如下叮嘱程序:%求小于2000且为2的整数次塞的正整数。f(D=2;k=l;whilef(k)ns1through8248163264128256Columns9through105121024k=10(4)按上述步骤,在在编辑器中输入如下函数文件:functionf=tt(n)%求小于任何正整数且为2的整数次累的正整数。%c=n(n)%n可取随意正整数。%2023年8月。f(l)=2;k=l;whilef(k)ceil(n2)%ceil函数取最近的正整数f(k+l)=f(k)*2;k=k+l;end调试后,将其以

29、test2.m形式保存在D:MATLAB中。(5)进入叮嘱窗口,键入test2(9),视察程序运行结果。CommandWindowtest2(9)24ans=24fI2、编写一个函数M文件,计算下面函数的值,给出标量X的值,调用该函数后,返回y的值。sinx,y()=,%,X + 6,x0031234 -5 .6 -7 -8 一9 -10 -11 -选择一些数据测试编写的函数。!functiony=test3(x)力编写一个函数M文件,计算下面函数的值,%给出标量X的值,调用该函数后,返回y的值ifx04xv=myvander(2 3 4 5),得V =1248139271 14516 256

30、4 125同时生成一些数据测函数。1functionv=myvander(x)2%生成范德蒙矩陈3-n=length(x):4-v=ones(n):5-fori=2:n6v(i,:)=x.a(i-l);7endCommandWindowV=Jnyvander(2345)Illl234549162582764125fI5、分别运用While和for编写叮嘱文件,用循环语句编程计算S值:10=(/-/)n=2同时对编写的文件设置断点,视察变量取值的变更状况。1 Xwhile2 -n=2;3 -s=0;4 -whilen=105 -s= s+ (n3-n2):6 -n=n+l;7 -end8 -s1

31、 %for2 -s=0;3 -for n=2:104 -s=s+(n3-n2):5 -end6 -sCommandWindowtest5whiles=2640test5fors三2640fx6、数论中一个好玩的题目:随意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如:21310516842163105168421建立叮嘱M文件,完成上述功能,要求显示数字处理过程。1%任意一个正整数,若为偶数,则用2除之,若为奇数,2%则与3相乘再加上1。重复此过程,最终得到的结果为1|3-Ewhile14-n=input(请输入一个正整数:):5-ifnl1

32、0-ifrem(n,2)011-n=n2;12-else13-n=3*n+l;14-end15-a=a,n;16end17-a18-endCommandWindow请输入一个正整数:2a=21请输入一个正整数:3a=3105168421请输入一个正整数:6a=63105168421f清输入一个正整数:I7、设计一个学生身高的管理系统,输出身高的基本分为5等:很高、较高、中等、较矮、矮,其中190Cm以上为“很高”,180cm,190cm)区间为“较高”,170cm,180cm)为“中等”,1160cm,170cm)为“较矮”,160Cm以下为“矮”,要求分别用if语句和switch语句实现1%

33、实蛉三:7:ifclear:n=-l;|whilen=0n=input(请输入身高,单位为CM(输入数字O退出):):ifn190disp(很高);elseifn=180dispC较高):elseifn=170dispC中等):elseifn=160dispC较矮):elseifn160;dispC矮):endend1 %实蛉三;7switch2 -clear;4 -5 -6 -7 8 9 .IO -11 -12 -13 -14 -15 -16 -17 -18 -whilen=0XinPUt(请输入身高,单位为CM(输入数字。退出):);X=(n-100)/10;switchfloor(x)case10,9disp(很高):case8dispC较高):case7disp(中等):case6disp(较矮):case5,4,3,2,1,0dispC矮):endendtest7if清输入身高,单位为CM(输入数字O退出):198很高清输入身高,单位为CM(输入数字0退出):182较高请输入身高,单位为CM(输入数字0退出):173中等请输入身高,单位为CM(输入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号