廣州大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告2matlab程序設(shè)計(jì).doc
《廣州大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告2matlab程序設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《廣州大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告2matlab程序設(shè)計(jì).doc(12頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
廣州大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告 開課學(xué)院及實(shí)驗(yàn)室:機(jī)械與電氣工程學(xué)院 計(jì)算機(jī)樓 301室 2014 年 10 月 30 日 學(xué) 院 機(jī)械與電氣工程學(xué)院 年級(jí)、專業(yè)、班 姓名 學(xué)號(hào) 實(shí)驗(yàn)課程名稱 MATLAB程序設(shè)計(jì) 成績 實(shí)驗(yàn)項(xiàng)目名稱 實(shí)驗(yàn)一 基礎(chǔ)準(zhǔn)備及入門 指 導(dǎo) 教 師 一、實(shí)驗(yàn)?zāi)康? 1、掌握一維數(shù)組的創(chuàng)建方法;掌握一維數(shù)組子數(shù)組的尋訪和賦值方法; 2、掌握二維數(shù)組的創(chuàng)建方法;掌握二維數(shù)組子數(shù)組的尋訪和賦值方法; 3、掌握數(shù)組的各種運(yùn)算,理解數(shù)組運(yùn)算和矩陣運(yùn)算的區(qū)別。 二、實(shí)驗(yàn)原理 1、數(shù)組的創(chuàng)建和尋訪 數(shù)值數(shù)組(Numeric Array)和數(shù)組運(yùn)算(Array Operations)始終是MATLAB的核心內(nèi)容。自MATLAB5.x版起,由于其“面向?qū)ο蟆钡奶卣?,這種數(shù)值數(shù)組(以下簡稱為數(shù)組)成為了MATALB最重要的一種內(nèi)建數(shù)據(jù)類型(Built-in Data Type),而數(shù)組運(yùn)算就是定義在這種數(shù)據(jù)結(jié)構(gòu)上的方法(Method)。 數(shù)組是指實(shí)數(shù)或復(fù)數(shù)組成的長方陣列(Array),可以是一維、二維、三維或更高的維數(shù)。不同維數(shù)的數(shù)組創(chuàng)建和訪問的方法有相同之處,也有不同之處。 一維數(shù)組的創(chuàng)建方法有:(1)逐個(gè)輸入法;(2)冒號(hào)生成法;(3)定數(shù)線性采樣法;(4)定數(shù)對(duì)數(shù)生成法。對(duì)于一維數(shù)組的尋訪,常用的有以下幾種類型:(1)x(3); (2)x([1 2 5]) ;(3)x(1:3) ;(4)x(3:end) ;(5)x(3:-1:1) ;(6)x(find(x>0.5)) ;(7)x([1 2 3 4 4 3 2 1]) 。在這里假設(shè)x是長度為5的一維數(shù)組。 二維數(shù)組則是由實(shí)數(shù)或復(fù)數(shù)排列稱矩形而成。二維數(shù)組和矩陣在數(shù)據(jù)結(jié)構(gòu)上相同;一個(gè)矩形陣列是二維數(shù)組或矩陣取決于所使用的運(yùn)算符號(hào)。二維數(shù)組的創(chuàng)建方法有:(1)直接輸入法,用于生成較小數(shù)組;(2)利用M文件創(chuàng)建和保存數(shù)組,用于經(jīng)常要調(diào)用的數(shù)組,尤其是較大而且復(fù)雜的數(shù)組。對(duì)于二維數(shù)組的尋訪,常用的有以下幾種類型:(1)全下標(biāo)標(biāo)識(shí)法,如A(2,3);(2)單下標(biāo)標(biāo)識(shí)法,如A(10),這種方法比較少用;(3)單下標(biāo)全元素標(biāo)識(shí),如A(:),指的是A的各列按先左后右的次序、首尾相接排成“一維長列”后,得到的一維數(shù)組的全部元素,其結(jié)果是一個(gè)一維列數(shù)組;類似地,也需注意A(r,:)、A(:,c)的含義。(4)“邏輯1”標(biāo)識(shí)。 在MATLAB中,提供了相關(guān)的函數(shù)用作常用的標(biāo)準(zhǔn)數(shù)組的生成,如全0數(shù)組、全1數(shù)組、單位矩陣、對(duì)角陣、均勻分布的隨機(jī)數(shù)組、正態(tài)分布的隨機(jī)數(shù)組等,都有相關(guān)的生成函數(shù)。 對(duì)于一些數(shù)組的特殊操作,MATLAB也提供了相應(yīng)的操作函數(shù)。如提取對(duì)角元素或生成對(duì)角陣、逆時(shí)針旋轉(zhuǎn)二維數(shù)組90度、提取數(shù)組下三角部分、提取數(shù)組上三角部分等,都有相應(yīng)的函數(shù)。在應(yīng)用中注意利用這些函數(shù),可以事半功倍。 2、數(shù)組運(yùn)算 數(shù)組運(yùn)算是指無論在數(shù)組上施加什么運(yùn)算(加減乘除或函數(shù)),總認(rèn)定那種運(yùn)算對(duì)被運(yùn)算數(shù)組中的每個(gè)元素平等地實(shí)施同樣的操作。數(shù)組運(yùn)算包括加、減、乘、除、乘方等,除加減外,數(shù)組之間進(jìn)行乘、除、乘方都必須在運(yùn)算符號(hào)前加“.”,否則視為矩陣運(yùn)算。此外,數(shù)組運(yùn)算還包括轉(zhuǎn)置、關(guān)系運(yùn)算和邏輯運(yùn)算。 除了以運(yùn)算符號(hào)執(zhí)行數(shù)組運(yùn)算外,也可以對(duì)數(shù)組施加函數(shù),以函數(shù)形式進(jìn)行數(shù)組運(yùn)算。如對(duì)數(shù)組X執(zhí)行函數(shù)f的運(yùn)算:,其中X為m行n列的數(shù)組。執(zhí)行數(shù)組運(yùn)算的常用函數(shù)有三角函數(shù)和雙曲函數(shù)、指數(shù)函數(shù)、復(fù)數(shù)函數(shù)、圓整函數(shù)和求余函數(shù)、坐標(biāo)變換函數(shù)等。 三、實(shí)驗(yàn)內(nèi)容 1、一維數(shù)組的創(chuàng)建 (1)、利用逐個(gè)輸入法、冒號(hào)生成法以及定數(shù)線性采樣法創(chuàng)建以下一維數(shù)組: X1=[1,2,3,4,5,6,7,8,9,10] (2)、利用冒號(hào)生成法創(chuàng)建以下數(shù)組: X2=(1,2,3,4,9,8,7,6,5) (3)、利用定數(shù)對(duì)數(shù)生成法創(chuàng)建一個(gè)第一個(gè)元素為10,最后一個(gè)元素為100,元素個(gè)數(shù)為51的一維數(shù)組X3。 2、 一維數(shù)組子數(shù)組的尋訪和賦值 以冒號(hào)生成法創(chuàng)建一個(gè)第一個(gè)元素為0,步長為0.1,最后一個(gè)元素為2的一維數(shù)組X4,并寫出尋訪或賦值的以下指令: a、 尋訪X4的第6個(gè)元素; b、 同時(shí)尋訪X4的第2、5、7個(gè)元素; c、 尋訪前3個(gè)元素組成的子數(shù)組; d、 尋訪除前3個(gè)元素外的全部的其他元素; e、 由后三個(gè)元素倒排構(gòu)成的子數(shù)組; f、 由大于0.5的元素構(gòu)成的子數(shù)組; g、 把第三個(gè)元素重新賦值為0; 把當(dāng)前x數(shù)組的第一、四個(gè)元素都賦值為1。 3、二維數(shù)組的創(chuàng)建,子數(shù)組的尋訪和賦值 創(chuàng)建一個(gè)M文件(文件名為myMatrix.m),定義一個(gè)二維數(shù)組A,第一行為11至15、30至26共10個(gè)元素,第二行為1~10共10個(gè)元素。然后運(yùn)行改M文件,生成數(shù)組AM,并按以下方式尋訪該數(shù)組: (1) 尋訪A的第一行; (2) 尋訪A的第三列; (3) 同時(shí)尋訪A的第三列和第五列; (4) 把A的各列按自左至右的次序,首尾相接生成一個(gè)“一維長列”; (5) 把A的第1行第1列、第2行第2列以及第1行第5列的元素重新賦值為10、20、30; (6) 把A的第二行賦值為11~20。 4、標(biāo)準(zhǔn)數(shù)組的生成和數(shù)組操作函數(shù) 生成以下數(shù)組或矩陣: (1)長度為4的全1行數(shù)組和44的全1行數(shù)組; (2)5階單位陣; (3)生成一矩陣A,第一行為1、2,第二行為3、4;并使用diag函數(shù)生成A的對(duì)角線元素所組成的對(duì)角陣。 (4)生成一維數(shù)組A,其值為1~10,并使用reshape函數(shù)把其重排成25的數(shù)組B; (5)使用flipdim和fliplr函數(shù)對(duì)B進(jìn)行翻轉(zhuǎn)操作,從返回結(jié)果觀察和總結(jié)各個(gè)函數(shù)的作用。 注:flipdim的調(diào)用方式為:flipdim(B,1)和flipdim(B,2);其他均為function(B). 5、數(shù)組運(yùn)算和矩陣運(yùn)算 生成以下矩陣,,并進(jìn)行以下計(jì)算: (1) B的第二列乘以A的第一列; (2) 使用MATLAB幫助系統(tǒng)查閱max函數(shù)的使用方法,并使用它求解B中的第二列與A中的第一列逐行元素相乘所得矢量中的最大值。 提示:ln函數(shù)在matlab中為log 6、多項(xiàng)式的表達(dá)方式及其操作 (1) 求根為5,2+i,2-i,2,3的對(duì)應(yīng)線性方程表達(dá)式。 (2) 求以下有理分式部分分式展開式,寫出求解代碼,并根據(jù)返回結(jié)果寫出展開式的數(shù)學(xué)表達(dá)式 (3) 使用roots函數(shù)求方程3x7+2x-1=0的根。 四、實(shí)驗(yàn)過程、結(jié)果(程序和運(yùn)行結(jié)果截屏)和分析 1、一維數(shù)組的創(chuàng)建 (1)、利用逐個(gè)輸入法、冒號(hào)生成法以及定數(shù)線性采樣法創(chuàng)建以下一維數(shù)組: X1=[1,2,3,4,5,6,7,8,9,10] (2)、利用冒號(hào)生成法創(chuàng)建以下數(shù)組: X2=(1,2,3,4,9,8,7,6,5) (3)、利用定數(shù)對(duì)數(shù)生成法創(chuàng)建一個(gè)第一個(gè)元素為10,最后一個(gè)元素為100,元素個(gè)數(shù)為51的一維數(shù)組X3。 >> X1=[1,2,3,4,5,6,7,8,9,10] X1 = 1 2 3 4 5 6 7 8 9 10 >> X2=[1:4,9:-1:5] X2 = 1 2 3 4 9 8 7 6 5 >> X3=logspace(1,2,51) X3 = Columns 1 through 7 10.0000 10.4713 10.9648 11.4815 12.0226 12.5893 13.1826 Columns 8 through 14 13.8038 14.4544 15.1356 15.8489 16.5959 17.3780 18.1970 Columns 15 through 21 19.0546 19.9526 20.8930 21.8776 22.9087 23.9883 25.1189 Columns 22 through 28 26.3027 27.5423 28.8403 30.1995 31.6228 33.1131 34.6737 Columns 29 through 35 36.3078 38.0189 39.8107 41.6869 43.6516 45.7088 47.8630 Columns 36 through 42 50.1187 52.4807 54.9541 57.5440 60.2560 63.0957 66.0693 Columns 43 through 49 69.1831 72.4436 75.8578 79.4328 83.1764 87.0964 91.2011 Columns 50 through 51 95.4993 100.0000 >> 2.一維數(shù)組子數(shù)組的尋訪和賦值 以冒號(hào)生成法創(chuàng)建一個(gè)第一個(gè)元素為0,步長為0.1,最后一個(gè)元素為2的一維數(shù)組X4,并寫出尋訪或賦值的以下指令: a.尋訪X4的第6個(gè)元素; b.同時(shí)尋訪X4的第2、5、7個(gè)元素; c.尋訪前3個(gè)元素組成的子數(shù)組; d.尋訪除前3個(gè)元素外的全部的其他元素; e.由后三個(gè)元素倒排構(gòu)成的子數(shù)組; f.由大于0.5的元素構(gòu)成的子數(shù)組; g.把第三個(gè)元素重新賦值為0; h.把當(dāng)前x數(shù)組的第一、四個(gè)元素都賦值為1。 >> X4=0:0.1:2 X4 = Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 14 0.7000 0.8000 0.9000 1.0000 1.1000 1.2000 1.3000 Columns 15 through 21 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 >> X4(6) ans = 0.5000 >> X4([2 5 7]) ans = 0.1000 0.4000 0.6000 >>X4(1:3) ans = 0 0.1000 0.2000 >> X4(4:end) ans = Columns 1 through 6 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 Columns 7 through 12 0.9000 1.0000 1.1000 1.2000 1.3000 1.4000 Columns 13 through 18 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 >> X4(end:-1:end-2) ans = 2.0000 1.9000 1.8000 >> X4(find(X4>0.5)) ans = Columns 1 through 8 0.6000 0.7000 0.8000 0.9000 1.0000 1.1000 1.2000 1.3000 Columns 9 through 15 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 >> X4(3)=[0] X4 = Columns 1 through 6 0 0.1000 0 0.3000 0.4000 0.5000 Columns 7 through 12 0.6000 0.7000 0.8000 0.9000 1.0000 1.1000 Columns 13 through 18 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 Columns 19 through 21 1.8000 1.9000 2.0000 >> X4([1 4])=([1,1]) X4 = Columns 1 through 8 1.0000 0.1000 0.2000 1.0000 0.4000 0.5000 0.6000 0.7000 Columns 9 through 16 0.8000 0.9000 1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 Columns 17 through 21 1.6000 1.7000 1.8000 1.9000 2.0000 3、二維數(shù)組的創(chuàng)建,子數(shù)組的尋訪和賦值 創(chuàng)建一個(gè)M文件(文件名為myMatrix.m),定義一個(gè)二維數(shù)組A,第一行為11至15、30至26共10個(gè)元素,第二行為1~10共10個(gè)元素。然后運(yùn)行改M文件,生成數(shù)組AM,并按以下方式尋訪該數(shù)組: (7) 尋訪A的第一行; (8) 尋訪A的第三列; (9) 同時(shí)尋訪A的第三列和第五列; (10) 把A的各列按自左至右的次序,首尾相接生成一個(gè)“一維長列”; (11) 把A的第1行第1列、第2行第2列以及第1行第5列的元素重新賦值為10、20、30; (12) 把A的第二行賦值為11~20。 A=[11:15,30:-1:26;1:10] A(1,:) A(:,3) A(:,[3,5]) reshape(A,1,[]) A([1 12 5])=([10 20 30]) A(2,:)=11:20 A = 11 12 13 14 15 30 29 28 27 26 1 2 3 4 5 6 7 8 9 10 ans = 11 12 13 14 15 30 29 28 27 26 ans = 13 3ans = 13 15 3 5 ans = Columns 1 through 13 11 12 13 14 15 30 29 28 27 26 1 2 3 Columns 14 through 20 4 5 6 7 8 9 10 A = 10 12 30 14 15 30 29 28 27 26 1 2 3 4 5 20 7 8 9 10 A = 10 12 30 14 15 30 29 28 27 26 11 12 13 14 15 16 17 18 19 20 4、標(biāo)準(zhǔn)數(shù)組的生成和數(shù)組操作函數(shù) 生成以下數(shù)組或矩陣: (1)長度為4的全1行數(shù)組和44的全1行數(shù)組; (2)5階單位陣; (3)生成一矩陣A,第一行為1、2,第二行為3、4;并使用diag函數(shù)生成A的對(duì)角線元素所組成的對(duì)角陣。 (4)生成一維數(shù)組A,其值為1~10,并使用reshape函數(shù)把其重排成25的數(shù)組B; (5)使用flipdim和fliplr函數(shù)對(duì)B進(jìn)行翻轉(zhuǎn)操作,從返回結(jié)果觀察和總結(jié)各個(gè)函數(shù)的作用。 注:flipdim的調(diào)用方式為:flipdim(B,1)和flipdim(B,2);其他均為function(B). >> ones(1,4) ans = 1 1 1 1 >> ones(4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >> eye(5) ans = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 >> A=[1,2;3,4] A = 1 2 3 4 >> B=diag(A) B = 1 4 >> A=[1:10] A = 1 2 3 4 5 6 7 8 9 10 >> B=reshape(A,2,5) B = 1 3 5 7 9 2 4 6 8 10 >> flipdim(B,1) ans = 2 4 6 8 10 1 3 5 7 9 >> flipdim(B,2) ans = 9 7 5 3 1 10 8 6 4 2 >> fliplr(B) ans = 9 7 5 3 1 10 8 6 4 2 5、數(shù)組運(yùn)算和矩陣運(yùn)算 生成以下矩陣,,并進(jìn)行以下計(jì)算: (3) B的第二列乘以A的第一列; (4) 使用MATLAB幫助系統(tǒng)查閱max函數(shù)的使用方法,并使用它求解B中的第二列與A中的第一列逐行元素相乘所得矢量中的最大值。 提示:ln函數(shù)在matlab中為log A=[1 4 2;2 4 100;7 9 7;3 pi 42] A = 1.0000 4.0000 2.0000 2.0000 4.0000 100.0000 7.0000 9.0000 7.0000 3.0000 3.1416 42.0000 >> B=log(A) B = 0 1.3863 0.6931 0.6931 1.3863 4.6052 1.9459 2.1972 1.9459 1.0986 1.1447 3.7377 >> C=B(:,2).*A(:,1) C = 1.3863 2.7726 15.3806 3.4342 >> y=max(C) y = 15.3806 A=[1 4 2;2 4 100;7 9 7;3 pi 42] A = 1.0000 4.0000 2.0000 2.0000 4.0000 100.0000 7.0000 9.0000 7.0000 3.0000 3.1416 42.0000 >> B=log(A) B = 0 1.3863 0.6931 0.6931 1.3863 4.6052 1.9459 2.1972 1.9459 1.0986 1.1447 3.7377 >> C=B(:,2).*A(:,1) C = 1.3863 2.7726 15.3806 3.4342 >> y=max(C) y = 15.3806 6、多項(xiàng)式的表達(dá)方式及其操作 (4) 求根為5,2+i,2-i,2,3的對(duì)應(yīng)線性方程表達(dá)式。 (5) 求以下有理分式部分分式展開式,寫出求解代碼,并根據(jù)返回結(jié)果寫出展開式的數(shù)學(xué)表達(dá)式 (6) 使用roots函數(shù)求方程3x7+2x-1=0的根。 (1) >> x=[5,2+i,2-i,2,3]; >> A=poly(x) A =. 1 -14 76 -204 275 -150 (2) >> A=[1,0,1,0,1,1]; >> B=[1,1,-2,1]; >> [P,r]=deconv(A,B) P = 1 -1 4 r = 0 0 0 -7 10 -3 >> fx=poly2str(P,x) fx = x^2 - 1 x + 4 (3) >> P=[3,0,0,0,0,0,2,-1]; >> x=roots(P) x = -0.8756 + 0.4740i -0.8756 - 0.4740i -0.0740 + 0.9556i -0.0740 - 0.9556i 0.7046 + 0.5007i 0.7046 - 0.5007i 0.4898 + 0.0000i 五、實(shí)驗(yàn)心得 本次實(shí)驗(yàn)中初步接觸了數(shù)組與矩陣的創(chuàng)建和操作。在實(shí)驗(yàn)過程中,由于對(duì)公式不熟悉,花費(fèi)了很多時(shí)間,但比第一次做感覺輕松很多。我總結(jié)出做該課程需要十分細(xì)心,特別要注意標(biāo)點(diǎn)符號(hào)的大小寫,稍微弄錯(cuò)就無法得出正確結(jié)果。同時(shí),做題過程我發(fā)現(xiàn)matlab與C語言相比有相同點(diǎn),也有很大不同,比如分號(hào)的使用,因此不能完全用C語言的思想做該課程。通過這次做報(bào)告,我對(duì)這門課程的興趣更加濃烈了,但也發(fā)現(xiàn)對(duì)這門課程了解太少,以后需要多花時(shí)間學(xué)習(xí),多動(dòng)手操作以取得更大進(jìn)步。- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 廣州大學(xué) 學(xué)生 實(shí)驗(yàn) 報(bào)告 matlab 程序設(shè)計(jì)
鏈接地址:http://www.820124.com/p-8063614.html