2014秋2012級MATLAB程序設(shè)計實驗指導(dǎo)書_第1頁
2014秋2012級MATLAB程序設(shè)計實驗指導(dǎo)書_第2頁
2014秋2012級MATLAB程序設(shè)計實驗指導(dǎo)書_第3頁
2014秋2012級MATLAB程序設(shè)計實驗指導(dǎo)書_第4頁
2014秋2012級MATLAB程序設(shè)計實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2014秋2012級《MATLAB程序設(shè)計》實驗報告實驗一班級:軟件c121姓名:馬奎學號:125053一、實驗?zāi)康模?、了解MATLAB程序設(shè)計的開發(fā)環(huán)境,熟悉命令窗口、工作區(qū)窗口、歷史命令等窗口的使用。2、掌握MATLAB常用命令的使用。3、掌握MATLAB幫助系統(tǒng)的使用。4、熟悉利用MATLAB進行簡單數(shù)學計算以及繪圖的操作方法。二、實驗內(nèi)容:三、源程序和實驗結(jié)果3、在命令窗口執(zhí)行命令完成以下運算,觀察workspace的變化,記錄運算結(jié)果。計算(365-522-70)3>>area=pi*2.5^2>>(365-52*2-70)/3ans=63.6667>>area=pi*2.5^2area=19.6350已知x=3,y=4,在MATLAB中求z:利用who,whos命令查看工作空間內(nèi)的所有變量,并比較兩種命令區(qū)別。使用clear命令刪除工作空間內(nèi)的所有變量。提示:MATLAB有一些永久常數(shù)(PermanentConstants)如表所示,雖然在工作空間中看不到,但使用者可直接取用。>>x=3,y=4x=3y=4>>z=(x^2*y^3)/(x-y)^2z=576>>whoYourvariablesare:Aansr2result2xBarear3result3yCbr4result4zDcresult1result5Edresult10result6ar1result11result7>>whosNameSizeBytesClassAttributesA4x4128doubleB4x396doubleC2x464doubleD2x348doubleE3x248doublea1x18doubleans1x18doublearea1x18doubleb1x18doublec1x18doubled1x18doubler11x11logicalr21x11logicalr31x11logicalr41x11logicalresult13x372doubleresult102x348doubleresult112x348doubleresult23x372doubleresult33x372doubleresult43x372doubleresult53x372doubleresult63x372doubleresult73x372doublex1x18doubley1x18doublez1x18double將下面的矩陣賦值給變量m1,在workspace中察看m1在內(nèi)存中占用的字節(jié)數(shù)。m1=執(zhí)行以下命令,觀察結(jié)果:>>m1(2,3)>>m1(11)>>m1(:,3)>>m1(2:3,1:3)>>m1(1,4)+m1(2,3)+m1(3,2)+m1(4,1)執(zhí)行命令>>helpabs,查看函數(shù)abs的用法及用途,計算abs(3+4i)。執(zhí)行命令:>>x=0:0.1:6*pi;>>y=5*sin(x);>>plot(x,y)>>m1=[162313;511108;97612;414151]m1=16231351110897612414151>>m1(2,3)ans=10>>m1(11)ans=6>>m1(:,3)ans=310615>>m1(2:3,1:3)ans=51110976>>m1(1,4)+m1(2,3)+m1(3,2)+m1(4,1)ans=34>>helpabsABSAbsolutevalue.ABS(X)istheabsolutevalueoftheelementsofX.WhenXiscomplex,ABS(X)isthecomplexmodulus(magnitude)oftheelementsofX.Seealsosign,angle,unwrap,hypot.Overloadedmethods:codistributed/absiddata/absReferencepageinHelpbrowserdocabs>>abs(3+4i)ans=5>>x=0:0.1:6*pix=Columns1through500.10000.20000.30000.4000Columns6through100.50000.60000.70000.80000.9000Columns11through151.00001.10001.20001.30001.4000Columns16through201.50001.60001.70001.80001.9000Columns21through252.00002.10002.20002.30002.4000Columns26through302.50002.60002.70002.80002.9000Columns31through353.00003.10003.20003.30003.4000Columns36through403.50003.60003.70003.80003.9000Columns41through454.00004.10004.20004.30004.4000Columns46through504.50004.60004.70004.80004.9000Columns51through555.00005.10005.20005.30005.4000Columns56through605.50005.60005.70005.80005.9000Columns61through656.00006.10006.20006.30006.4000Columns66through706.50006.60006.70006.80006.9000Columns71through757.00007.10007.20007.30007.4000Columns76through807.50007.60007.70007.80007.9000Columns81through858.00008.10008.20008.30008.4000Columns86through908.50008.60008.70008.80008.9000Columns91through959.00009.10009.20009.30009.4000Columns96through1009.50009.60009.70009.80009.9000Columns101through10510.000010.100010.200010.300010.4000Columns106through11010.500010.600010.700010.800010.9000Columns111through11511.000011.100011.200011.300011.4000Columns116through12011.500011.600011.700011.800011.9000Columns121through12512.000012.100012.200012.300012.4000Columns126through13012.500012.600012.700012.800012.9000Columns131through13513.000013.100013.200013.300013.4000Columns136through14013.500013.600013.700013.800013.9000Columns141through14514.000014.100014.200014.300014.4000Columns146through15014.500014.600014.700014.800014.9000Columns151through15515.000015.100015.200015.300015.4000Columns156through16015.500015.600015.700015.800015.9000Columns161through16516.000016.100016.200016.300016.4000Columns166through17016.500016.600016.700016.800016.9000Columns171through17517.000017.100017.200017.300017.4000Columns176through18017.500017.600017.700017.800017.9000Columns181through18518.000018.100018.200018.300018.4000Columns186through18918.500018.600018.700018.8000>>y=5*sin(x)y=Columns1through500.49920.99331.47761.9471Columns6through102.39712.82323.22113.58683.9166Columns11through154.20744.45604.66024.81784.9272Columns16through204.98754.99794.95834.86924.7315Columns21through254.54654.31604.04253.72853.3773Columns26through302.99242.57752.13691.67491.1962Columns31through350.70560.2079-0.2919-0.7887-1.2777Columns36through40-1.7539-2.2126-2.6492-3.0593-3.4388Columns41through45-3.7840-4.0914-4.3579-4.5808-4.7580Columns46through50-4.8877-4.9685-4.9996-4.9808-4.9123Columns51through55-4.7946-4.6291-4.4173-4.1613-3.8638Columns56through60-3.5277-3.1563-2.7534-2.3230-1.8694Columns61through65-1.3971-0.9108-0.41540.08410.5827Columns66through701.07561.55772.02422.47062.8922Columns71through753.28493.64483.96834.25224.4935Columns76through804.69004.83964.94084.99274.9947Columns81through854.94684.84944.70374.51094.2730Columns86through903.99243.67203.31482.92462.5051Columns91through952.06061.59551.11440.62230.1239Columns96through100-0.3758-0.8716-1.3588-1.8324-2.2877Columns101through105-2.7201-3.1254-3.4994-3.8384-4.1391Columns106through110-4.3985-4.6139-4.7832-4.9047-4.9772Columns111through115-5.0000-4.9728-4.8959-4.7701-4.5966Columns116through120-4.3773-4.1141-3.8099-3.4676-3.0907Columns121through125-2.6829-2.2482-1.7911-1.3162-0.8280Columns126through130-0.33160.16810.66621.15751.6374Columns131through1352.10082.54332.96043.34783.7019Columns136through1404.01894.29584.52984.71854.8600Columns141through1454.95304.99654.99014.93394.8283Columns146through1504.67454.47404.22873.94133.6144Columns151through1553.25142.85602.43201.98371.5156Columns156through1601.03230.53880.0398-0.4595-0.9543Columns161through165-1.4395-1.9104-2.3621-2.7903-3.1905Columns166through170-3.5589-3.8918-4.1857-4.4378-4.6456Columns171through175-4.8070-4.9203-4.9845-4.9989-4.9633Columns176through180-4.8781-4.7442-4.5629-4.3360-4.0658Columns181through185-3.7549-3.4066-3.0242-2.6115-2.1728Columns186through189-1.7124-1.2349-0.7450-0.2477>>plot(x,y)>>在matlab的命令窗口里完成如下計算,其中t的值分別取-1,0,1,表達式如下:>>t=-1t=-1>>y=sqrt(3)/2*exp(1)^(-4*t)*sin(4*sqrt(3*t)+pi/3)y=2.0897e+004+1.2065e+004i>>t=0t=0>>y=sqrt(3)/2*exp(1)^(-4*t)*sin(4*sqrt(3*t)+pi/3)y=0.7500>>t=1t=1>>y=sqrt(3)/2*exp(1)^(-4*t)*sin(4*sqrt(3*t)+pi/3)y=0.0157求方程組的根:>>a=[14-3;25-1;161]a=14-325-1161>>b=[2;11;12]b=21112>>x=a\bx=412一個多項式的系數(shù)向量是p=[1-6-72-27],求這個多項式的根并寫出多項式。>>p=[1-6-72-27]p=1-6-72-27>>roots(p)ans=12.1229-5.7345-0.3884>>4、思考題以下變量名是否合法?為什么?x23col_rowFor只有第二個是合法的,以為開始不能為字母和下劃線,a和c不符合,for是系統(tǒng)內(nèi)部的變量,不能做變量名。求以下變量的值,并在MATLAB中驗證。a=1:2:5;b=[a'a'a'];c=a+b(2,:)>>demo>>a=1:2:5a=135>>b=[a'a'a']b=111333555>>c=a+b(2,:)c=4682014秋2012級《MATLAB程序設(shè)計》實驗報告實驗二班級:軟件121姓名:馬奎學號:125053一、實驗?zāi)康模?、掌握矩陣和數(shù)組的表示與賦值方法2、了解字符串、結(jié)構(gòu)和單元等數(shù)據(jù)類型在MATLAB中的使用3、掌握MATLAB中基本的數(shù)值運算,了解基本統(tǒng)計函數(shù)的使用4、掌握多項式基本運算以及線性方程組的求解方法二、實驗內(nèi)容:三、源程序和實驗結(jié)果1、利用“:”操作符和linspace函數(shù)生成數(shù)組a=[0,6,12,18,24,30,36,42],并將數(shù)組a分別轉(zhuǎn)化為4*2和2*4的矩陣。>>a=0:6:42a=06121824303642>>a=linspace(0,42,8)a=06121824303642>>b=reshape(a,[42])b=02463012361842>>b=reshape(a,[24])b=012243661830422、在MATLAB中輸入矩陣,并使用MATLAB回答以下的問題:創(chuàng)建一個由A中第2列到第4列所有元素組成的4Χ3數(shù)組B;創(chuàng)建一個由A中第3行到第4行所有元素組成的2Χ4數(shù)組C;創(chuàng)建一個由A中前兩行和后三列所有元素組成的2Χ3數(shù)組D;根據(jù)A利用單下標方法和雙蝦標方法分別創(chuàng)建向量a=[-5615]和向量b=[681],并利用向量a和b生成矩陣;利用“[]”刪除矩陣A的第二行和第三列。源程序和結(jié)果:>>A=[3681;-572217;6916-12;1513-210]A=3681-5722176916-121513-210>>B=A(1:4,2:4)B=68172217916-1213-210>>C=A(3:4,1:4)C=6916-121513-210>>D=A(1:2,2:4)D=68172217>>a=A(2:4)a=-5615>>b=A(1,2:4)b=681>>E=[a',b']E=-5668151>>A(2,:)=[]A=36816916-121513-210>>A(:,3)=[]A=36169-12151303、利用ones()函數(shù)和zero()函數(shù)生成如下矩陣:>>A=zeros(5)A=0000000000000000000000000>>A(2:4,2:4)=ones(3)A=0000001110011100111000000>>A(3,3)=3A=00000011100131001110000004、生成矩陣:取出所有大于0的元素構(gòu)成一個向量a(可推廣到從一個矩陣里篩選出符合條件的元素組成一個向量)。將原矩陣中大于0的元素正常顯示,而小于等于0的元素全部用0來表示(可推廣到將原矩陣中不符合條件的全用0來表示,符合條件的值不變)。>>A=[-4-12;-303;-214]A=-4-12-303-214>>a=(A(find(A>0)))a=1234>>b=find(A<0)b=1234>>A(b)=0A=0020030145、已知,,,下列運算是否合法,為什么?如合法,寫出計算結(jié)果?(1) result1=a'(2) result2=a*b(3) result3=a+b(4) result4=b*d(5) result5=[b;c']*d(6) result6=a.*b(7) result7=a./b(8) result8=a.*c(9) result9=a.\b(10) result10=a.^2(11) result11=a^2(12) result11=2.^a>>a=[123;456]a=123456>>b=[24-1;135]b=24-1135>>c=[1;0;-2]c=10-2>>d=[147;852;360]d=147852360>>result1=a'result1=142536>>result2=a*b???Errorusing==>mtimesInnermatrixdimensionsmustagree.>>result3=a+bresult3=3625811>>result4=b*dresult4=312222404913>>result5=[b:c']*d???Errorusing==>mtimesInnermatrixdimensionsmustagree.>>result6=a.*bresult6=28-341530>>result7=a./bresult7=0.50000.5000-3.00004.00001.66671.2000>>result8=a.*c???Errorusing==>timesMatrixdimensionsmustagree.>>result9=a.\c???Errorusing==>ldivideMatrixdimensionsmustagree.>>result10=a.^2result10=149162536>>result11=a^2???Errorusing==>mpowerInputsmustbeascalarandasquarematrix.>>result11=2.^aresult11=2481632646、已知求a+b,a*b,a.*b,a/b,a./b,a^2,a.^2的結(jié)果,并觀察運算結(jié)果。求c中所有元素的平均值、最大值、中值,并將c中元素按從小到大順序排列。解釋b(2:3,[1,3])的含義,并將生成的數(shù)組賦值給d。>>a=[134;51244;7827]a=134512447827>>b=[-784;122438;68-53]b=-78412243868-53>>c=[1,0,8,3,6,2,-4,23,46,6]c=108362-423466>>result1=a+bresult1=-611817368275330>>result2=a*bresult2=3016013031011086081883113413>>result3=a.*bresult3=-72416602881672476-4081>>result4=a/bresult4=0.09660.09450.0080-3.61251.5838-0.5778-1.99170.9414-0.2682>>result5=a./bresult5=-0.14290.37501.00000.41670.50001.15790.1029-1.60009.0000>>result6=a^2result6=447124437351117362363331109>>result7=a.^2result7=19162514419364964729>>mean(c)ans=9.1000>>max(c)ans=46>>median(c)ans=4.5000>>sort(c)ans=Columns1through9-4012366823Column1046>>d=b(2:3,[1,3])d=12386837、已知a=20,b=-2,c=0,d=1,計算下列表達式:r1=a>br2=a>b&c>dr3=a==b*(-10)r4=~b|c>>a=20a=20>>b=-2b=-2>>c=0c=0>>d=1d=1>>r1=a>br1=1>>r2=a>b&c>dr2=0>>r3=a==b*(-10)r3=1>>r4=~br4=0>>r4=~b|cr4=08、已知求矩陣A的秩(rank);求矩陣A的行列式(determinant);求矩陣A的逆(inverse);求矩陣A的特征值及特征向量(eigenvalueandeigenvector)。>>A=[721-2;9153-2;-2-2115;13213]A=721-29153-2-2-211513213>>rank(A)ans=4>>det(A)ans=1.2568e+004>>inv(A)ans=0.1744-0.0303-0.01250.0270-0.10500.0789-0.01210.00060.00830.01730.0911-0.03110.0095-0.0185-0.01030.0795>>eig(A)ans=4.8554+0.0000i12.6460+1.8333i12.6460-1.8333i15.8526+0.0000i9、已知多項式f1(x)=2x4-x2+3x+2,f2(x)=3x+2,利用MATLAB進行如下計算:計算兩多項式的乘法和除法;求多項式f1(x)的根;分別計算多項式當x=3以及時的值。>>a=[2,0,-1,3,2]a=20-132>>b=[0,0,0,3,2]b=00032>>h=conv(a,b)h=Columns1through800064-3712Column94>>[h,r]=deconv(a,b)錯誤使用deconv(line19)A的第一個系數(shù)必須為非零值>>roots(a)ans=0.8214+0.9387i0.8214-0.9387i-1.0000+0.0000i-0.6427+0.0000i>>x=3;polyval(a,x)ans=164>>x=[13;24];polyval(a,x)ans=61643651010、用兩種方法求下列方程組的解,并比較兩種方法執(zhí)行的時間。>>a=[714-9-25;3-15-13-6-4;-11-9-257;571416-2;-2512-11-4]a=714-9-253-15-13-6-4-11-9-257571416-2-2512-11-4>>b=[100;200;300;400;500]b=100200300400500>>x=a\bx=370.9455-224.7276238.3333-138.1891503.6378方法二:>>x=inv(a)*bx=370.9455-224.7276238.3333-138.1891503.6378>>x=linsolve(a,b)x=370.9455-224.7276238.3333-138.1891503.637811、建立一個元胞數(shù)組,要求第一個元素為4Χ4的魔術(shù)矩陣,第二個元素為18.66,第三個元素為'matlab',第四個元素為等差數(shù)列7,9,11,13…99。計算第一個元胞第4行第2列加上第二個元胞+第三個元胞里的第二個元素+最后一個元胞的第10個元素。>>a={magic(4),18.66;'matlab',7:2:99}a=[4x4double][18.6600]'matlab'[1x47double]>>celldisp(a)a{1,1}=16231351110897612414151a{2,1}=matlaba{1,2}=18.6600a{2,2}=Columns1through879111315171921Columns9through162325272931333537Columns17through243941434547495153Columns25through325557596163656769Columns33through407173757779818385Columns41through4787899193959799>>a{1,1}(4,2)+a{1,2}+a{2,1}(3)+a{2,2}(10)ans=173.660012、建立一個結(jié)構(gòu)體的數(shù)組,包括3個人,字段有姓名,年齡,分數(shù),其中分數(shù)由隨機函數(shù)產(chǎn)生一個3行10列的數(shù)據(jù)表示了有10門課程,每門課程有三個階段的分數(shù)。問題是:如何找到第2個人的分數(shù)并顯示出來;如何找到第2個人的每門課程3個階段的平均分數(shù)并顯示出來;所有同學的10門課程的每門課程的平均分如何計算出來?要求放到一個數(shù)組里;找到這個班所有同學的姓名放到一個元胞數(shù)組里;>>='zhangsan';student.age=18;student.score=int16(rand(3,10)*100)student=name:'zhangsan'age:18score:[3x10int16]>>student(2).name='lisi';student(2).age=18;student(2).score=int16(rand(3,10)*100)student=1x2structarraywithfields:nameagescore>>student(3).name='wangwu';student(3).age=18;student(3).score=int16(rand(3,10)*100)student=1x3structarraywithfields:nameagescore>>student(2).scoreans=Columns1through81177880181455629682404326871435087269115588551Columns9through1040128182424>>student(2).scoreans=117788018145562401296824043268714358180872691155885512424>>mean(student(2).score)ans=Columns1through735.666782.000024.666771.333319.666753.000051.3333Columns8through1049.333324.000018.0000>>meanscore=(mean(student(1).score)+mean(student(2).score)+mean(student(3).score))meanscore=Columns1through7132.0000231.0000106.3333159.0000110.3333147.3333128.3333Columns8through10154.6667118.3333135.6667>>meanscore=(mean(student(1).score)+mean(student(2).score)+mean(student(3).score))/3meanscore=Columns1through744.000077.000035.444453.000036.777849.111142.7778Columns8through1051.555639.444445.2222>>cname={student(1).name,student(2).name,student(3).name}cname='zhangsan''lisi''wangwu'13、完成以下操作:已有str=‘decision20madeon10/20/10’,查找字符串中20出現(xiàn)的位置。有字符串s1=‘matlabexpress’,s2=‘matlabexcellent’,比較兩個字符串的前8個字符是否相同,相同輸出1,否則輸出0。統(tǒng)計字符串s1=‘matlabexpress’中ex出現(xiàn)的次數(shù),并替換為EX。>>str1='matlabexpress',str2='matlabexcellent'str1=matlabexpressstr2=matlabexcellent>>findstr(str,'20')ans=1024

實驗三MATLAB程序設(shè)計一、實驗?zāi)康?、掌握建立和執(zhí)行M文件的方法。2、掌握選擇結(jié)構(gòu)、多分支選擇結(jié)構(gòu)程序的編程方法。3、掌握多種循環(huán)結(jié)構(gòu)程序的編程方法。4、掌握定義函數(shù)文件和調(diào)用函數(shù)文件的方法。二、實驗內(nèi)容1、MATLABM文件的創(chuàng)建與使用。建立自己工作目錄,如D:\MATLAB。在File菜單中,單擊SetPath菜單項,在彈出對話框中建立目標文件夾,:單擊AddFolder按鈕,將自己的工作目錄D:\MATLAB添加到搜索目錄之中,按Save按鈕保存,如圖1。圖1工作目錄設(shè)置在M文件編輯器中編制命令行文件。在File菜單中,單擊New—>M-File,彈出M文件編輯器,如圖2:圖2編輯器在編輯器中輸入如下命令程序:%求小于2000且為2的整數(shù)次冪的正整數(shù)。f(1)=2;k=1;whilef(k)<1000f(k+1)=f(k)*2;k=k+1;endf,k調(diào)試后,將其以test1.m形式保存在D:\MATLAB中。命令行程序運行。進入命令窗口,鍵入test1,觀察運行結(jié)果:按上述步驟,在在編輯器中輸入如下函數(shù)文件:functionf=tt(n)%求小于任何正整數(shù)且為2的整數(shù)次冪的正整數(shù)。%c=n(n)%n可取任意正整數(shù)。%%2004年8月。f(1)=2;k=1;whilef(k)<ceil(n/2)%ceil函數(shù)取最近的正整數(shù)f(k+1)=f(k)*2;k=k+1;endf調(diào)試后,將其以test2.m形式保存在D:\MATLAB中。進入命令窗口,鍵入test2(9),觀察程序運行結(jié)果。測試結(jié)果:>>test1f=Columns1through3248Columns4through6163264Columns7through9128256512Column101024k=10>>test2(9);f=2482、編寫一個函數(shù)M文件,計算下面函數(shù)的值,給出標量x的值,調(diào)用該函數(shù)后,返回y的值。選擇一些數(shù)據(jù)測試編寫的函數(shù)。源代碼:.functiony=text3(x)ifx<=0y=sin(x);elseifx>0&x<=3y=x;elsey=-x+6;endend運行結(jié)果:y=1>>y=text3(20)y=-14>>y=text3(-5)y=0.95893、編寫一個函數(shù)M文件,返回向量x中元素的和、平均值、最大值、最小值、均方根值。其中方均根值(RootMeanSquare)的計算公式為:并用下面數(shù)據(jù)測試你寫的函數(shù):x=sin(0:0.01:6*pi)x=rand(1,200),得到的x為200個(0,1)之間均勻分布的隨機數(shù)。源程序:functiony=text4(x)y(1)=sum(x);y(2)=mean(x);y(3)=max(x);y(4)=min(x);y(5)=sqrt(mean(x.^2));end結(jié)果:>>x=sin(0:0.01:6*pi);>>y=text4(x)y=-0.0002-0.00001.0000-1.00000.7071x=rand(1,200),>>x=rand(1,200);>>y=text4(x)y=99.38100.49690.99430.00990.57074、編寫一個函數(shù)M文件,若給出一個向量,函數(shù)返回如下范德蒙矩陣。例如在命令窗口輸入>>v=myvander([2345]),得,同時生成一些數(shù)據(jù)測函數(shù)。源程序:functiony=myvander(x)n=length(x);y=ones(n);fori=2:ny(i,:)=x.^(i-1);endend結(jié)果:>>v=myvander([2345])v=11112345491625827641255、分別使用while和for編寫命令文件,用循環(huán)語句編程計算s值:同時對編寫的文件設(shè)置斷點,觀察變量取值的變化情況。源程序:1while循環(huán)functions=text5while()n=2;s=0;whilen<=10s=s+(n^3-n^2);n=n+1;endend2.for循環(huán)functions=text5()s=0;forn=2:1:10s=s+(n^3-n^2);endend結(jié)果;>>text5()ans=2640>>text5while()ans=26406、數(shù)論中一個有趣的題目:任意一個正整數(shù),若為偶數(shù),則用2除之,若為奇數(shù),則與3相乘再加上1。重復(fù)此過程,最終得到的結(jié)果為1。如:21310516842163105168421建立命令M文件,完成上述功能,要求顯示數(shù)字處理過程。functiony=text6()i=2;n=input('請輸入一個正整數(shù)');y(1)=n;whilen~=1ifrem(n,2)==0n=n/2;elseifrem(n,2)==1n=n*3+1;endy(i)=n;i=i+1;endend結(jié)果:>>text6請輸入一個正整數(shù)25ans=Columns1through1025763819582988442211Columns11through203417522613402010516Columns21through2484217、設(shè)計一個學生身高的管理系統(tǒng),輸出身高的基本分為5等:很高、較高、中等、較矮、矮,其中190cm以上為“很高”,[180cm,190cm)區(qū)間為“較高”,[170cm,180cm)為“中等”,[1160cm,170cm)為“較矮”,160cm以下為“矮”,要求分別用if語句和switch語句實現(xiàn)程序:if語句function[]=text7if(x)ifx>=190disp('很高');elseifx>=180&x<190disp('較高');elseifx>=170&x<180disp('中等');elseifx>=160&x<170disp('較矮');endend2switch語句function[]=text7switch(x)%7/用switch語句實現(xiàn)switchxcasenum2cell(190:300)disp('很高');casenum2cell(180:190)disp('較高');casenum2cell(170:180)disp('中等');casenum2cell(160:170)disp('較矮');otherwisedisp('矮');endend結(jié)果:if語句>>text7if(178)中等>>text7if(185)很高switch語句>>text7switch(178)中等>>text7switch(180)較高>>text7switch(160)很矮8、Fibonacci數(shù)組的元素滿足Fibonacci規(guī)則:ak+2=ak+ak+1,(k=1,2,3,…);且a1=a2=1。請設(shè)計一段程序,求出該數(shù)組中第一個大于10000的元素要求顯示的結(jié)果為:i=21a(i)=10946或者a(21)=10946程序:function[]=text8()a(1)=1;a(2)=1;i=2;whilea(i)<10000i=i+1;a(i)=a(i-2)+a(i-1);enddisp(['i=',num2str(i)]);disp(['a(i)=',num2str(a(i))]);end結(jié)果:>>text8()i=21a(i)=109469、編寫一個函數(shù)文件and.m,用于求兩個輸入矩陣的乘積和點乘,然后在命令行窗口中調(diào)用該函數(shù),要求:當兩矩陣是尺寸相同的方陣時,返回它們的乘積和點乘。當兩矩陣不是尺寸相同的方陣時,則根據(jù)它們的尺寸,分別進行乘積或點乘當兩矩陣的尺寸不能滿足乘積或點乘的要求時,則提示“這兩個矩陣不能乘”程序:function[]=text9(x,y)[a,b]=size(x);[c,d]=size(y);ifa==b&&c==d&&a==cz1=x*y;z2=x.*y;disp(z1);disp(z2);elseifb==cz1=x*y;disp(z1);elseifa==c&&b==dz2=x.*y;disp(z2);elseifb~=cdisp('這兩個矩陣不能乘');EndEnd測試結(jié)果:>>y=[123];>>x=[456];>>text9(x,y)41018>>y=[123];>>x=[12];>>text9(x,y)這兩個矩陣不能乘10、編寫一個階乘函數(shù)factorial.m,然后在如下程序中調(diào)用該函數(shù),“分別使用for和while語句找出最小的n值,使得n!>10100,并求出n!”程序:for循環(huán)function[]=factorialfor()s=1;n=1;forn=1:1000s=s*n;if(s>10100)break;endenddisp(n);endswitch循環(huán)function[]=factorialwhile()n=1;s=1;whiles<=10100n=n+1;s=s*n;enddisp(n);end結(jié)果:>>factorialfor();8>>factorialwhile();811、下列程序用來判斷一個人的體溫是否處于危險狀態(tài)。調(diào)試程序是否正確,如果程序錯誤指出錯誤在哪里?并寫出正確答案。function[]=text10()%UNTITLED6Summaryofthisfunctiongoeshere%Detailedexplanationgoesheretemp=input('請輸入體溫:temp=');iftemp<36.5disp('體溫偏低');elseiftemp>=36.5disp('體溫正常');elseiftemp>38.0disp('體溫偏高!');elseiftemp>39disp('體溫高??!');endend結(jié)果;>>text10請輸入體溫:temp=36.5體溫正常12、使用嵌套for循環(huán)命令創(chuàng)建下列矩陣:程序:function[]=test12()a=zeros(5);fori=1:5a(i,i)=5;forj=1:5ifi==j+1||j==i+1a(i,j)=1;endendenddisp(a);end結(jié)果:>>text12();5100015100015100015100015

實驗四MATLAB繪圖功能一、實驗?zāi)康?、掌握MATLAB二維圖形繪制命令及其圖形控制;2、熟悉MATLAB三維圖形繪制命令及其圖形控制;3、熟悉特殊二維圖形、三維圖形的繪制方法。二、實驗內(nèi)容1、在同一坐標系下繪制下面三個函數(shù)在的圖象,要求三種曲線采用不同顏色以及不同的線型,同時對每條曲線利用函數(shù)進行標注,并添加圖例。代碼:>>t=0:40>>y1=t>>y2=sqrt(t)>>y3=4*pi*exp(-0.1*t).*sin(t)>>plot(t,y1,'r',t,y2,'g',

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論