第一篇:MATLAB實驗指導書
MATLAB及其應(yīng)用
實驗指導書
物理與信息工程系
目錄
實驗一 MATLAB編程環(huán)境..............................................3 實驗二 矩陣基本運算
(一)..........................................5 實驗三 矩陣基本運算
(二)..........................................7 實驗四 矩陣分析...................................................9 實驗五 分支結(jié)構(gòu)程序設(shè)計..........................................11 實驗六 循環(huán)結(jié)構(gòu)程序設(shè)計..........................................13 實驗七 文件操作..................................................15 實驗八 二維曲線的繪制............................................17 實驗九 三維曲線和曲面的繪制......................................19 實驗十 MATLAB數(shù)據(jù)統(tǒng)計處理........................................21 實驗十一 多項式四則運算..........................................23 實驗十二 線性方程組求解及函數(shù)求極值.............................25 實驗一 MATLAB編程環(huán)境
一、實驗?zāi)康?/p>
1.熟悉MATLAB編程環(huán)境
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.首先應(yīng)熟悉MATLAB7.0運行環(huán)境,正確操作 2.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)命令窗口的使用。(2)工作空間窗口的使用。(3)工作目錄、搜索路徑的設(shè)置。(4)命令歷史記錄窗口的使用。(5)幫助系統(tǒng)的使用。(6)了解各菜單的功能。2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會 實驗二 矩陣基本運算
(一)一、實驗?zāi)康?/p>
1.通過實驗,進一步熟悉MATLAB編程環(huán)境 2.通過實驗掌握建立矩陣的幾種方法 3.通過實驗理解常用的矩陣運算
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.首先應(yīng)熟悉MATLAB7.0運行環(huán)境,正確操作 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)設(shè)A和B是兩個同維同大小的矩陣,問:
1)A*B和A.*B的值是否相等? 2)A./B和B.A的值是否相等?
3)A/B和BA的值是否相等?操作過程參照教材中除法的矩陣生成。4)A/B和BA所代表的數(shù)學含義是什么?(2)寫出完成下列操作的命令。
1)將矩陣A第2—5行中第1,3,5列元素賦給矩陣B。2)刪除矩陣A的第7號元素。3)將矩陣A的每個元素值加30。4)求矩陣A的大小和維數(shù)。(3)下列命令執(zhí)行后,L1、L2、L3、L4的值分別是多少/ A=1:9;B=10-A;L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會 實驗三 矩陣基本運算
(二)一、實驗?zāi)康?/p>
1.熟悉矩陣的建立方式 2.理解矩陣拆分的方法
3.通過實驗進一步掌握矩陣的基本運算
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
??15?4??83?1??,B??253? 078(1)已知A??????????320???3617??求下列表達式的值:
1)A+6B和A2-B+I(I為單位矩陣,matlab中使用eye來生成)2)A*B,A.*B和B*A 3)A/B和BA
4)[A,B]和 [A([1,3],:);B^2](2)已知
?0.7780??2310?41?45?655?,取出其前三行構(gòu)成矩陣B,其前兩列構(gòu)成矩A???325032???543.14??6?9.54陣C,其右下角3×2子矩陣構(gòu)成矩陣D,B與C的乘積構(gòu)成矩陣E,分別求E
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
實驗四
矩陣分析
一、實驗?zāi)康?/p>
1.學會求矩陣的對角線元素、對角陣和逆矩陣 2.學會求矩陣的行列式的值、秩 3.學會求矩陣的特征值和特征向量 4.通過練習熟悉矩陣分析方法
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)使用函數(shù),實現(xiàn)方陣左旋90°或右旋90°的功能。例如,原矩陣為A,A左旋后得到B,右旋后得到C。使用函數(shù)rot90(A,k)來實現(xiàn);
?101112??32?14710??789??65?,???A??25811??B??456?,C??98?????36912??123???12111?4?? 7??10?(2)建立一個方陣A,求A的逆矩陣和A的行列式的值,并驗證A與A-1是互逆的。A的逆(inv(A));A的行列式(det(A))(3)求下列矩陣的主對角線元素、上三角陣、下三角陣、秩和跡。參考教材
?1?12?51?41)A???305??111503?0.43432?2??
2)B????8.9421? 2????9?(4)求矩陣A的特征值。參考教材
10.5??1? A??110.25????0.50.252??2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會 實驗五
分支結(jié)構(gòu)程序設(shè)計
一、實驗?zāi)康?/p>
1.理解MATLAB的編程方法
2.掌握if語句和switch語句的使用 3.掌握分支結(jié)構(gòu)程序設(shè)計方法
4.通過練習理解MATLAB編程方法和分支結(jié)構(gòu)程序設(shè)計方法。
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)從鍵盤輸入一個數(shù),將它反向輸出,例如輸入693,輸出為396(2)輸入一個百分制成績,要求輸出成績等級A,B,C,D,E其中90-100位A,80-89為B,70-79為C,60-69為D,60以下為E 1)分別用if語句和switch語句實現(xiàn)
2)輸入百分制成績后要判斷成績的合理性,對不合理的成績應(yīng)輸出出錯信息
2.實驗步驟(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會 實驗六
循環(huán)結(jié)構(gòu)程序設(shè)計
一、實驗?zāi)康?/p>
1、理解循環(huán)控制結(jié)構(gòu)的執(zhí)行過程
2、掌握for語句和while語句的使用
3、掌握循環(huán)結(jié)構(gòu)程序設(shè)計方法
4、通過練習進一步理解MATLAB的編程方法和循環(huán)結(jié)構(gòu)程序設(shè)計方法
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)編寫程序?qū)崿F(xiàn)求兩矩陣A.*B.(2)編寫程序?qū)崿F(xiàn)求矩陣的轉(zhuǎn)置。2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
實驗七
文件操作
一、實驗?zāi)康?/p>
1、掌握文件的建立、打開與關(guān)閉和文件的讀寫操作
2、理解文件定位操作
3、通過練習理解文件的基本操作
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 4.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)以讀寫方式打開二進制格式數(shù)據(jù)文件,將浮點數(shù)X添加到文件末尾,將文件內(nèi)容以浮點數(shù)格式讀入變量Z,將文本文件的第二行讀入變量H,向文件尾部移動文件指針6個字節(jié)。
sin(x?1.7)ln??x,當x取-3.0、-2.9、-2.8、…、2.8、2.9、3.0時,(2)已知y?21?cos(x?1.7)求各點的函數(shù)值。要求:將函數(shù)值輸出到一個數(shù)據(jù)文件中;從數(shù)據(jù)文件中讀出數(shù)據(jù),求各點函數(shù)值的平均值;將平均值添加到數(shù)據(jù)文件末尾。(3)編寫程序,該程序能讀取一個文本文件,并能將文本文件中的小寫字母轉(zhuǎn)換為相應(yīng)的大寫字母而生成一個新的文本文件。2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
實驗八
二維曲線的繪制
一、實驗?zāi)康?/p>
1、理解MATLAB繪圖方法
2、掌握繪制二維數(shù)據(jù)曲線圖的方法
3、掌握用plot函數(shù)和fplot函數(shù)繪制曲線的方法
4、通過練習掌握繪制二維數(shù)據(jù)曲線圖的方法和plot函數(shù)和fplot函數(shù)的使用
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 4.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)繪制下列曲線:
x1①y?x?
②y?e32?3x22?x?rsint
③x?2y?6④?
y?rcost?22(2)通過用plot和fplot函數(shù)繪制y?sin1的曲線,并分析其區(qū)別。x解釋:fplot函數(shù)的調(diào)用格式為: fplot(fname,lims,tol,選項)
其中fname為函數(shù)名,以字符串形式出現(xiàn),lims為x,y的取值范圍,tol為相對允許誤差,其系統(tǒng)默認值為2e-3。選項定義與plot函數(shù)相同。2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會 實驗九
三維曲線和曲面的繪制
一、實驗?zāi)康?/p>
1、理解三維曲線的繪制
2、理解曲面圖的繪制
3、通過練習熟悉三維曲線和曲面圖的繪制方法
二、實驗器材
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.自主編寫程序,必要時參考相關(guān)資料 2.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)繪制下列三維曲線
?x?e?t/20cost??t/201)?y?esint,0?t?2?
2)?z?t?(2)繪制下列曲面圖
1)z=5,|x|≤5,|y|≤5
2)f(x,y)???x?t?2?y?t,0?t?1 ?z?t3?51?x?y22,x?3,y?3
2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(4)編輯程序并進行保存。
(5)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(6)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會 實驗十
MATLAB數(shù)據(jù)統(tǒng)計處理
一、實驗?zāi)康?/p>
1、掌握MATLAB求最大最小值的方法
2、掌握MATLAB求均值與方差的方法
3、通過練習以下內(nèi)容熟悉數(shù)據(jù)統(tǒng)計處理的幾種方法
二、實驗器材
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.自主編寫程序,必要時參考相關(guān)資料 2.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
利用MATLAB提供的rand函數(shù)生成30000個符合均勻分布的隨機數(shù),然后檢驗隨機數(shù)的性質(zhì):均值mean和標準方差std;最大元素max和最小元素min;大于0.5的隨機數(shù)個數(shù)占總數(shù)的百分比 2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(4)編輯程序并進行保存。
(5)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。(6)檢查程序輸出結(jié)果。
五、實驗報告要求
1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會 實驗十一
多項式四則運算
一、實驗?zāi)康?/p>
1、掌握多項式求值、求根的方法
2、理解多項式四則運算
3、通過練習熟悉多項式四則運算和多項式求值、求根的方法
二、實驗器材
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.自主編寫程序,必要時參考相關(guān)資料 2.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
4322有3個多項式P1(x)?x?2x?4x?5,P2(x)?x?2,P3(x)?x?2x?3,1)求P(x)= P1(x)+ P2(x)P3(x)2)求P(x)的根
3)當x取矩陣A的每一元素時,求P(x)的值,其中
??11.2?1.4?? A??0.7523.5???52.5??0?4)當以矩陣A為自變量時,求P(x)的值 2.實驗步驟(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(4)編輯程序并進行保存。
(5)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(6)檢查程序輸出結(jié)果。
五、實驗報告要求
1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會 實驗十二
線性方程組求解及函數(shù)求極值
一、實驗?zāi)康?/p>
1、理解線性方程組求解方法
2、理解函數(shù)求極值方法
3、通過練習以下內(nèi)容熟悉求解線性方程組的方法和函數(shù)求極值的方法
二、實驗器材
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.自主編寫程序,必要時參考相關(guān)資料 2.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)求下列方程組的解
?2x?3y?5z?10?1)?3x?7y?4z?2)
?x?7y?z?5??6x1?5x2?2x3?5x4??4?9x?x?4x?x?13?1234 ?3x?4x?2x?2x?1234?1??3x1?9x2?2x4?11(2)求下列函數(shù)在指定區(qū)間的最大值
1?x2,x?(0,2)
2)f(x)?sinx?cosx2,x?(0,?)1)f(x)?41?x2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(4)編輯程序并進行保存。
(5)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(6)檢查程序輸出結(jié)果。
五、實驗報告要求
1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
第二篇:《MATLAB應(yīng)用技術(shù)》實驗指導書
M A T L A B 實 驗 指 導 書
電子信息工程學院
2012.02
目錄
實驗一
MATLAB安裝與界面............................................................................................1 實驗二
MATLAB符號計算與應(yīng)用.....................................................................................2 實驗三
MATLAB數(shù)值數(shù)組與向量化運算..........................................................................4 實驗四
MATLAB數(shù)值計算................................................................................................7 實驗五
MATLAB可視化.................................................................................................10 實驗六
M文件及MATLAB綜合應(yīng)用..............................................................................16
實驗一
Matlab安裝與界面
【實驗?zāi)康摹?【實驗原理】
1.安裝MATALB軟件,并按理論教學內(nèi)容逐一熟悉軟件界面及軟件特點。
【實驗儀器】
1.配置在PIV2.0GHZ/512MB以上的PC機; 2.MATALB7.0以上版本軟件。
【實驗內(nèi)容及步驟】
1.完成MATLAB軟件安裝; 2.熟悉MATLAB運行環(huán)境。(1)命令窗口的使用。
(2)工作空間窗口的使用。
(3)工作目錄、搜索路徑的設(shè)置。(4)命令歷史記錄窗口的使用。(5)了解各菜單的功能。
3.圖示復數(shù)z1?4?3i,z2?1?2i的和展示MATLAB的可視化能力;
4.畫出衰減振蕩曲線y?esin3t,t的取值范圍是[0,4?];展示數(shù)組運算的優(yōu)點及MATLAB的可視化能力。
5.創(chuàng)建一個M文件,輸入步驟4的相關(guān)程序,運行程序并變換名稱保存,將工作空間中的y變量的MAT文件變換路徑輸出保存,然后再向內(nèi)存裝載MAT文件。
6.以命令窗口中輸入help Laplace、help瀏覽器中搜索兩種方式體會MATLAB幫助系統(tǒng)的特點和功能。
?t3
【實驗報告要求】
1.整理實驗結(jié)果。2.總結(jié)實驗心得體會
/ 17
實驗二
Matlab符號計算與應(yīng)用
【實驗?zāi)康摹?/p>
1.掌握MATLAB符號計算的基本語法規(guī)則
2.掌握MATLAB符號計算求解微積分、線性代數(shù)問題 3.熟悉MATLAB符號計算在信號處理領(lǐng)域的應(yīng)用
【實驗原理】
1.以MATALB與MuPAD庫函數(shù)間符號計算機理和基本的微積分運算原理為基礎(chǔ),研究常見的工程定解問題以及連續(xù)信號處理問題。
【實驗儀器】
1.配置在PIV2.0GHZ/512MB以上的PC機; 2.MATALB7.0以上版本軟件。
【實驗內(nèi)容及步驟】
1.運行下列代碼比較符號(類)數(shù)字與數(shù)值(類)數(shù)字之間的差異。a=pi+sqrt(5)
sa=sym('pi+sqrt(5)')
Ca=class(a)
Csa=class(sa)
vpa(sa-a)
2.熟悉simple命令并簡化f?
31612???8。x3x2x?ab?3.對符號矩陣??進行特征向量分解,并嘗試置換操作。
cd??
4.用簡單算例演示subs的常見置換規(guī)則。
5.試用符號計算求lim?1? ?x???1??x2?kx2。
/ 17
??f1??x??x1ex2?1????f2x26.試用符號計算求f(x1,x2)??的Jacobian矩陣???x1?cos(x1)sin(x2)???f???3??x1??1(?1)k?,7.試用符號計算求?[t,k],??。?2k?k?1?(2k?1)t?0t?13??f1??x2???f2?。??x2?f3???x2??
8.試用符號計算求積分
9.根據(jù)Fourier變換定義,用積分指令求方波脈沖y??換,并作圖顯示。
10.試用符號計算求d?線性方程組的解。
??? 1 2 x2 x2y x xy(x2?y2?z2)dzdydx。
?2?0?3/2?t?3/2的Fourier變
elsenpn??q,n?d?q?p?10,q?d??p,q?p?n?8d?1224【實驗報告要求】
1.整理實驗結(jié)果。
2.總結(jié)實驗心得體會
/ 17
實驗三
Matlab數(shù)值數(shù)組與向量化運算
【實驗?zāi)康摹?/p>
1.掌握MATLAB二維數(shù)值數(shù)組的創(chuàng)建和尋訪 2.掌握MATLAB數(shù)組運算和向量化編程
3.掌握常用標準數(shù)組生成函數(shù)和數(shù)組構(gòu)作技法 4.數(shù)NaN、“空”數(shù)組概念和應(yīng)用;關(guān)系和邏輯操作及應(yīng)用
【實驗原理】
1.在MATALB中,幾乎所有運算對象均被視為一種廣義的矩陣,而在進行大規(guī)模數(shù)值計算時,將循環(huán)運算轉(zhuǎn)化為矩陣運算可節(jié)約代碼量、提高程序運行效率。
【實驗儀器】
1.配置在PIV2.0GHZ/512MB以上的PC機; 2.MATALB7.0以上版本軟件。
【實驗內(nèi)容及步驟】
1.已知f(t)?tcost,分別用符號計算和數(shù)值計算求s(x)?2.一維數(shù)組的常用創(chuàng)建方法舉例。(1)a1=1:6
a2=0:pi/4:pi a3=1:-0.1:0
2? x 0f(t)dt,比較二者區(qū)別。
(2)b1=linspace(0,pi,4)b2=logspace(0,3,4)(3)c1=[2 pi/2 sqrt(3)3+5i]
(4)rand('state',0)
c2=rand(1,5)a=2.7358;b=33/79;
3.在MATLAB環(huán)境下,用下面三條指令創(chuàng)建二維數(shù)組C。
C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]
4.根據(jù)現(xiàn)有數(shù)據(jù)在數(shù)組編輯器中創(chuàng)建一個(3?8)的數(shù)組。
5.標準數(shù)組產(chǎn)生的演示
/ 17
ones(2,4)
randn('state',0)randn(2,3)
D=eye(3)
diag(D)
diag(diag(D))
randsrc(3,20,[-3,-1,1,3],1)
6.熟悉數(shù)組元素及子數(shù)組的各種標識和尋訪格式;冒號的使用;end的作用。A=zeros(2,6)
A(:)=1:12
A(2,4)
A(8)
A(:,[1,3])
A([1,2,5,6]')
A(:,4:end)
A(2,1:2:5)=[-1,-3,-5]
B=A([1,2,2,2],[1,3,5])
L=A<3
A(L)=NaN
7.數(shù)組操作函數(shù)reshape, diag, repmat的用法;空陣 [ ] 刪除子數(shù)組的用法。
a=1:8
A=reshape(a,4,2)A=reshape(A,2,4)
b=diag(A)
B=diag(b)
D1=repmat(B,2,4)D1([1,3],:)=[ ]
8.歐姆定律:r?
u,其中r, u, i分別是電阻(歐姆)、電壓(伏特)、電流(安培)。驗證i 5 / 17
實驗:據(jù)電阻兩端施加的電壓,測量電阻中流過的電流,然后據(jù)測得的電壓、電流計算平均電阻值。(測得的電壓電流具體數(shù)據(jù)見下列程序)。比較向量化運算的優(yōu)勢一:代碼量少;優(yōu)勢二:通過加外層循環(huán),用tic toc命令計算時間,體現(xiàn)運算速度快的優(yōu)勢。(1)非向量化程序
clear vr=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41];ir=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345];
%--------------------L=length(vr);
for k=1:L r(k)=vr(k)/ir(k);end
%---------------------------sr=0;for k=1:L sr=sr+r(k);
end rm=sr/L
(2)向量化程序
clear vr=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41];ir=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345];
r=vr./ir rm=mean(r)
9.用“空”數(shù)組進行子數(shù)組的刪除和大數(shù)組的大小收縮 A=reshape(-4:5,2,5)
A(:,[2,4])=[]
10.運行下列程序,體會關(guān)系運算的應(yīng)用。
t=-3*pi:pi/10:3*pi;y=sin(t)./t;
tt=t+(t==0)*eps;yy=sin(tt)./tt;
subplot(1,2,1),plot(t,y),axis([-9,9,-0.5,1.2]), xlabel('t'),ylabel('y'),title('殘缺圖形')subplot(1,2,2),plot(tt,yy),axis([-9,9,-0.5,1.2])xlabel('tt'),ylabel('yy'),title('正確圖形')【實驗報告要求】
1.整理實驗結(jié)果。2.總結(jié)實驗心得體會
/ 17
實驗四
Matlab數(shù)值計算
【實驗?zāi)康摹?/p>
1.掌握MATLAB數(shù)值微積分的計算方法 2.掌握MATLAB矩陣和代數(shù)方程運算規(guī)律 3.熟悉MTALAB處理概率和統(tǒng)計分布問題 4.掌握MTALAB的多項式運算和卷積運算
【實驗原理】
1.數(shù)值計算作為MATALB的最主要功能,在工程中有著廣泛的應(yīng)用,本節(jié)將在已有的數(shù)學基礎(chǔ)和數(shù)字信號處理基礎(chǔ)上,開展一些工程中常用的數(shù)值計算,并著重基于MTALAB的內(nèi)部函數(shù)進行編程。
【實驗儀器】
1.配置在PIV2.0GHZ/512MB以上的PC機; 2.MATALB7.0以上版本軟件。
【實驗內(nèi)容及步驟】
1.已知x?sin(t),求該函數(shù)在區(qū)間 [0, 2?]中的近似導函數(shù),分析下列程序產(chǎn)生誤差的原因。
d=pi/100;t=0:d:2*pi;x=sin(t);dt=5*eps;
x_eps=sin(t+dt);dxdt_eps=(x_eps-x)/dt;plot(t,x,'LineWidth',5)hold on plot(t,dxdt_eps)hold off legend('x(t)','dx/dt')xlabel('t')
提出的解決方案(供參考):
x_d=sin(t+d);dxdt_d=(x_d-x)/d;hold on plot(t,dxdt_d)hold off legend('x(t)','dx/dt')
/ 17
plot(t,x,'LineWidth',5)xlabel('t')2.已知x?sin(t),采用diff和gradient計算該函數(shù)在區(qū)間 [0, 2?]中的近似導函數(shù),比較二者區(qū)別。
3.分別用梯形積分公式和矩形積分計算積分s(x)???/20y(t)dt,其中y?0.2?sin(t),并以符號計算結(jié)果為參考解,通過誤差分析比較上述方法的精度。
4.采用匿名函數(shù)方法求s?
5.應(yīng)用fminseach
函數(shù)求著名的Rosenbrock's “Banana” 測試函數(shù)
?? 1 2 1 0xydxdy。
f(x,y)?100(y?x2)2?(1?x)2的極小值點。
6.已知矩陣A2?4,B4?3,采用三種不同的編程求這兩個矩陣的乘積C2?3?A2?4B4?3。并用tic、toc計時方法,在重復1000次運算的情況下比較運行時間。
7.隨機產(chǎn)生一個5?5的矩陣,并計算出其行列式、跡、秩、條件數(shù)、逆以及特征分解。
8.畫出N=100, p=0.5情況下的二項分布概率特性曲線。
9.運行以下程序,并觀察正態(tài)分布標準差的幾何表示。
mu=3;sigma=0.5;
x=mu+sigma*[-3:-1,1:3];yf=normcdf(x,mu,sigma);P=[yf(4)-yf(3),yf(5)-yf(2),yf(6)-yf(1)];xd=1:0.1:5;yd=normpdf(xd,mu,sigma);clf for k=1:3
% xx=x(4-k):sigma/10:x(3+k);yy=normpdf(xx,mu,sigma);
%-subplot(3,1,k),plot(xd,yd,'b');hold on fill([x(4-k),xx,x(3+k)],[0,yy,0],'g');hold off if k<2
/ 17
text(3.8,0.6,'[{mu}-{sigma},{mu}+{sigma}]')kk=int2str(k);text(3.8,0.6,['[{mu}-',kk,'{sigma},{mu}+',kk,'{sigma}]'])else end text(2.8,0.3,num2str(P(k)));shg end xlabel('x');
10.調(diào)試下列程序,實現(xiàn)給定數(shù)據(jù)組x0 , y0,求擬合三階多項式,并圖示擬合情況。改變多項式階數(shù)再次圖示并觀察結(jié)果變化。
x0=0:0.1:1;y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];n=3;P=polyfit(x0,y0,n)
xx=0:0.01:1;yy=polyval(P,xx);plot(xx,yy,'-b',x0,y0,'.r','MarkerSize',20)legend('擬合曲線','原始數(shù)據(jù)','Location','SouthEast')xlabel('x')
【實驗報告要求】
1.整理實驗結(jié)果。2.總結(jié)實驗心得體會
/ 17
實驗五
MATLAB可視化
【實驗?zāi)康摹?/p>
1.掌握MATLAB連續(xù)函數(shù)(信號)的可視化 2.掌握MATLAB二維離散作圖的基本格式
3.熟悉MTALAB三維作圖的基本格式和高級作圖修飾 4.熟悉MTALAB動畫的制作過程
【實驗原理】
1.MATLAB的主要功能和優(yōu)點之一為可視化,基于plot命令而展開的一系列作圖命令格式為學習本節(jié)的基礎(chǔ)
【實驗儀器】
1.配置在PIV2.0GHZ/512MB以上的PC機; 2.MATALB7.0以上版本軟件。
【實驗內(nèi)容及步驟】
1.用圖形表示連續(xù)調(diào)制波形y?sin(t)sin(9t)。
t1=(0:11)/11*pi;t2=(0:400)/400*pi;t3=(0:50)/50*pi;y1=sin(t1).*sin(9*t1);y2=sin(t2).*sin(9*t2);y3=sin(t3).*sin(9*t3);subplot(2,2,1),plot(t1,y1,'r.')
%<7> axis([0,pi,-1,1]),title('(1)點過少的離散圖形')subplot(2,2,2),plot(t1,y1,t1,y1,'r.')%<9> axis([0,pi,-1,1]),title('(2)點過少的連續(xù)圖形')subplot(2,2,3),plot(t2,y2,'r.')
%<11> axis([0,pi,-1,1]),title('(3)點密集的離散圖形')subplot(2,2,4),plot(t3,y3)
%<13> axis([0,pi,-1,1]),title('(4)點足夠的連續(xù)圖形')
2.調(diào)試運行二維曲線繪圖指令。
clf
t=(0:pi/50:2*pi)';k=0.4:0.1:1;Y=cos(t)*k;
subplot(1,2,1),plot(t,Y,'LineWidth',1.5)
/ 17
title('By plot(t,Y)'),xlabel('t')subplot(1,2,2),plot(Y,'LineWidth',1.5)title('By plot(Y)'),xlabel('row subscript of Y')
3.用圖形表示連續(xù)調(diào)制波形y?sin(t)sin(9t)及其包絡(luò)線。(圖5.2-2)
t=(0:pi/100:pi)';y1=sin(t)*[1,-1];t3=pi*(0:9)/9;
%<1> %<2> %<3>
% <4>
% <5> y2=sin(t).*sin(9*t);y3=sin(t3).*sin(9*t3);hold on
plot(t,y1,'r:',t,y2,'-bo')% <6> plot(t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0])axis([0,pi,-1,1])
% <8> %<9> hold off %<10> %以下指令供讀者比較用。使用時,指令前的 % 號要去除。
%屬性影響該指令中的所有線對象中的離散點。
%plot(t,y1,'r:',t,y2,'-bo',t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0])
4.觀察各種軸控制指令的影響。演示采用長軸為3.25,短軸為1.15的橢圓。
t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);title('Normal and Grid on')subplot(2,3,2),plot(x,y),axis equal,grid on,title('Equal')subplot(2,3,3),plot(x,y),axis square,grid on,title('Square')subplot(2,3,4),plot(x,y),axis image,box off,title('Image and Box off')subplot(2,3,5),plot(x,y),axis image fill,box off title('Image and Fill')subplot(2,3,6),plot(x,y),axis tight,box off,title('Tight')
subplot(2,3,1),plot(x,y),axis normal,grid on, 5.通過調(diào)試下列程序,繪制二階系統(tǒng)階躍響應(yīng),綜合演示圖形標識。
clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);plot(t,y,'r-','LineWidth',3)hold on tt=t(find(abs(y-1)>0.05));ts=max(tt);plot(ts,0.95,'bo','MarkerSize',10)hold off axis([-inf,6*pi,0.6,inf])
set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)])%<9>
/ 17
%<3>
%<5> %<6>
set(gca,'XtickLabel',{'2*pi';'4*pi';'6*pi'})grid on text(13.5,1.2,'fontsize{12}{alpha}=0.3')text(13.5,1.1,'fontsize{12}{omega}=0.7')
cell_string{1}='fontsize{12}uparrow';%<15>
%<10> %<11> set(gca,'YtickLabel',{'0.95';'1';'1.05';'max(y)'})
%<13>
%<14>
cell_string{2}='fontsize{16} fontname{隸書}鎮(zhèn)定時間';cell_string{3}='fontsize{6} ';
%<18>
cell_string{4}=['fontsize{14}rmt_{s} = ' num2str(ts)];text(ts,0.85,cell_string,'Color','b','HorizontalAlignment','Center')
title('fontsize{14}it y = 1-e^{-alpha t}cos{omegat}')xlabel('fontsize{14} bft rightarrow')ylabel('fontsize{14} bfy rightarrow')
6.利用hold繪制離散信號通過零階保持器后產(chǎn)生的波形,驗證疊繪命令
t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t);stem(t,y,'g','Color','k');hold on stairs(t,y,':r','LineWidth',3)hold off legend('fontsize{14}it stem','fontsize{14}it stairs')box on
7.運行下列命令,畫出函數(shù)y?xsinx和積分驗證雙縱坐標。
clf;dx=0.1;x=0:dx:4;y=x.*sin(x);s=cumtrapz(y)*dx;
%<3>
%<5> %<6> %<4>
%<2> a=plotyy(x,y,x,s,'stem','plot');
s??(xsinx)dx0x在區(qū)間[0,4]上的曲線,text(0.5,1.5,'fontsize{14}ity=xsinx')sint='{fontsize{16}int_{fontsize{8}0}^{ x}}';text(2.5,3.5,ss)%<7>
ss=['fontsize{14}its=',sint,'fontsize{14}itxsinxdx'];
set(get(a(1),'Ylabel'),'String','被積函數(shù) ity=xsinx')%<8>
/ 17
set(get(a(2),'Ylabel'),'String',ss)%<9> xlabel('x')
8.運行下列命令,演示subplot指令對圖形窗的分割。
clf;t=(pi*(0:1000)/1000)';y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t);subplot(2,2,1),plot(t,y1);axis([0,pi,-1,1])subplot(2,2,2),plot(t,y2);axis([0,pi,-1,1])subplot('position',[0.2,0.1,0.6,0.40])plot(t,y12,'b-',t,[y1,-y1],'r:')axis([0,pi,-1,1])
9.運行下列程序,實現(xiàn)三維曲線繪圖。演示:三維曲線的參數(shù)方程;線型、點形和圖例。(圖5.3-1)
t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,'b-',x,y,z,'bd')view([-82,58]),box on xlabel('x'),ylabel('y'),zlabel('z')legend('鏈','寶石')
10.運行下列程序,體會不同燈光、照明、材質(zhì)指令所表現(xiàn)的圖形。
clf;[X,Y,Z]=sphere(40);colormap(jet)
%<3>
%<8> %<4>
%<5>
%<6> %<7>
%<10>
subplot(1,2,1),surf(X,Y,Z),axis equal off,shading interp light('position',[0-10 1.5],'style','infinite')lighting phong material shiny subplot(1,2,2),surf(X,Y,Z,-Z),axis equal off,shading flat light;lighting flat %<9> light('position',[-1,-1,-2],'color','y')%<11> light('position',[-1,0.5,1],'style','local','color','w')set(gcf,'Color','w')
11.透視圖。
/ 17
[X0,Y0,Z0]=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shading interp hold off hidden off
hold on,mesh(X,Y,Z),colormap(hot)
axis equal,axis off
title('No.2 surf(X,Y,Z,abs(dz2))')
12.實時動畫:制作紅色小球沿一條帶封閉路徑的下旋螺線運動的實時動畫(圖5.4-5)。(1)anim_zzy1.m
function f=anim_zzy1(K,ki)% anim_zzy1.m 演示紅色小球沿一條封閉螺線運動的實時動畫
% 僅演示實時動畫的調(diào)用格式為
anim_zzy1(K)
% 既演示實時動畫又拍攝照片的調(diào)用格式為
f=anim_zzy1(K,ki)
% K
紅球運動的循環(huán)數(shù)(不小于1)
% ki
指定拍攝照片的瞬間,取 1 到 1034 間的任意整數(shù)。
% f
存儲拍攝的照片數(shù)據(jù),可用image(f.cdata)觀察照片。
%
t1=(0:1000)/1000*10*pi;x1=cos(t1);y1=sin(t1);z1=-t1;t2=(0:10)/10;x2=x1(end)*(1-t2);y2=y1(end)*(1-t2);z2=z1(end)*ones(size(x2));t3=t2;z3=(1-t3)*z1(end);x3=zeros(size(z3));y3=x3;t4=t2;x4=t4;y4=zeros(size(x4));z4=y4;x=[x1 x2 x3 x4];y=[y1 y2 y3 y4];z=[z1 z2 z3 z4];plot3(x,y,z,'Color',[1,0.6,0.4],'LineWidth',2.5)axis off %
h=line('xdata',x(1),'ydata',y(1),'zdata',z(1),'Color',[1 0 0],'Marker', '.', 'MarkerSize',40,'EraseMode','xor');> %
n=length(x);i=2;j=1;while 1
set(h,'xdata',x(i),'ydata',y(i),'zdata',z(i));
drawnow;
% <22>
pause(0.0005)
% <23>
i=i+1;
if nargin==2 & nargout==1
if(i==ki&j==1);f=getframe(gcf);end
% <26>
end
if i>n
/ 17
i=1;j=j+1;
if j>K;break;end
end end
(2)
f=anim_zzy1(2,450);(3)
image(f.cdata),axis off
【實驗報告要求】
1.整理實驗結(jié)果。2.總結(jié)實驗心得體會
/ 17
實驗六
M文件及MATLAB綜合應(yīng)用
【實驗?zāi)康摹?/p>
1.掌握MATLABM文件的編寫 2.掌握MATLAB控制流的使用
3.熟悉MTALAB仿真工具箱的使用
4.了解MTALAB notebook的功能
【實驗原理】
1.應(yīng)用MATLAB的M文件編寫中、大型程序是學習該門課程的重要目的,其他如SIMULINK仿真工具箱的應(yīng)用也是分析工程問題的重要手段。
【實驗儀器】
1.配置在PIV2.0GHZ/512MB以上的PC機; 2.MATALB7.0以上版本軟件。
【實驗內(nèi)容及步驟】
?x?31.已知函數(shù)y??x?e?x?1?x??1?1?x?1,編寫能對任意一組輸入x值求相應(yīng)y值的程序。1?x2.已知學生的名字和百分制分數(shù)。要求根據(jù)學生的百分制分數(shù),分別采用“滿分”、“優(yōu)秀”、“良好”、“及格”和“不及格”等表示學生的學習成績。創(chuàng)建Hilbert矩陣。3.Hilbert矩陣a(i,j)?1。
i?j?1??N??1?1?4.編寫計算S??n,其中N?argmin?N???,?是預先給定的控制精度。n?1??k?k???k?1?k?1?通過本程序掌握MATLAB編程的基本規(guī)范。
5.創(chuàng)建n階魔方矩陣,限定條件是n為能被4整除的偶數(shù)。所謂魔方矩陣(Magic matrix),是指那矩陣由1到n的正整數(shù)按照一定規(guī)則排列而成,并且每列、每行、每條對角線元素2n(n2?1)的和都等于。就生成規(guī)則而言,魔方矩陣可分成三類:一,n為奇數(shù);二,n為2不能被4整除的偶數(shù);三,n為能被4整除的偶數(shù)。
/ 17
6.編寫一個M函數(shù)文件。它具有以下功能:(A)根據(jù)指定的半徑,畫出藍色圓周線;(B)可以通過輸入字符串,改變圓周線的顏色、線型;(C)假若需要輸出圓面積,則繪出圓。
7.編寫一個內(nèi)含子函數(shù)的M函數(shù)繪圖文件。
8.在下圖所示的系統(tǒng)中,已知質(zhì)量m?1kg,阻尼b?2N.sec/m,彈簧系數(shù)k?100N/m,且質(zhì)量塊的初始位移x(0)?0.05m,其初始速度x?(0)?0m/sec,要求創(chuàng)建該系統(tǒng)的SIMULINK模型,并進行仿真運行。
9.創(chuàng)建一個notebook文件,簡單調(diào)試一個作圖程序,體會notebook功能。
【實驗報告要求】
1.整理實驗結(jié)果。2.總結(jié)實驗心得體會
/ 17
第三篇:MATLAB實驗指導書
MATLAB 實驗指導書
皖西學院信息工程學院 實驗一 MATLAB編程環(huán)境及簡單命令的執(zhí)行
一、實驗?zāi)康?/p>
1.熟悉MATLAB編程環(huán)境
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.首先應(yīng)熟悉MATLAB7.0運行環(huán)境,正確操作 2.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)命令窗口的使用。(2)工作空間窗口的使用。(3)工作目錄、搜索路徑的設(shè)置。(4)命令歷史記錄窗口的使用。(5)幫助系統(tǒng)的使用。(6)了解各菜單的功能。2.實驗步驟
(1)啟動MATLAB,熟悉MATLAB的桌面。(2)進入MATLAB7.0集成環(huán)境。
(3)在命令窗口執(zhí)行命令完成以下運算,觀察workspace的變化,記錄運算結(jié)果。
1)(365-52?2-70)?3 2)>>area=pi*2.5^2 3)已知x=3,y=4,在MATLAB中求z:
x2y3 z?2?x?y?4)將下面的矩陣賦值給變量m1,在workspace中察看m1在內(nèi)存中占用的字節(jié)數(shù)。
?162313??511108?? m1=??97612???414151??執(zhí)行以下命令 >>m1(2 , 3)>>m1(11)>>m1(: , 3)>>m1(2 : 3 , 1 : 3)>>m1(1 ,4)+ m1(2 ,3)+ m1(3 ,2)+ m1(4 ,1)5)執(zhí)行命令>>help abs 查看函數(shù)abs的用法及用途,計算abs(3 + 4i)6)執(zhí)行命令
>>x=0:0.1:6*pi;>>y=5*sin(x);>>plot(x,y)7)運行MATLAB的演示程序,>>demo,以便對MATLAB有一個總體了解。
五、思考題
1、以下變量名是否合法?為什么?(1)x2(2)3col(3)_row(4)for
2、求以下變量的值,并在MATLAB中驗證。(1)a = 1 : 2 : 5;(2)b = [ a' a' a' ];(3)c = a + b(2 , :)。
六、實驗報告要求1.整理實驗結(jié)果,按順序填寫實驗結(jié)果 2.小結(jié)實驗心得體會
實驗二 矩陣基本運算
(一)一、實驗?zāi)康?/p>
1.通過實驗,進一步熟悉MATLAB編程環(huán)境 2.通過實驗掌握建立矩陣的幾種方法 3.通過實驗理解常用的矩陣運算
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.首先應(yīng)熟悉MATLAB7.0運行環(huán)境,正確操作 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)設(shè)A和B是兩個同維同大小的矩陣,問:
1)A*B和A.*B的值是否相等? 2)A./B和B.A的值是否相等? 3)A/B和BA的值是否相等?
4)A/B和BA所代表的數(shù)學含義是什么?(2)寫出完成下列操作的命令。
1)將矩陣A第2—5行中第1,3,5列元素賦給矩陣B。2)刪除矩陣A的第7號元素。3)將矩陣A的每個元素值加30。4)求矩陣A的大小和維數(shù)。
5)將含有12個元素的向量x轉(zhuǎn)換成3*4矩陣。6)求一個字符串的ASCII碼。7)求一個ASCII碼所對應(yīng)的字符。
(3)下列命令執(zhí)行后,L1、L2、L3、L4的值分別是多少?
A=1:9;B=10-A;L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、思考題
用MATLAB求下面的的方程組。
21?2??x1??4??7?9153?2??x??7????2???? 1)???2?2115??x3???1???????13213???x4??0??x?y?z?1?x?2y?z?w?8?2)?
?2x?y?3w?3??3x?3y?5z?6w?5
六、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
實驗三 矩陣基本運算
(二)一、實驗?zāi)康?/p>
1.熟悉矩陣和向量的建立方式 2.理解矩陣拆分的方法
3.通過實驗進一步掌握矩陣的基本運算
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
??15?4??83?1??,B??253? 078(1)已知A??????????320???3617??求下列表達式的值:
1)A+6B和A2-B+I(I為單位矩陣)2)A*B,A.*B和B*A 3)A/B和BA
4)[A,B]和 [A([1,3],:);B^2](2)已知 ?0.7780??2310?41?45?655?,取出其前三行構(gòu)成矩陣B,其前兩列構(gòu)成矩A???325032???6?9.54543.14??陣C,其右下角3×2子矩陣構(gòu)成矩陣D,B與C的乘積構(gòu)成矩陣E,分別求E
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、思考題
n?10?99102?2?2???2?2?,求y=?(循環(huán)語句做)10y? n??10
六、實驗報告要求
1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
實驗四
矩陣分析
一、實驗?zāi)康?/p>
1.學會求矩陣的對角線元素、對角陣和逆矩陣 2.學會求矩陣的行列式的值、秩 3.學會求矩陣的特征值和特征向量 4.通過練習熟悉矩陣分析方法
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)使用函數(shù),實現(xiàn)方陣左旋90°或右旋90°的功能。例如,原矩陣為A,A左旋后得到B,右旋后得到C。
?101112??32?14710??789??65???,C??A??25811?,B???456??98??????36912??123??12111?4?? 7??10?(2)建立一個方陣A,求A的逆矩陣和A的行列式的值,并驗證A與A-1是互逆的。
(3)求下列矩陣的主對角線元素、上三角陣、下三角陣、秩和跡(矩陣對角線元素之和,也等于矩陣的特征值之和)。
?1?12?51?41)A???305??111503?0.43432?2??
2)B?? ???2??8.9421??9?(4)求矩陣A的特征值其中V是特征向量,D為特征值)和相應(yīng)的特征向量。
10.5??1? A??110.25????0.50.252??2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
實驗五
分支結(jié)構(gòu)程序設(shè)計
一、實驗?zāi)康?/p>
1.理解MATLAB的編程方法
2.掌握if語句和switch語句的使用 3.掌握分支結(jié)構(gòu)程序設(shè)計方法
4.通過練習理解MATLAB編程方法和分支結(jié)構(gòu)程序設(shè)計方法。
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)從鍵盤輸入1到5000之內(nèi)的一個數(shù),例如輸入693,輸出為396,如果數(shù)據(jù)超出范圍,請輸出提示“輸入數(shù)據(jù)有誤,請輸入1~5000之內(nèi)的數(shù)”將它反向輸出,如果數(shù)據(jù)是個位數(shù),則直接輸出。(2)輸入一個百分制成績,要求輸出成績等級A,B,C,D,E其中90-100位A,80-89為B,70-79為C,60-69為D,60以下為E 1)分別用if語句和switch語句實現(xiàn)
2)輸入百分制成績后要判斷成績的合理性,對不合理的成績應(yīng)輸出出錯信息
(3)某商場對顧客所購買的商品實行打折銷售,標準如下(商品價格用price 來表示):
price<200 沒有折扣;200≤price<500 3%折扣;500≤price<1000 5%折扣; 1000≤price<2500 8%折扣;2500≤price<5000 10%折扣;5000≤price 14%折扣,輸入所售商品的價格,求其實際銷售價 2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、思考題
1、一個三位整數(shù)各位數(shù)字的立方和等于該數(shù)本身,則稱該數(shù)為水仙花數(shù)。試編寫程序找到并輸出全部水仙花數(shù)
六、實驗報告要求
1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
實驗六
循環(huán)結(jié)構(gòu)程序設(shè)計
一、實驗?zāi)康?/p>
1、理解循環(huán)控制結(jié)構(gòu)的執(zhí)行過程
2、掌握for語句和while語句的使用
3、掌握循環(huán)結(jié)構(gòu)程序設(shè)計方法
4、通過練習進一步理解MATLAB的編程方法和循環(huán)結(jié)構(gòu)程序設(shè)計方法
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)隨機產(chǎn)生二個相同維數(shù)的方陣A、B,其元素全為整數(shù),且在0~10之間,試編寫程序?qū)崿F(xiàn)求兩矩陣A*B,A.*B。
(2)隨機產(chǎn)生一個4X4的矩陣A,編寫程序?qū)崿F(xiàn)求矩陣的轉(zhuǎn)置。(3)若一個數(shù)等于它的各個真因子之和,則稱該數(shù)為完數(shù),如6=1+2+3,所以6 是完數(shù)。求[1 500]之間的全部完數(shù)(4)寫一程序求1!+2!+?+10!
(5)鍵盤上輸隨便輸入一個矩陣,試編程找出矩陣A 中最大元素和最小元素所在的行列號 2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
實驗七
曲線、曲面圖的繪制
一、實驗?zāi)康?/p>
1、理解MATLAB繪圖方法
2、掌握繪制二、三維數(shù)據(jù)曲線圖的方法
3、掌握用plot函數(shù)和fplot函數(shù)繪制曲線的方法
4、通過練習掌握繪制二維數(shù)據(jù)曲線圖的方法和plot函數(shù)和fplot函數(shù)的使用
5、通過練習熟悉三維曲線和曲面圖的繪制方法
二、實驗環(huán)境
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.熟練操作MATLAB7.0運行環(huán)境 2.自主編寫程序,必要時參考相關(guān)資料 3.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 4.實驗學時:2學時
四、實驗內(nèi)容和步驟
1.實驗內(nèi)容
(1)繪制下列曲線:
x?x?rsintx312①y?x?
②y? e
③x2?2y2?6④?32??y?rcost2(2)通過用plot和fplot函數(shù)繪制y?sin(3)繪制下列三維曲線
1的曲線,并分析其區(qū)別。
x?x?e?t/20cost?1)?y?e?t/20sint,0?t?2?
?z?t??x?t?2)?y?t2,0?t?1
?z?t3?2.實驗步驟
(1)分析實驗內(nèi)容,寫出程序大致框架或完整的程序代碼。(2)進入MATLAB7.0集成環(huán)境。(3)編輯程序并進行保存。
(4)運行程序,若有錯誤,修改錯誤后再次運行,如此反復進行到不顯示出錯為止。
(5)檢查程序輸出結(jié)果。
五、思考題
繪制曲面圖f(x,y)??51?x?y22,x?3,y?3
六、實驗報告要求
1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
實驗八
Simulink建模仿真
一、實驗?zāi)康?/p>
學會SIMULINK仿真基本操作
二、實驗器材
1.計算機
2.MATLAB7.0集成環(huán)境
三、實驗說明
1.自主編寫程序,必要時參考相關(guān)資料 2.實驗前應(yīng)寫出程序大致框架或完整的程序代碼 5.實驗學時:2學時
四、實驗內(nèi)容和步驟
1. 實驗內(nèi)容
(1)在MATLAB命令窗口中輸入simulink 結(jié)果是在桌面上出現(xiàn)一個稱為Simulink Library Browser的窗口,在這個窗口中列出了按功能分類的各種模塊的名稱。
也可以通過MATLAB主窗口的快捷按鈕來打開Simulink Library Browser窗口。
(2)SIMILINK模塊庫按功能進行分為以下8類子庫:
? Continuous(連續(xù)模塊)? Discrete(離散模塊)
? Function&Tables(函數(shù)和平臺模塊)? Math(數(shù)學模塊)? Nonlinear(非線性模塊)? Signals&Systems(信號和系統(tǒng)模塊)? Sinks(接收器模塊)? Sources(輸入源模塊)
(3)簡單模型的建立
1)建立模型窗口
2)將功能模塊由模塊庫窗口復制到模型窗口 3)對模塊進行連接,從而構(gòu)成需要的系統(tǒng)模型
(4)功能模塊的基本操作,包括模塊的移動、復制、刪除、轉(zhuǎn)向、改變大小、模塊命名、顏色設(shè)定、參數(shù)設(shè)定、屬性設(shè)定、模塊輸入輸出信號等。
? 模塊庫中的模塊可以直接用鼠標進行拖曳(選中模塊,按住鼠標左鍵不放)而放到模型窗口中進行處理。
? 在模型窗口中,選中模塊,則其4個角會出現(xiàn)黑色標記。此時可以對模塊進行以下的基本操作。
1)移動:選中模塊,按住鼠標左鍵將其拖曳到所需的位置即可。若要脫離線而移動,可按住shift鍵,再進行拖曳。
2)復制:選中模塊,然后按住鼠標右鍵進行拖曳即可復制同樣的一個功能模塊。
3)刪除:選中模塊,按Delete鍵即可。
4)轉(zhuǎn)向:為了能夠順序連接功能模塊的輸入和輸出端,功能模塊有時需要轉(zhuǎn)向。在菜單Format中選擇Flip Block旋轉(zhuǎn)180度,選擇Rotate Block順時針旋轉(zhuǎn)90度。
5)改變大?。哼x中模塊,對模塊出現(xiàn)的4個黑色標記進行拖曳即可。6)模塊命名:先用鼠標在需要更改的名稱上單擊一下,然后直接更改即可。7)顏色設(shè)定: Format菜單中的Foreground Color可以改變模塊的前景顏色,Background Color可以改變模塊的背景顏色;而模型窗口的顏色可以通過Screen Color來改變。
8)參數(shù)設(shè)定:用鼠標雙擊模塊,就可以進入模塊的參數(shù)設(shè)定窗口,從而對模塊進行參數(shù)設(shè)定。
9)屬性設(shè)定:選中模塊,打開Edit菜單的Block Properties可以對模塊進行屬性設(shè)定。10)模塊的輸入輸出信號:模塊處理的信號包括標量信號和向量信號;標量信號是一種單一信號,而向量信號為一種復合信號,是多個信號的集合,它對應(yīng)著系統(tǒng)中幾條連線的合成。
(5)仿真:構(gòu)建好一個系統(tǒng)的模型之后,接下來的事情就是運行模型,得出仿真結(jié)果。運行一個仿真的完整過程分成三個步驟:設(shè)置仿真參數(shù),啟動仿真和仿真結(jié)果分析 2.實驗步驟
(1)打開Simulink Library Browser窗口,練習功能模塊的基本操作。
(2)用MATLAB對一階慣性環(huán)節(jié)的動態(tài)特性進行仿真研究。
G(S)?1S?1
仿真系統(tǒng)模型圖
(3)用MATLAB對下列控制系統(tǒng)的動態(tài)特性進行仿真研究。
G(S)?G(S)?1
S2?4S?82 322S?3S?S?8
(4)已知系統(tǒng)的狀態(tài)方程為
其中
y 1(0)=
0.25,y2(0)=0.25,請構(gòu)建該系統(tǒng)的仿真模型,并用XYGraph模型觀察y1,y2軌跡。
(5)利用 SIMULINK 及其標準模塊設(shè)計一個低通濾波器,從受噪聲干擾的多頻率混合信號x(t)中獲取10Hz 的信號。其中x(t)= sin(2p ×10 × t)+ cos(2p ×100 × t)+ n(t),而n(t)~ N(0,0.2)
五、實驗報告要求1.整理實驗結(jié)果,填入相應(yīng)表格中 2.小結(jié)實驗心得體會
第四篇:MATLAB實驗4
學 生 實 驗 報 告
課程名稱:
學生學號:
所屬院部:
(理工類)
專業(yè)班級:
學生姓名:
指導教師: ——20 學年 第 學期
實驗項目名稱: MATLAB綜合運用 實驗學時: 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:
一、實驗?zāi)康暮鸵?/p>
1、會用MATLAB求電阻電路。(節(jié)點電壓法、戴維南定理等)
2、會用MATLAB求正弦穩(wěn)態(tài)電路。
3、掌握自動控制系統(tǒng)中模型的轉(zhuǎn)換方法。
4、會用MATLAB求自動控制系統(tǒng)的傳遞函數(shù)。
二、實驗儀器和設(shè)備
計算機一臺
三、實驗過程
1、已知條件如下圖所示。求:RL為何值時,能獲得最大功率.U1 U2
RL
R1=6Ω R2=1Ω R3=3Ω
經(jīng)過R1的電流為I1,經(jīng)過R2的電流為I2,把RL用電流源代替(Ia方向從上到下),經(jīng)過電路化簡得:Ia=4/3+I2 列出節(jié)點方程:(1/6+1+1/3)U1-U2=I1(其中I1=12/6=2A,I2=2A)(節(jié)點電流的流入和流出)
-U1+U2=I2-Ia(等效的U1,U2)
運用MATLAB計算出U1,U2的值,U2即是戴維南等效電路中的Uoc,令電壓源短路,電流源斷路,求得ab左邊等效電阻Req,當Req=RL時,PMAX=Uoc^2/4Req
2、已知Us=100V,I1=100mA,電路吸收功率P=6W,XL1=1250?,XC2=750?,電路呈感性,求R3及XL3。
設(shè)電源的總阻抗為Z?R?jX,由圖可知Z?Z1?UZ2*Z3,總阻抗的模為Z?s
IZ2?Z3由于Z1,Z2為純阻抗元件,它們不吸收有功功率,故
R?P I22Z?R2?X2?X??Z?R2 得知電感電路呈感性,取“+”,即有Z?R?jX Z2,Z3的并聯(lián)阻抗為Z23?Z?Z1?Z?jXL1 而Z3?Z2*Z23
Z2?Z23有R3?real(Z3),XL3=imag(Z3)
3、求圖示系統(tǒng)的傳遞函數(shù),其中K1=10,K2=20。
4、已知系統(tǒng)狀態(tài)空間模型為:
求其零極點模型。
5、系統(tǒng)的零極點增益模型如下:
求系統(tǒng)的傳遞函數(shù)模型和狀態(tài)空間模型。
四、實驗結(jié)果與分析
在本次實驗中,初步了解了MATLAB在自動控制系統(tǒng)中的運用,通過從實驗中得到的鍛煉,提高了動手能力和自我學習能力。
第五篇:matlab實驗心得體會
matlab實驗心得體會
]這個就是我自己做出來的,發(fā)現(xiàn)用soundsc聽出來還行,但是用wavwrite就變的很難聽。后來發(fā)現(xiàn)PB寫的很好,而且還能夠把前面一段沒有噪音的部分給保存下來,我就看了他的代碼,有幾點體會:
1.將代碼寫在.m文件里,這樣只需要該文件里的就可以而不必每次都去敲命令;
2.PB對于vector使用的比較熟,我一開始也想到能不能只將后面一段由噪聲的給濾掉而保留以前的,但是沒想到什么方法,看了PB的代碼發(fā)現(xiàn),他對于vector了解的比較深刻,我上面的想法最后只使用一句代碼就搞定了
3.對于噪聲頻率,一定要選準確,PB對每一段噪聲只使用的一個頻率,就將噪聲濾干凈了,我用了每段噪聲附近的幾個波形還沒有得到理想波形,最后我發(fā)現(xiàn)我選的中心頻率和PB的只相差10~25赫茲,所以一定要精確,后來WH又試了一下,只發(fā)現(xiàn)改變5HZ的頻率都不行
4.加入團隊以來,尤其是加入種子班之后就一直告誡自己要時刻抱著一個學習的心態(tài),對于任務(wù)不要只是敷衍,完成就好,而是自己一定要從中學到東西,而且在這個過程中一定要逐步掌握自己的學習方法,但是就是這個Matlab,我就是在敷衍了事,所以沒有什么事情是可以敷衍的,學習發(fā)生在每時每刻,不能因為這是必上的課程而自己沒有興趣就蒙混過關(guān),應(yīng)該利用這個機會鍛煉自己,積極起來,改變自己懶惰的弱點。
PS:附上修改后的代碼
%get the samples rate and vector of the wave [xx, fs] = wavread('SunshineSquare');xx = xx';specgram(xx, [], fs);
%^get the A from the frequencies of the noises fnoise = [0 1575 3150 4725];ww = 2*pi*fnoise/fs;A =-2*cos(ww);
%seperate the wave based on the tone “du” leng = length(xx);du = floor((7.749/10.791)*leng);
%determine the h[n] of correspond noise hh = [1 A(1)1];for i = 2:4 hh1 = [1 A(i)1];hh = conv(hh, hh1);end
%filter the noise yy = filter(hh, 1, xx);%delete the tone “du” yy(du100 : du + 80)= 0;figure(2);specgram(yy, [], fs);wavwrite(yy,fs,32,'filter1');
%replace the wave which has been filtered with the good part du = floor((7.749/10.791)*leng);yy(1:du)=xx(1:du);%delete the tone “du” yy(du100 : du + 80)= 0;
%paint the picture and play it figure(3);specgram(yy, [], fs);soundsc(yy,fs);wavwrite(yy,fs,32,'filter2');