版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> Matlab應(yīng)用課程設(shè)計任務(wù)書</p><p> 學(xué)生姓名: 專業(yè)班級: </p><p> 指導(dǎo)教師: 工作單位: </p><p> 題 目: Matlab矩陣操作設(shè)計</p><p><b> 課程設(shè)計目的:</b></p&
2、gt;<p> 《Matlab應(yīng)用》課程設(shè)計的目的是為了讓學(xué)生熟悉matlab語言,并且利用matlab語言或者函數(shù)族進行專業(yè)課程理論知識的再現(xiàn),讓學(xué)生體會matlab的強大功能,為今后使用matlab語言奠定基礎(chǔ)。</p><p><b> 課程設(shè)計內(nèi)容和要求</b></p><p> 利用MATLAB-mathematics對矩陣操作進行設(shè)計,
3、具體包括創(chuàng)建(普通、單位、零)矩陣、矩陣加減、矩陣相乘、矩陣的乘方、矩陣除法、矩陣轉(zhuǎn)置、矩陣點乘、求矩陣的特征值和特征向量、矩陣的變形(reshape)、驗證如下函數(shù)的功能:all、any、find、isempty、isequal、xor。</p><p> 要求每個學(xué)生單獨完成課程設(shè)計內(nèi)容,并寫出課程設(shè)計說明書、說明書應(yīng)該包括所涉及到的理論部分和充足的實驗結(jié)果,給出程序清單,最后通過課程設(shè)計答辯。</p
4、><p><b> 時間安排:</b></p><p> 指導(dǎo)教師簽名: 年 月 日</p><p> 系主任(或責(zé)任教師)簽名: 年 月 日</p><p><b> 目 錄</b><
5、/p><p><b> 摘 要1</b></p><p> Abstract2</p><p><b> 1 要求與基礎(chǔ)3</b></p><p> 1.1矩陣操作要求3</p><p> 1.2 MATLAB基礎(chǔ)3</p><p>&
6、lt;b> 2 矩陣操作5</b></p><p><b> 2.1矩陣創(chuàng)建5</b></p><p><b> 2.2矩陣加減8</b></p><p> 2.3 矩陣相乘9</p><p> 2.4矩陣乘方11</p><p> 2
7、.5矩陣除法12</p><p> 2.6矩陣轉(zhuǎn)置13</p><p> 2.7矩陣點乘15</p><p> 2.9矩陣變形17</p><p> 3 函數(shù)功能驗證18</p><p> 3.1Any函數(shù)18</p><p> 3.2All函數(shù)19</p>
8、<p> 3.3Find函數(shù)20</p><p> 3.4Isequal函數(shù)22</p><p> 3.5Isempty函數(shù)23</p><p> 3.6Xor函數(shù)23</p><p><b> 4總結(jié)和心得25</b></p><p><b> 5參
9、考文獻26</b></p><p><b> 摘 要</b></p><p> Matlab是由美國mathworks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多
10、科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計算軟件的先進水平。Matlab可以進行矩陣運算,繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。</p><p> 本次應(yīng)用設(shè)計就是Matlab環(huán)境下的一些基本的矩陣操作
11、和函數(shù)功能練習(xí),展示了如何方便的用Matlab構(gòu)造矩陣,獲取矩陣的相關(guān)信息以及完成矩陣的運算。通過學(xué)習(xí)如何利用MATLAB-mathematics對矩陣操作進行設(shè)計,為將來迅速進入Matlab工程應(yīng)用領(lǐng)域打下基礎(chǔ)。</p><p> 關(guān)鍵詞:Matlab,矩陣操作 </p><p><b> Abstract</b></p><p>
12、Matlab is released by the American mathworks company mainly face of scientific computing, visualization and interactive program design of the high-tech computing environment. It integrates numerical analysis, matrix calc
13、ulation, scientific data visualization and nonlinear dynamic system of modeling and simulation, and many other strong functions in a windows environment which is easy to use. And it offers a comprehensive solution to sci
14、entific research, engineering design, and many fields of sci</p><p> The application design is some basic functions of matrix operations and functions practice under the environment of Matlab, showing how t
15、o conveniently use Matlab to structure matrix, matrix for relevant information, and complete matrix calculations. Learning how to the use the MATLAB-mathematics of matrix operations for design, which give us quick access
16、 to Matlab for the future lay the foundation for engineering applications.</p><p> Key words:Matlab, Matrix operations</p><p><b> 1 要求與基礎(chǔ)</b></p><p><b> 1.1矩陣操作
17、要求</b></p><p> 利用MATLAB-mathematics對矩陣操作進行設(shè)計,具體包括創(chuàng)建(普通、單位、零)矩陣、矩陣加減、矩陣相乘、矩陣的乘方、矩陣除法、矩陣轉(zhuǎn)置、矩陣點乘、求矩陣的特征值和特征向量、矩陣的變形(reshape)、驗證如下函數(shù)的功能:all、any、find、isempty、isequal、xor。</p><p> 說明:用具體的實例說明m
18、atlab的各種矩陣操作</p><p> 1.2 MATLAB基礎(chǔ)</p><p> 啟動Matlab后,進入Matlab的默認桌面(如圖1)。第一行為菜單欄,第二行為工具欄,下面是四個最常用的窗口。中間最大的是命令窗口(Command Window),右上方為工作空間窗口(workspace),左邊為當(dāng)前目錄窗口(Current Folder),右下方為命令歷史窗口(Command
19、 History)。左下角還有一個開始(Start)按鈕,用于快速啟動各類交互界面、桌面工具和幫助等。</p><p> 一、命令窗口(Command Window)</p><p> 是進行Matlab操作最主要的窗口,用于輸入運算命令和數(shù)據(jù)、運行Matlab函數(shù)和腳本并顯示結(jié)果。</p><p> 調(diào)出命令窗口:Desktop桌面->Command
20、Window </p><p> “>>”為輸入函數(shù)的提示符(Prompt) ,在提示符后面輸入數(shù)據(jù)或運行函數(shù);</p><p> 類似的符號“%” ,其后面書寫的是用于解釋的文字,不參與運算。</p><p> 在語句末尾添加分號“;”,可以防止輸出結(jié)果顯示到屏幕上,在創(chuàng)建大矩陣時非常有用。</p><p> ans是a
21、nswer的縮寫,它是matlab默認的系統(tǒng)變量;</p><p> clear為清除工作空間中的變量命令;</p><p><b> clc為清屏命令;</b></p><p> 命令行窗口中顯示數(shù)值計算的結(jié)果有一定的格式,默認為短格式(format short),保留小數(shù)點后4位有效數(shù)字,對于大于1000的數(shù)值,使用科學(xué)計數(shù)法表示。&
22、lt;/p><p> 二、命令歷史窗口(Command History)</p><p> 用于顯示記錄matlab啟動時間和命令窗口中最近輸入的所有matlab指令,可再次執(zhí)行。</p><p> 調(diào)出命令歷史窗口:Desktop桌面-> Command History 或命令窗口中輸入Command History命令。</p><p
23、> 三、工作空間窗口(workspace)</p><p> 由一系列變量組成,可通過使用函數(shù)、運行m文件或載入已存在的工作空間來添加變量。用工作空間窗口可以顯示每個變量的名稱(name)、值(value)、數(shù)組大小(size)、字節(jié)大小(bytes)和類型(class)。</p><p> 調(diào)出工作空間窗口:Desktop桌面->Workspace </p>
24、<p> Who 列出當(dāng)前工作空間中的所有變量;</p><p> Whos 列出變量和它們的大小、類型; </p><p> 可以將工作空間中的部分或全部變量保存到一個二進制文件(.mat)。</p><p> 四、當(dāng)前目錄瀏覽器(Current Folder)</p><p> 顯示當(dāng)前目錄中的所有文件,可以
25、新建文件夾或文件,以及對文件進行排序等操作。</p><p> 調(diào)出當(dāng)前目錄瀏覽器窗口:Desktop菜單->Current Folder或filebrower命令。</p><p><b> 五、菜單和工具欄</b></p><p> 菜單和工具欄類似于Word等其他常用軟件,列出部分常用菜單和工具欄</p><
26、;p><b> 2 矩陣操作</b></p><p><b> 2.1矩陣創(chuàng)建</b></p><p> 2.1.1 原理介紹</p><p><b> 1、直接輸入法</b></p><p> 最簡單的建立矩陣的方法是在命令窗口直接輸入矩陣的元素,比較適合建立
27、較小的矩陣。把矩陣的元素放到一對方括號([])內(nèi),每行的元素用空格或逗號分隔,每行用分號分隔。建立向量的時候可以利用冒號表達式,冒號表達式可以產(chǎn)生一個行向量,一般格式是: e1:e2:e3,其中e1為初始值,e2為步長,e3為終止值。e2省略時步長為1。</p><p> 2、利用MATLAB函數(shù)創(chuàng)建矩陣 </p><p><b> 基本矩陣函數(shù)如下:</b>&l
28、t;/p><p> (1) zeros()函數(shù):產(chǎn)生全為0的矩陣;(2) eye()函數(shù):產(chǎn)生單位陣;(3) ones()函數(shù):產(chǎn)生全為1的矩陣,ones(n):產(chǎn)生n*n維的全1矩陣,ones(m,n):產(chǎn)生m*n維的全1矩陣;(4) rand()函數(shù):產(chǎn)生在(0,1)區(qū)間均勻分布的隨機陣;(5) randn()函數(shù):產(chǎn)生均值為0,方差為1的標準正態(tài)分布隨機矩陣。</p><p>
29、 3、利用m文件建立矩陣</p><p> 當(dāng)矩陣尺寸較大或為經(jīng)常使用的數(shù)據(jù)矩陣,則可以將此矩陣保存為文件,在需要時直接將文件利用load命令調(diào)入工作環(huán)境中使用即可。同時可以利用命令reshape對調(diào)入的矩陣進行重排。reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成m*n的二維矩陣。</p><p> 2.1.2 程序設(shè)計</p><
30、p><b> 1.建立向量</b></p><p><b> a=2:5</b></p><p><b> 2.直接輸入</b></p><p> A=[1,3,5;2,4,6;3,5,7]</p><p><b> 3.全零陣</b>&l
31、t;/p><p> 函數(shù) zerosB= zeros(5) %生成5×5全零陣</p><p> 4.單位陣函數(shù) eyeC= eye(5,4) %生
32、成5×4單位陣D= eye(size(A)) %生成與矩陣A相同大小的單位陣5.全1陣函數(shù) onesE= ones(4,5) %生成4×5全1陣F= ones(size(A))
33、60; %生成與矩陣A相同大小的全1陣</p><p> 6.(0,1)區(qū)間均勻分布的隨機矩陣</p><p> 函數(shù) rand </p><p> G= rand(3) %生成3×3的隨機矩陣</p><p> 7. 均值為0,方差為1的標準正態(tài)
34、分布隨機矩陣</p><p><b> 函數(shù) randn</b></p><p> H= randn(3) %生成3×3的隨機矩陣</p><p><b> 2.1.3輸出結(jié)果</b></p><p><b> 1.向量</b></p>
35、;<p><b> a =</b></p><p> 2 3 4 5</p><p><b> 2.直接輸入</b></p><p><b> A =</b></p><p> 1 3 5</p>&
36、lt;p> 2 4 6</p><p> 3 5 7</p><p><b> 3.全零陣</b></p><p><b> B =</b></p><p> 0 0 0 0 0</p><p>
37、 0 0 0 0 0</p><p> 0 0 0 0 0</p><p> 0 0 0 0 0</p><p> 0 0 0 0 0</p><p><b> 4.單位陣</b>&l
38、t;/p><p><b> C =</b></p><p> 1 0 0 0</p><p> 0 1 0 0</p><p> 0 0 1 0</p><p> 0 0 0 1</p>
39、;<p> 0 0 0 0</p><p><b> D =</b></p><p> 1 0 0</p><p> 0 1 0</p><p> 0 0 1</p><p><b> 5.
40、全1陣</b></p><p><b> E =</b></p><p> 1 1 1 1 1</p><p> 1 1 1 1 1</p><p> 1 1 1 1 1</p><p&
41、gt; 1 1 1 1 1</p><p><b> F =</b></p><p> 1 1 1</p><p> 1 1 1</p><p> 1 1 1</p><p> 6.(0,1)區(qū)間均勻分布的
42、隨機矩陣</p><p><b> G =</b></p><p> 0.7577 0.6555 0.0318</p><p> 0.7431 0.1712 0.2769</p><p> 0.3922 0.7060 0.0462</p><p> 7
43、. 均值為0,方差為1的標準正態(tài)分布隨機矩陣</p><p><b> H =</b></p><p> -2.9443 -0.7549 -0.1022</p><p> 1.4384 1.3703 -0.2414</p><p> 0.3252 -1.7115 0.3192</
44、p><p><b> 2.2矩陣加減</b></p><p><b> 2.2.1原理介紹</b></p><p> 假定有兩個矩陣A和B,則可以由A+B和A-B實現(xiàn)矩陣的加減運算。運算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯誤信
45、息,提示用戶兩個矩陣的維數(shù)不匹配。如果A和B中有一個為標量,則將矩陣中每一個元素和該標量進行加減運算。</p><p> 【語法格式】C=A+B或C=A-B</p><p> 格式變體: C=A+b 或C=A-b b是一個標量值,計算時,A中的每一個元素分別加上或減輕b</p><p><b> 2.2.2程序設(shè)計</b></
46、p><p><b> 例1 </b></p><p> A=[1, 0, 0; 0, 1, 0; 0 ,0, 1];</p><p> B=[8, 1, 6; 3, 5, 7; 4, 9, 2];</p><p><b> C=A+B</b></p><p><b
47、> D=A-B</b></p><p><b> 2.2.3輸出結(jié)果</b></p><p><b> 結(jié)果顯示:</b></p><p><b> C =</b></p><p> 9 1 6</p><p>
48、; 3 6 7</p><p> 4 9 3</p><p><b> D =</b></p><p> -7 -1 -6</p><p> -3 -4 -7</p><p> -4 -9 -1</p>
49、<p><b> 2.3 矩陣相乘</b></p><p><b> 2.3.1原理介紹</b></p><p> 運算規(guī)則:按線性代數(shù)中矩陣乘法運算進行,即放在前面的矩陣的各行元素,分別與放在后面的矩陣的各列元素對應(yīng)相乘并相加。要求矩陣A的列數(shù)和矩陣B的行數(shù)相等。</p><p><b> 向
50、量叉乘</b></p><p> 在數(shù)學(xué)上,兩向量的叉乘是一個過兩相交向量的交點且垂直于兩向量所在平面的向量。在Matlab中,用函數(shù)cross實現(xiàn)。</p><p> 【語法格式】 矩陣乘法C=A*B 向量叉乘C=cross(A,B)</p><p><b> 2.3.2程序設(shè)計</b></p><p&
51、gt;<b> 例1</b></p><p> A= [1,2, 3; 2,3,4];</p><p> B=[1,2;4,5;2,3];</p><p><b> C1=A*B</b></p><p> 例2計算垂直于向量(1, 2, 3)和(4, 5, 6)的向量。</p>
52、<p> A=[1 2 3];</p><p> B=[4 5 6];</p><p> C2=cross(A,B)</p><p><b> D=5*A</b></p><p><b> 2.3.3輸出結(jié)果</b></p><p><b
53、> 例1</b></p><p><b> C1 =</b></p><p><b> 15 21</b></p><p><b> 22 31</b></p><p><b> 例2</b></p>
54、<p><b> C2 =</b></p><p> -3 6 -3</p><p><b> D =</b></p><p> 5 10 15</p><p><b> 2.4矩陣乘方</b></p><p&g
55、t;<b> 2.4.1原理介紹</b></p><p><b> 運算規(guī)則:</b></p><p> ?。?)當(dāng)A為方陣,P為大于0的整數(shù)時,A^P表示A的P次方,即A自乘P次;P為小于0的整數(shù)時,A^P表示A-1的P次方。</p><p> ?。?)標量的數(shù)組乘方P.^A,標量的數(shù)組乘方定義為</p>
56、<p> ?。?)A.^P:表示A的每個元素的P次乘方。</p><p> 【語法格式】 C=A^P C=P.^A C=A.^P ( P為標量)</p><p><b> 2.4.2程序設(shè)計</b></p><p> A=[1, 1, 1; 1, 2, 3; 2, 2, 2];</p>
57、<p><b> C=A^2</b></p><p><b> D=3.^A</b></p><p><b> E=A.^3</b></p><p><b> 2.4.3輸出結(jié)果</b></p><p><b> C =&
58、lt;/b></p><p> 4 5 6</p><p> 9 11 13</p><p> 8 10 12</p><p><b> D =</b></p><p> 3 3 3</p><p>
59、 3 9 27</p><p> 9 9 9</p><p><b> E =</b></p><p> 1 1 1</p><p> 1 8 27</p><p> 8 8 8</p><p
60、><b> 2.5矩陣除法</b></p><p><b> 2.5.1原理介紹</b></p><p> Matlab提供了兩種除法運算:左除(\)和右除(/)。一般情況下,X=A\B是方程A*X =B的解,而X=B/A是方程X*A=B的解。</p><p> 矩陣除法在MATLAB中,有兩種矩陣除法運算:
61、\和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則A\B和B/A運算可以實現(xiàn)。A\B等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。對于含有標量的運算,兩種除法運算的結(jié)果相同。</p><p> 對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系,一般A\B≠B/A。</p><p> 【語法格式】 左除 X
62、=A\B=inv(A)*B 右除 X=B/A=B*inv(A)</p><p><b> 2.5.2程序設(shè)計</b></p><p><b> 例1</b></p><p> A=[1 2 3; 4 6 2; 4 3 2]</p><p> B=[8 1 6;3 5
63、7;4 9 2];</p><p><b> X=A\B</b></p><p> C1=inv(A)*B</p><p><b> Y=B/A</b></p><p> C2= B*inv(A)</p><p><b> 2.5.3輸出結(jié)果</
64、b></p><p><b> X =</b></p><p> -0.2333 3.1667 -1.4333</p><p> -0.3333 -1.3333 1.6667</p><p> 2.9667 0.1667 1.3667</p><p>
65、<b> C1 =</b></p><p> -0.2333 3.1667 -1.4333</p><p> -0.3333 -1.3333 1.6667</p><p> 2.9667 0.1667 1.3667</p><p><b> Y =</b>&
66、lt;/p><p> 0.8000 -2.0000 3.8000</p><p> 2.2000 -0.0000 0.2000</p><p> 0 2.0000 -1.0000</p><p><b> C2 =</b></p><p> 0.8000 -
67、2.0000 3.8000</p><p> 2.2000 -0.0000 0.2000</p><p> 0 2.0000 -1.0000</p><p><b> 2.6矩陣轉(zhuǎn)置</b></p><p><b> 2.6.1原理介紹</b></p>
68、<p> 運算規(guī)則:A的轉(zhuǎn)置為A’。若矩陣A的元素為實數(shù),則與線性代數(shù)中矩陣的轉(zhuǎn)置相同。若A為復(fù)數(shù)矩陣,則A轉(zhuǎn)置后的元素由A對應(yīng)元素的共軛復(fù)數(shù)構(gòu)成。矩陣A的真正轉(zhuǎn)置為A.’,即使A中含有復(fù)數(shù),也不將其轉(zhuǎn)換為共軛。此外,函數(shù)ctranspose(A)的功能與A’相同,transpose(A)的功能與A.’相同。</p><p> 【語法格式】 C=A’ C=A.’</p>
69、<p><b> 2.6.2程序設(shè)計</b></p><p> A=[1 2 3;1-2i 3 4+3i];</p><p><b> B1=A.’</b></p><p> transpose(A)</p><p><b> B2=A’</b>&l
70、t;/p><p> ctranspose(A)</p><p><b> 2.6.3輸出結(jié)果</b></p><p><b> B1 =</b></p><p> 1.0000 1.0000 - 2.0000i</p><p> 2.0000
71、 3.0000 </p><p> 3.0000 4.0000 + 3.0000i</p><p><b> ans =</b></p><p> 1.0000 1.0000 - 2.0000i</p><p> 2.0000
72、 3.0000 </p><p> 3.0000 4.0000 + 3.0000i</p><p><b> B2 =</b></p><p> 1.0000 1.0000 + 2.0000i</p><p> 2.0000
73、 3.0000 </p><p> 3.0000 4.0000 - 3.0000i</p><p><b> ans =</b></p><p> 1.0000 1.0000 + 2.0000i</p><p> 2.0000
74、 3.0000 </p><p> 3.0000 4.0000 - 3.0000i</p><p><b> 2.7矩陣點乘</b></p><p><b> 2.7.1原理介紹</b></p><p> 計算向量或矩陣的點乘
75、(內(nèi)積)</p><p><b> 【語法格式】</b></p><p> 1.C=dot(A,B,dim)</p><p> A與B是大小相同的矩陣或數(shù)組,函數(shù)在dim指定的維數(shù)中計算A與B的內(nèi)積。</p><p> 2.C=dot(A,B)</p><p> 若A與B為向量,返回A與
76、B的內(nèi)積。若A與B為矩陣,對每列計算A與B的內(nèi)積。若A、B為多維數(shù)組,則沿著第一個不為1的維度進行計算。</p><p> 2.7.2程序設(shè)計 </p><p> A=[-1 0 1;3 6 9;6 6 6];</p><p> B=[-2 -1 0;5 7 9;1 2 3];</p><p> C1=dot(A, B,4)&l
77、t;/p><p> C2=dot(A,B)</p><p><b> 2.7.3輸出結(jié)果</b></p><p><b> C1 =</b></p><p> 2 0 0</p><p> 15 42 81</p><p&
78、gt; 6 12 18</p><p><b> C2 =</b></p><p> 23 54 99</p><p> 2.8求矩陣特征值和特征向量</p><p><b> 2.8.1原理介紹</b></p><p> 設(shè)A為n階方陣,
79、 如果數(shù)“”和n維列向量x使得關(guān)系式成立, 則稱為方陣A的特征值, 非零向量x稱為A對應(yīng)于特征值“”的特征向量。</p><p> 在MATLAB中,計算矩陣A的特征值和特征向量的函數(shù)是eig(A)</p><p><b> 【語法格式】</b></p><p> (1) E=eig(A):求矩陣A的全部特征值,按照從大到小的順序構(gòu)成向量
80、E。</p><p> (2) [V,D]=eig(A):該函數(shù)計算矩陣A的特征值和特征向量,返回值V和D為兩個方陣。方陣V的每一列為一個特征向量,方陣D為對角矩陣,對角線上的元素為特征值。 </p><p><b> 2.8.2程序設(shè)計</b></p><p> 例1 A=[8 1 6;3 5
81、60; 7;4 9 2];</p><p> [V,D]=eig(A)</p><p><b> E= eig(A)</b></p><p><b> 2.8.3輸出結(jié)果</b></p><p><b> V =</b></p>&
82、lt;p> -0.5774 -0.8131 -0.3416</p><p> -0.5774 0.4714 -0.4714</p><p> -0.5774 0.3416 0.8131</p><p><b> D =</b></p><p> 15.0000
83、 0 0</p><p> 0 4.8990 0</p><p> 0 0 -4.8990</p><p><b> E =</b></p><p><b> 15.0000</b></p><p><b
84、> 4.8990</b></p><p><b> -4.8990</b></p><p><b> 2.9矩陣變形</b></p><p><b> 2.9.1原理介紹</b></p><p> 在保持矩陣總元素不變的情況下,在MATLAB中可以用
85、函數(shù)reshape()改變矩陣的尺寸。</p><p><b> 【語法格式】</b></p><p> Y=reshape(X,m,n) 將矩陣X轉(zhuǎn)換為m行n列的二維矩陣。</p><p><b> 2.9.2程序設(shè)計</b></p><p><b> 例1</b&
86、gt;</p><p><b> A=[1:15];</b></p><p> B=reshape(A,3,5)</p><p><b> 2.9.3輸出結(jié)果</b></p><p><b> B =</b></p><p> 1 4
87、 7 10 13</p><p> 2 5 8 11 14</p><p> 3 6 9 12 15</p><p><b> 3 函數(shù)功能驗證</b></p><p><b> 3.1Any函數(shù)</b></p&
88、gt;<p><b> 3.1.1原理介紹</b></p><p> Any 判斷數(shù)組任一元素是否為非零</p><p> 【語法格式】B = any(A) </p><p> 沿著數(shù)組不同維檢驗數(shù)組任一元素是否為非零數(shù)或者為邏輯1(真)。如果A是一個向量,當(dāng)A中任一元素為非零數(shù)值或者為邏輯1(真)時,any(A)返回邏輯
89、值1(真),當(dāng)所有元素為0時,返回邏輯值0(假). 如果A是一個矩陣,any(A)把矩陣A的列看作向量,返回包含邏輯值1和0的行向量。 如果A是一個多維數(shù)組,any(A)把沿著第一個非單一維的值看作向量,返回每個向量的邏輯條件。 </p><p> 【語法格式】B = any(A,dim) </p><p> 按照指定的標量dim沿著A的維數(shù)檢驗。</p><p&g
90、t;<b> 3.1.2程序?qū)嵗?lt;/b></p><p> 例1 對一個矩陣用any函數(shù)兩次,any(any(A))。 </p><p> any(any(ones(5)))</p><p><b> 例2 </b></p><p> A=[0 0 0];</p><p
91、><b> any(A) </b></p><p><b> 例3</b></p><p> A=[1 2 3 0;1 5 7 0; 1 0 7 0;0 0 0 0]; </p><p><b> any(A)</b></p><p><b> 3.1
92、.3輸出結(jié)果</b></p><p><b> 例1 </b></p><p><b> ans = </b></p><p><b> 1 </b></p><p><b> 例2</b></p><p>&l
93、t;b> ans =</b></p><p><b> 0</b></p><p><b> 例3</b></p><p><b> ans =</b></p><p> 1 1 1 0</p><p>
94、;<b> 3.2All函數(shù)</b></p><p><b> 3.2.1原理介紹</b></p><p> All 判斷數(shù)組所有元素是否為非零或真值</p><p> 【語法格式】B = all(A) </p><p> 沿著數(shù)組不同維檢驗數(shù)組所有元素是否為非零數(shù)或者為邏輯1(真)。&l
95、t;/p><p> 如果A是一個向量,當(dāng)A中所有元素為非零數(shù)值時,all(A)返回邏輯值1(真),當(dāng)任一素為0時,返回邏輯值0(假). 如果A是一個矩陣,all(A)把矩陣A的列看作向量,返回包含邏輯值1和0的行向量。 如果A是一個多維數(shù)組,all(A)把沿著第一個非單一維的值看作向量,返回每個向量的邏輯條件。</p><p> 【語法格式】B = all(A,dim)</p>
96、<p> 按照指定的標量dim沿著A的維數(shù)檢驗。</p><p><b> 3.2.2程序?qū)嵗?lt;/b></p><p> 例1對一個矩陣用all函數(shù)兩次,all(all(A))。</p><p> all(all(eye(5)))</p><p><b> 例2 </b>&l
97、t;/p><p> A=[1 3 6 0;1 1 7 0; 1 0 2 0;1 0 6 0];</p><p><b> all(A)</b></p><p><b> 3.2.3輸出結(jié)果</b></p><p><b> 例1</b></p><p&g
98、t;<b> ans =</b></p><p><b> 0</b></p><p><b> 例2</b></p><p><b> ans =</b></p><p> 1 0 1 0</p><
99、p><b> 3.3Find函數(shù)</b></p><p><b> 3.3.1原理介紹</b></p><p> Find 數(shù)組元素的查找</p><p> 【語法格式】A = find(X); 的功能是找出數(shù)組X中的所有非零的元素的位置,并且在向量A中返回非零元素的線性索引。</p><
100、p> 如果X是一個行向量,則A也是一個行向量,否則,A是一個列向量。</p><p> 如果X沒有非零元素或者是空數(shù)組,則A為空數(shù)組。</p><p> 利用函數(shù)find( )進行矩陣中元素的查找時,通常和關(guān)系運算和邏輯運算相結(jié)合。</p><p><b> 【語法格式】</b></p><p> i=
101、find(A);該函數(shù)查找矩陣A中的非零元素,函數(shù)返回這些元素的單下標i 。</p><p> [i,j]=find(A);該函數(shù)查找矩陣A中的非零元素,函數(shù)返回這些元素的雙下表i和j 。</p><p><b> 3.3.2程序?qū)嵗?lt;/b></p><p><b> 例1 </b></p><p
102、> A = [1 0 4 -3 0 0 0 8 6]; </p><p> B= find(A) </p><p><b> 例2</b></p><p> A=magic(3); </p><p> i=find(A>=7) %查找≥7的元素的單下表</p><p>&
103、lt;b> 例3</b></p><p> A = [1 0 3 -3 ; 0 0 3 6]; </p><p> [i,j]=find(A)</p><p><b> 3.3.3輸出結(jié)果</b></p><p><b> 例1</b></p><p&
104、gt;<b> B =</b></p><p> 1 3 4 8 9</p><p><b> 例2</b></p><p><b> i =</b></p><p><b> 1</b></p>&
105、lt;p><b> 6</b></p><p><b> 8</b></p><p><b> 例3</b></p><p><b> i =</b></p><p><b> 1</b></p><
106、;p><b> 1</b></p><p><b> 2</b></p><p><b> 1</b></p><p><b> 2</b></p><p><b> j =</b></p><p&
107、gt;<b> 1</b></p><p><b> 3</b></p><p><b> 3</b></p><p><b> 4</b></p><p><b> 4</b></p><p>
108、3.4Isequal函數(shù)</p><p><b> 3.4.1原理介紹</b></p><p> Isequal 若兩數(shù)組相同則為真 </p><p> 【語法格式】TF=isequal(A, B, ...) </p><p> 如果輸入數(shù)組是相同的,則tf=isequal(A, B, ...)返回邏輯1(真),
109、否則返回邏輯0(假)。 非空數(shù)組必須有相同的數(shù)據(jù)類型和大小。</p><p><b> 3.4.2程序?qū)嵗?lt;/b></p><p><b> 例1 </b></p><p> A = [1 3 5; 0 8 0 ];</p><p> B=[0 8 0 ;2 4 6 ];</p>
110、<p> isequal(A,B)</p><p><b> 3.4.3輸出結(jié)果</b></p><p><b> 例1 </b></p><p><b> ans =</b></p><p><b> 0</b></p>
111、;<p> 3.5Isempty函數(shù)</p><p><b> 3.5.1原理介紹</b></p><p> isempty 若是空陣則為真 </p><p> 【語法格式】TF = isempty(A)</p><p> 如果A為空數(shù)組,則返回邏輯1(真),否則返回邏輯0(假
112、)。</p><p><b> 3.5.2程序?qū)嵗?lt;/b></p><p><b> 例1</b></p><p><b> A= [];</b></p><p> isempty(A)</p><p><b> 例2<
113、;/b></p><p> B=[1 2 3];</p><p> isempty(B)</p><p><b> 3.5.3輸出結(jié)果</b></p><p><b> 例1</b></p><p><b> ans =</b></
114、p><p><b> 1</b></p><p><b> 例2</b></p><p><b> ans =</b></p><p><b> 0</b></p><p><b> 3.6Xor函數(shù)</b&g
115、t;</p><p><b> 3.6.1原理介紹</b></p><p><b> Xor求邏輯異或</b></p><p> 【語法結(jié)構(gòu)】C = xor(A, B) </p><p> 對數(shù)組A和B對應(yīng)元素執(zhí)行異或操作。</p><p> 說明 A與B對應(yīng)元素
116、進行異或運算,若相應(yīng)的兩個數(shù)中一個為0,一個非0,則結(jié)果為0,否則為1。在進行異或操作時,兩個數(shù)組的維數(shù)必須相同,反回數(shù)組C與A和B有相同的維數(shù)。</p><p><b> 3.6.2程序?qū)嵗?lt;/b></p><p><b> 例1</b></p><p> A = [0 0 3.5 eps];</p>
117、<p> B = [0 -2.4 0 1]; </p><p> C = xor(A,B)</p><p><b> 例2</b></p><p> A=[0 3 0 4;1 3 5 5];</p><p> B=[1 4 5 3;1 0 7 0];</p><p> C1
118、=xor(A,B)</p><p><b> 3.6.3輸出結(jié)果</b></p><p><b> 例1</b></p><p><b> C =</b></p><p> 0 1 1 0</p><p><b>
119、; 例2 </b></p><p><b> C1 =</b></p><p> 1 0 1 0</p><p> 0 1 0 1</p><p><b> 4總結(jié)和心得</b></p><p> 在這次
120、Matlab課程設(shè)計之前我從來沒有接觸過Matlab,但是我在這學(xué)期的線性代數(shù)課程中學(xué)習(xí)了矩陣的相關(guān)知識,并且了解到有關(guān)矩陣的問題可以用Matlab這個軟件來解決。于是我選擇了矩陣操作設(shè)計這個課題,希望能夠進一歩地學(xué)習(xí)矩陣。</p><p> 選擇這個課題之后,我在圖書館借閱了有關(guān)Matlab的相關(guān)書籍,并且在網(wǎng)上查找了一系列視頻教程和學(xué)習(xí)資料。我邊學(xué)習(xí)書中的知識點邊把書里的程序輸入電腦中調(diào)試,由于有C語言和線
121、性代數(shù)的基礎(chǔ),我很快就對矩陣操作有了基本的了解,并且能夠自己嘗試著自己來寫一些矩陣的操作程序。在學(xué)習(xí)的過程中我也遇到了一些困難,主要是概念的理解問題,如矩陣的乘法和點乘,All和Any檢驗矩陣元素的方式,不過通過查閱相關(guān)的資料我很快解決這些問題。通過這次課程設(shè)計,我提高了自己查閱文獻和檢索資料的能力,了解了Matlab中常用的矩陣操作方法,能夠進行基本的矩陣運算。</p><p> 通過這次學(xué)習(xí)我對矩陣的操作有
122、了清楚的認識,也了解到Matlab軟件與通信工程專業(yè)的緊密聯(lián)系。在以后的學(xué)習(xí)中也要采取這種理論與實踐相結(jié)合的方法,繼續(xù)努力,提高自己的能力。</p><p><b> 5參考文獻</b></p><p> [1]楊丹、趙海濱.《MATLAB從入門到精通》.中國鐵道出版社.2013</p><p> [2]王華、李友軍、劉建存 《MATLA
123、B電子仿真與應(yīng)用教程》.國防工業(yè)出版社.2007</p><p> [3] Vinay K.Ingle.《數(shù)字信號處理及其MATLAB實現(xiàn)》.電子工業(yè)出版社.1998</p><p> [4] 李南南、吳清、曹輝林. MATLAB7簡明教程. 清華大學(xué)出版社.2006</p><p> [5] Sanjit K. Miltra.《Digital Signal
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- matlab課程設(shè)計--matlab的繪圖
- matlab課程設(shè)計
- matlab課程設(shè)計
- matlab課程設(shè)計
- matlab課程設(shè)計 (2)
- matlab課程設(shè)計報告
- matlab課程設(shè)計報告
- matlab課程設(shè)計---matlab程序應(yīng)用與仿真
- matlab課程設(shè)計---利用matlab仿真軟件進行繪圖
- matlab課程設(shè)計——超前校正
- matlab課程設(shè)計--圖像處理
- matlab課程設(shè)計報告 (2)
- matlab課程設(shè)計word格式
- matlab課程設(shè)計實驗體會
- matlab程序設(shè)計 課程設(shè)計
- matlab課程設(shè)計--圖像處理
- 《matlab課程設(shè)計》報告-matlab的基本運算與繪圖
- matlab課程設(shè)計---基于matlab的語音信號處理
- matlab課程設(shè)計報告--matlab gui的音樂鍵盤仿真
- matlab程序設(shè)計 課程設(shè)計 (2)
評論
0/150
提交評論