第一篇:matlab作業題
第一章 MATLAB環境
1、MATLAB通用操作界面窗口包括哪些?命令窗口、歷史命令窗口、當前目錄窗口、工作空間窗口各有哪些功能?
答:MATLAB通用操作界面窗口包括:命令窗口、歷史命令窗口、當前目錄瀏覽器窗口、工作空間窗口、變量編輯器窗口、M文件編輯/調試器窗口、程序性能剖析窗口、MATLAB幫助。
命令窗口是MATLAB命令操作的最主要窗口,可以把命令窗口當做高級的“草稿紙”。在命令窗口中可以輸入各種MATLAB的命令、函數和表達式,并顯示除圖形外的所有運算結果。
歷史命令窗口用來記錄并顯示已經運行過的命令、函數和表達式,并允許用戶對它們進行選擇、復制和重運行,用戶可以方便地輸入和修改命令,選擇多行命令以產生M文件。
當前目錄窗口用來設置當前目錄,可以隨時顯示當前目錄下的M、MKL等文件的信息,揚文件類型、文件名、最后個修改時間和文件的說明信息等,并可以復制、編輯和運行M文件及裝載MAT數據文件。
工作空間窗口用來顯示所有MATLAB工作空間中的變量名、數據結構、類型、大小和字節數。
2、熟悉課本中表格1.4、1.5、1.6、1.7、1.8的內容。
3、如何生成數據文件?如何把數據文件中的相關內容輸入到工作空間中,用實例進行操作。
4、在工作空間中可以通過哪些命令管理變量,寫出每種語法的具體操作過程。答:(1)把工作空間中的數據存放到MAT數據文件。
語法:save filename 變量1 變量2 ??參數。
(2)從數據文件中取出變量存放到工作空間。
語法: load filename 變量1 變量2 ??。
(3)查閱MATLAB內存變量名。
語法:who(4)、查閱MATLAB內存變量變量名、大小、類型和字節數。
語法:whos(5)、刪除工作空間中的變量。
語法:clear(6)查詢工作空間中是否存在某個變量。
語法:i=exist(‘X’)
5、MATLAB用戶文件格式有幾哪種?擴展名各是什么?
答:MATLAB的用戶文件格式通常有以下幾種:(1)程序文件,擴展名為.m。(2)數據文件,擴展名為.mat。(3)可執行文件,擴展名為.mex。(4)圖形文件,擴展名為.fig。(5)模型文件,擴展名為.mdl。
6、熟悉文件管理命令的語法,特別是命令type 作用。
7、詳細操作課本26頁例題1.3。
第二章 MATLAB數值計算
1、變量名的命名規則是什么?寫出幾個合理的變量。
答:MATLAB的變量命名規則:
(1)變量名區分字母的大、小寫。例 如,“a”和“A”是不同的變量。(2)變量名不能超過63個字符,第63個字符后的字符被忽略。
(3)變量名必須以字母開頭,變量名的組成可以是任意字母,數字或者下畫線,但不能含有空格和標點符號。
(4)關鍵字不能作為變量名。
2、產生矩陣有哪幾種方法?分別舉例說明。
答:(1)通過顯示元素列表輸入矩陣。
例如:d=[2;3,4;5,6]
(2)通過語句生成矩陣。
例如:y=1:1:7
(3)由函數產生特殊矩陣。
例如:a=eye(4)
3、在excel表格中輸入2行10列的數據,通過數據加載,輸入到工作空間中,用矩陣元素的操作分別提取第1行和第2行的數據。
4、矩陣和數組的算術運算包括哪些運算?各有哪些不同點?
答:(1)矩陣和數組的加,減運算。
矩陣的加,減法運算規則與數組的完全相同,運算符也完全相同。(2)矩陣和數組的乘法運算。
矩陣的乘法運算表達式為“A*B”,表示矩陣的相乘。矩陣A的列數必須等于矩陣B的行數,除非其中有1個標量。
數組的乘法運算表達式為“A*B”,運算符為“*”,表示數組A和B中的對應元素相乘。
5、多項式如何表示?多項式求值、求根和多項式擬合的語法各是什么?
答:在MATLAB中多項式可以用長度為n+1的行向量表示為:P=[an,an-1??a1,a0],即把多項式的各項系數烽按降冪次序排放成為行向量,如果多項式中缺某冪次項,則用0代替該冪次項的系數。
多項式求值語法:y=polyval(p,x)多項式求根語法:r=roots(p)多項式擬合語法:p=polyfit(x,y,n)
6、多項式一維插值有哪些類型?
答:多項式一維插值是指對一個自變量的插值,interep1函數是用來進行一維插值的,其語法為:yi=interp1(x,y,xi,“method”)。
Method是插值函數的類型,“linear”為線性插值(默認)。“nearest”為用最接近的相鄰點插值。“spline”為三次樣條插值。“cubic”為三次插值。
7、在M文件中完整地寫出語句,使其產生課本中圖2.5 一階、二階和三階擬合曲線,并在適當位置添加圖例。
解:隨機產生一個一元三次多項式y=5x^3+2x^2+x+1;
擬合結果如圖: x1=1:10;p=[2 3 4 5];
y0=polyval(p,x1);p1=polyfit(x1,y0,1);p2=polyfit(x1,y0,2);p3=polyfit(x1,y0,3);y1=polyval(p1,x1);y2=polyval(p2,x1);y3=polyval(p3,x1);plot(x1,y0,'r',x1,y1,'g',x1,y2,'-.',x1,y3,'*')legend('y1,一階擬合','y2,二階擬合','y3,三階擬合',4)
8、元胞數組和結構數組有哪些創建方法?
答:元胞數組的創建方法:(1)直接使用{}創建。(2)由各元胞創建。(3)由各元朡內容創建。結構數組的創建方法:(1)直接創建。
(2)利用struct函數創建。
9、元胞數組和結構數組的內容如何獲取?
答:元胞數組的內容獲取:(1)取元胞數組的元素內容。(2)取元胞數組的元素。結構數組的獲取:
(1)使用點號(.)獲取。
(2)使用getfield獲取結構數組的數據。(3)使用setfield設置結構數組的數據。
10、矢量積、數量積和混合積的語法各是什么?
答:矢量積的語法:cross(a,b)數量積的語法:dot(a,b)混合積的語法:dot(a,cross(b,c))
第四章 MATLAB圖形處理
1、用plot(x,y)命令繪制混合式曲線時有幾種情況?分別舉例說明。
答:(1)如果x是向量,而y是矩陣,則x的長度必須等于矩陣y的行數或列數必須相等。如果x的長度與y的行數相等,則向量x與矩陣y的每列向量對應畫一條曲線;如果x的長度與y的列數相等,則向量x與矩陣y的每行向量對應畫一條曲線;如果y是方陣,則x和y的行數列數都相等,將向量x與矩陣y的每列向量畫1條曲線。
(2)如果x是矩陣,y是向量,則y的長度必須等于x的行數或列數,繪制方法與前一種相似。
(3)如果x和y都是矩陣,則大小必須相同,將矩陣x的每列和y的每列畫一條曲線。
2、熟悉本章表4.1、4.2、4.3、4.4、4.5、4.6中的內容。
3、能熟練操作課本124頁中例題4.10。
x=0:0.1:2*pi;>> plot(x,sin(x))>> hold on >> plot(x,cos(x),'ro')>> title('y1=sin(x),y2=cos(x)')>> xlabel('x')>> legend('sin(x)','cos(x)',4)>> text(pi,sin(pi),'x=pi')
第五章 MATLAB程序設計
1、指出腳本文件和函數文件的不同點?
:腳本文件
(1)多條命令的綜合體
(2)沒有輸入、輸出變量
(3使用MATLAB基本工作空間
(4.沒有函數聲明行
函數文件
(1).常用于擴充MATLAB函數庫(2).可以包含輸入、輸出變量
(3).運算中生成的所有變量都存放在函數工作空間(4).包含函數聲明行
腳本文件可以理解為簡單的M文件,腳本文件中的變量都是全局變量。
函數文件是在腳本文件的基礎之上多添加了一行函數定義行,其代碼組織結構
和調用方式與對應的腳本文件截然不同。函數文件是以函數聲明行“function...”作為開始的,其實質就是用戶往MATLAB函數庫里邊添加了子函數,函數文件中的變量都是局部變量,除非使用了特別聲明。函數運行完畢之后,其定義的變量將從工作區間中清除。而腳本文件只是將一系列相關的代碼結合封裝,沒有輸入參數和輸出參數,即不自帶參數,也不一定要返回結果。而多數函數文件一般都有輸入和輸出變量,并見有返回結果。
2、分別用for 循環、while循環和函數調用編寫。
1sum=∑()!
i=12i+1
i=10
n=10;sum=0;f=1;>> for i=1:10 f=f/(2*i*(2*i+1));sum=sum+f;end >> sum sum = 0.1752 >>
sum=0;f=1;i=1;>> while i<=10 f=f/(2*i*(2*i+1));sum=sum+f;i=i+1;end >> sum sum = 0.1752
8
第二篇:matlab實驗報告
實驗二
特殊函數與圖形
一、實驗目的及意義
掌握用Matlab軟件繪制簡單曲線、曲面圖形,并通過繪制一些特殊函數的圖形,更加深入地理解相關函數的性質,了解函數的性態。
二、實驗內容
平面作圖、空間作圖,比較數值作圖與符號作圖的異同。
三、實驗步驟
1.在D盤建立一個自己的文件夾;
2.開啟軟件平臺——MATLAB,將你建立的文件夾加入到MATLAB的搜索路徑中。
3.4.5.6.7.利用幫助了解函數plot, surf, ezmesh,ezsurf等的功能和用法。
開啟MATLAB編輯窗口,鍵入你編寫的M文件(命令文件或函數文件);
保存文件(注意將文件存入你自己的文件夾)并運行;
若出現錯誤,修改、運行直到輸出正確結果;
寫出實驗報告,并淺談學習心得體會。
四、實驗要求與任務
根據實驗內容和步驟,完成以下具體實驗,按要求寫出實驗報告。1.作出下圖所示的三維圖形:
圖1 提示:圖形為圓環面和球面的組合.2.作出下圖所示的墨西哥帽子及其剪裁圖形:
圖2
3.畫出橢球面、雙葉雙曲面、單葉雙曲面.
4.若要求田螺線的一條軸截面的曲邊是一條拋物線:y?0時x2?5z.試重新設計田螺線的參數方程,并畫出該田螺線.
5.作出下圖所示的馬鞍面(顏色為灰色,并有一個標題:“馬鞍面”):
圖3 6.繪制黎曼函數的圖形,要求分母的最大值n的數值由鍵盤輸入(提示:使用input語句).
第三篇:MATLAB作業
第一章 MATLAB R2010a簡介
主要內容總結如下:
本章主要介紹了MATLAB的功能和它的用戶界面以及MATLAB R2010a的路徑搜索。MATLAB的功能是多種多樣的,有數學計算功能、圖形化顯示功能、M語言編程功能、編譯功能Simulink建模仿真功能,自動代碼生成功能,圖形用戶界面開發功能等一系列功。在介紹MATLAB R2010a用戶界面時,主要介紹了它的啟動方法,主菜單及其功能。學習心得體會:
通過本章的學習,我了解了MATLAB的基本功能,認識了它的界面和啟動方法,以及主菜單功能,被他強大的計算功能和其他功能深深吸引,學會了MATLAB,將會為我以后學習其他方面的知識提供一種工具,使學習其他的東西更加的方便。我非常喜歡這門課,所以我一定會努力學好它的。
第二章 基本使用方法
主要內容總結如下:
本章主要介紹了MATLAB中一些簡單的數學運算和常用的數學函數和數學運算符,標點符號的使用,常用的操作命令和快捷鍵,整數、浮點數、復數、邏輯變量等數據類型和他們之間的轉換,數據類型操作函數和變量,MATLAB中的關系運算符邏輯運算符等運算符和它們的優先級,以及一些基礎函數,如位操作函數、邏輯運算函數、集合函數、時間與日期函數。本章還介紹了MATLAB中的腳本文件。
學習心得體會:
通過本章的學習我了解了MATLAB中的簡單數學運算符,一些操作命令和快捷鍵,MATLAB R2010a的數據類型和運算符,還有一些基礎函數,腳本文件。我認為這些東西是基本的東西,但是我又必須要學好它們,只有把這些基礎都掌握了,才能為以后的學習打下堅實的基礎。我認為MATLAB中的許多函數我應該熟練它的作用,做到看到函數要知道其作用。我在這一部分的學習中,腳本文件的編寫對我來說有一定的困難,我以后一定多加練習,學好他們。
第三章 數組和向量
主要內容總結如下:
本章主要介紹了數組和向量兩個大的方面。其中數組介紹了數組的創建,數組的操作(如獲取數組中的元素,從數組中移除元素,數組算術操作,數組邏輯運算數組連接,切片、重排和線性化數組),和一些實例應用;向量部分介紹了向量的創建,尺寸,索引(包括數值索引、邏輯索引),縮短,向量操作(包括算術操作、邏輯操作、應用庫函數、連接、切片)等知識。學習心得體會:
通過本章的學習我對數組和向量有了一個全新的認識,這部分的學習有許多細節需要注意,如我們在從數組中移除元素時,元素必須整列整行的移除;行向量可以直接輸入,列向量輸入時中間需要用到分號;.*,./,和.^被分別用作逐個元素相乘,相除,及指數運算等等。還有一些函數如zeros,rand,diag,magic等都可以產生一些常用的數組,學習時應該熟練掌握。向量的索引對我來說是比較難的知識,剛開始學的時候不太理解,不過后來經過我反復的學習逐漸了解,這部分知識我還需要努力。向量和數組這部分知識在以后的幾章會經常用到,并且和實際聯系的也比較緊密,所以我必須要學好他們。
第四章MATLAB 的數學運算 本章主要內容總結如下:
本章主要介紹了多項式與差值,函數運算,微分方程三大模塊。其中多項式與插值主要介紹了多項式的四則運算,roots函數,polyval函數,polyder函數,多項式擬合,以及數據插值;函數運算主要介紹了函數圖像的繪制,函數的極值,數值積分和含參數函數的使用;微分積分主要介紹了常微分初值問題和常微分方程邊值問題。
學習心得體會:
通過本章的學習掌握了在MATLAB中對多項式的處理,和圖形的繪制,極值的求解,函數的求解,微分、積分的處理。本章所介紹的MATLAB處理方法處理的是高等數學中經常遇到的問題,從這里可以知道MATLAB是一種很好的數學工具。本章學習時有許多問題需要注意,如多項式在相加時要等長;繪制函數圖像的函數為fplot;使用含參數函數還可以通過匿名函數來實現,函數的參數在使用之前必須先賦值等問題。這一部分也介紹了許許多多的函數,我應該在課下熟練掌握,充分理解其作用。
第五章 字符串、單元數組和結構體
本章主要內容總結如下:
本章主要介紹了的字符串生成、執行、字符串與數值之間的轉化;單元數組的生成和一些操作;結構體的生成和一些操作。在MATLAB中,生成字符串的簡單方法為stringname=’the content of the string’.;單元數組可以通過賦值語句直接創建,也可以利用cell函數先為單元數組分配一個內存空間,然后再給各個單元賦值;結構體的生成可以是直接輸入,也可以使用結構體生成函數struct。還介紹了字符串的比較,字符串的查找和替換;單元數組的顯示和圖形顯示和單元數組元素的刪除;結構體中有添加成員變量,刪除成員變量和調用成員變量。學習心得體會:
通過本章的學習了解了字符串,單元數組,結構體的一些基本的使用技巧,學會了字符串,單元數組,結構體的創建,以及它們的一些特殊的用途,如利用函數來進行字符串與數值之間的轉化,單元數組的圖形顯示,在結構體中添加成員變量。字符串,單元數組和結構體是三種特殊的數據結構,字符串用于對字符型數據結構進行操作,單元數組和結構體數據類型允許用戶將不同類型的數據集成為一個單一的變量,因此,相關的數據可以通過一個單元數組或是結構體進行組織和操作。在這一部分的學習中,感覺比較有意思,所以對這部分知識興趣很高。覺的這一部分知識很是有用,所以應該好好學習。
第六章 MATLAB編程
本章主要內容總結如下:
本章主要介紹了MATLAB的腳本文件和編輯器/調試器,程序設計和開發,關系運算符和邏輯變量,邏輯運算符和函數,條件語句,和循環。其中腳本文件和編輯器主要介紹了腳本文件如何創建和使用,以及它的命令窗口的介紹,腳本文件的調試,如何使用腳本文件存儲數據,以及如何控制輸入和輸出;程序設計和開發主要介紹了算法和控制結構,結構化程序設計以及偽代碼;關系運算符和邏輯變量主要介紹了logical類,logical函數以及使用邏輯數組訪問數組;邏輯運算符和函數主要介紹了一些如與、或、非等邏輯運算符以及它,們的優先級別和使用方法,還介紹了短路邏輯運算符,find函數;條件語句主要介紹了if語句,elseif語句和它們的使用方法,還簡要介紹了如何輸入和輸出參數的數量;循環主要介紹了for循環,break和continue語句,使用數組作為循環索引,隱含循環,使用邏輯數組作為掩碼等知識。學習心得體會:
通過本章的學習初步掌握了MATLAB的腳本文件及其編輯和調試方法,掌握了MATLAB的程序設計和開發流程,和MATLAB的關系運算符、邏輯運算及函數操作,MATLAB中的流程控制語句包括if語句,switch語句,contine語句。本章的腳本文件對今后的學習非常有幫助,條件語句和循環語句可用于解決實際生活中許多問題。我對這一部分的認識是:感覺不是太難,又不會的地方也及時請教老師,所以沒有遺留太多疑問。再者,大一時也學過條件語句和循環語句,所以學起來沒有那么的吃力。習題如下:
編程:求[100]以內的全部素數(素數是大于1且除了1和它本身以外不能被其他任何整數所整除的整數。為了判斷整數m是否為素數,一個最簡單的辦法用2,3,4,5, m-1這些數逐個去除m看能否除盡,如果全都除不盡,則m是素數;否則,只要其中一個能除盡,則m不是素數。)
程序如下: disp(2)for m=3:1:100 for x=2:1:m-1 if rem(m,x)==0 break
elseif(x>=m-1)disp(m)end
end end
第七章 MATLAB的符號處理
本章主要內容總結如下:
本章主要介紹了符號運算的簡介,符號表達式的化簡與替換,符號函數圖形的繪制,符號微積分,符號方程的求解,符號積分變換,MAPLE函數的調用,符號函數計算器。其中符號運算簡介主要介紹了符號對象,符號變量、表達式的生成,以及findsym函數和subs函數,符號和數值之間的轉化;符號表達式的化簡與替換主要介紹了用collect函數合并同類項,用expand函數進行符號表達式的展開,用horner函數將函數轉化為嵌套格式,用factor函數來實現因式分解的功能,simplify和simple函數來實現表達式的化簡,符號表達式的替換可以用subexpr和subs函數;符號函數圖形繪制主要介紹了符號函數曲線的繪制,符號函數曲面網格圖及表面圖的繪制和等值線的繪制;符號微積分主要介紹了符號表達式求極限,符號微分、積分,級數求和和Taylor級數;符號方程的求解主要包括代數方程的求解,代數方程組的求解,微分方程的求解,微分方程組的求解等;符號積分變換主要有符號傅立葉變換,符號拉普拉斯變換,符號Z變換。學習心得體會: 通過本章的學習了解了MATLAB符號計算的幾個功能,有計算、線性代數、化簡、方程求解、特殊的數學函數、符號積分變換,MATLAB提供了與MAPLE的良好接口,通過maple.m和map.m實現。這樣,MATLAB可以實現更強大的符號運算功能功能,為習慣于MAPLE的用戶提供了方便。本章的學習讓我領會了MATLAB強大的符號功能,能夠很好的解決實際生活中問題。
第八章 MATLAB繪圖
本章主要內容總結如下:
本章主要介紹了MATLAB的繪圖功能,首先介紹了MATLAB的圖形窗口,包括圖形窗口的創建與控制,圖形窗口的菜單欄的主要功能;然后介紹了基本圖形的繪制,有二維圖形的繪制,三維圖形的繪制以及如何對圖形進行操作;介紹了特殊圖形的繪制,有條形圖、面積圖、餅狀圖、離散型數據圖、方向矢量圖和速度矢量圖、等值線繪制,還介紹了在圖形中添加基本注釋,包括文本框,線條,箭頭,框圖,標題,坐標軸,顏色條,圖例;最后介紹了一些三維圖像的高級控制。學習心得體會:
通過本章的學習了解了MATLAB的圖形窗口,掌握了MATLAB基本二維圖形、三維圖形的繪制,以及圖形的基本操作,掌握了MATLAB特殊圖形的繪制,如柱狀圖,餅狀圖,掌握了圖形注釋的添加及管理,了解了三維圖形的視點控制及顏色、光照控制。本章的學習和實際生活聯系的非常緊密,把抽象的數學式子轉化為易理解的圖形,給人一目了然的清晰感覺。這部分知識是一個很好的繪圖工具,對解決其他學科的問題很有幫助。我在學習這一部分知識時,上課緊跟著老師的思路走,模塊很是清晰,學習興趣極高,但是仍存在許多不足的地方,課下一定再進一步努力學習。習題如下:
繪圖:在同一圖像窗口中繪制六副子圖
1.在第一個子圖中同時繪制不同線型不同顏色的正弦和余弦曲線,添加圖例、坐標軸、標題、網格線和邊框線。2.在第二個子圖中繪制磁盤空間的餅圖。3.在第三個子圖中繪制三維網格圖(surf)。4.在第四個子圖中繪制三維曲面圖(mesh)。
5.在第五—六個子圖中同時繪制二維正弦離散圖和紅色點劃線余弦階躍圖。
程序如下:
>> x=[0:pi/10:2*pi];subplot(3,2,1);plot(x,sin(x));hold on;plot(x,cos(x),'r-.');grid on box on >> m=[8 17];>> subplot(3,2,2);>> pie(m,{'可用空間','已用空間'});>> t=0:pi/50:10*pi;>> subplot(3,2,3),plot3(sin(t),cos(t),t);>> grid on >> axis square >> X=-1:0.1:1;>> Y=X';>> X1=X.^2;>> Y1=Y.^2;>> p=ones(3,1);>> p=ones(length(X),1);>> q=ones(1,length(Y));>> X1=p*X1;>> Y1=Y1*q;>> Z=X1+Y1;>> subplot(3,2,4)>> mesh(X,Y,Z)>> n=[0:10:360]*pi/180;>> N=sin(n);>> subplot(3,2,5),stem(n,N)>> subplot(3,2,6),stairs(n,N,'r-.');
運行結果如下:
第九章 句柄圖形
本章主要內容總結如下:
本章主要介紹了MATLAB 的圖形對象,圖形對象的屬性,和圖形對象的屬性值的設置和查詢。MATLAB介紹了Root對象,Figure對象,Core對象,Plot對象,Annotation對象,Group對象;圖形對象的屬性包括公共屬性和特有屬性;圖形對象屬性值的設置和查詢首先通過構造函數返回其創建的對象句柄,然后利用該句柄,用戶可以在對象創建完成后對其屬性值進行查詢和修改。學習心得體會:
通過本章的學習了解MATLAB圖形對象及其屬性,掌握MATLAB圖形對象屬性的設置及其查詢,掌握了MATLAB圖形句柄的訪問及其操作。句柄圖形是MATLAB中用于創建圖形的面向對象的圖形系統。通過圖形句柄,MATLAB可以對圖形元素進行操作,而這些圖形正是產生各種類型圖形的基礎。利用圖形句柄,可以在MATLAB中修改圖形的顯示效果,創建繪圖函數。對于這部分知識的學習有所欠缺,課下應該多加練習。
第十章GUI設計
本章主要內容總結如下:
本章主要介紹了GUI的基本控件,如何創建簡單的GUI,如何向界面中添加控件以及如何設置設置控件的屬性和編寫響應函數;本章還介紹了通過向導創建GUI界面和通過程序創建GUI,其中通過向導創建包括1,啟動GUIDE2,2,向GUI中添加控件并設置控件標志和控件顯示文本,3,創建菜單;通過程序創建GUI的步驟主要包括1,需要實現的功能及需要包含的控件2,需要使用的技術3,創建GUI,4,創建GUI界面和控件,5,初始化GUI,6,定義響應函數,7,該GUI的完整M文件;本章還介紹了如何編寫GUI代碼,包括GUI文件和響應函數。學習心得體會:
通過本章的學習掌握了圖形用戶界面和GUI中所包含的多個圖形對象,如窗口、圖標、菜單和文本的用戶界面。以某種方式選擇或激活這些對象,通常引起動作或發生變化。了解GUI的基本控件,掌握了通過GUIDE創建GUI的方法,也掌握了通過程序創建GUI的方法。對于本章的知識我是比較陌生的,以前從來沒有接觸過,所以剛開始學的時候比較吃力,后來經過老師的講解,和自己在課下的學習,對這部分知識有了一個系統的了解。做作業時,剛開始時,程序運行出錯,后來經過反復修改,終于運行成功,看著自己的GUI成功運行,心中是比較興奮的,課下一定會多加練習的。習題如下:
GUI:繪制拋物線y=ax2+bx+c的圖像,其中參數a、b、c及標題等由界面文本編輯框輸入,設計邊框線按鈕和邊框菜單。M文件程序如下:
function varargout = untitled(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename,...'gui_Singleton', gui_Singleton,...'gui_OpeningFcn', @untitled_OpeningFcn,...'gui_OutputFcn', @untitled_OutputFcn,...'gui_LayoutFcn', [] ,...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});end
if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else
gui_mainfcn(gui_State, varargin{:});end
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = untitled_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;function go_Callback(hObject, eventdata, handles)grid on function tit_Callback(hObject, eventdata, handles)title('?t′??ú??y=a*x.^2+b*x+c')function ax_Callback(hObject, eventdata, handles)axis([-7 7-10 10])function gf_Callback(hObject, eventdata, handles)grid off
function togglebutton5_Callback(hObject, eventdata, handles)function op_Callback(hObject, eventdata, handles)box on box off
function bo_Callback(hObject, eventdata, handles)box on
function bf_Callback(hObject, eventdata, handles)box off
function pushbutton2_Callback(hObject, eventdata, handles)function edit1_Callback(hObject, eventdata, handles)x=str2num(get(handles.edit1,'string'));t=-10:.001:10;y=x(1)*t.^2+x(2)*t+x(3);plot(t,y)function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end
運行結果如下:
第十一章 Simulink的建模與仿真
本章主要內容總結如下:
本章主要介紹了Simulink中的建模方法和基本功能模塊,首先介紹了Simulink建模的基本操作和基本流程,然后介紹了Simulink的各,功能模塊和常見Simulink模型,最后介紹S函數,并通過實例建模以使讀者對Simulink有進一步的認識。學習心得體會:
通過本章的學習了解了Simulink的建模方法和基本模塊,這一部分知識對我來說完全是新的內容,學起來有點吃力,所以應該多花點時間在這部分。這部分知識和專業聯系的比較緊密,專業性很強,一定要學好。
第十二章 文件和數據的導入與導出
本章主要內容總結如下:
本章主要介紹了文件的存儲,數據的導入,文件的打開,文本文件的讀寫,低級文件I/O和利用界面工具導入數據。文本文件的讀寫可以用csvread,csvwrite,dlmread,dlmwrite,textread,textscan等函數來實現。學習心得體會:
通過本章的學習了解了MATLAB的基本數據操作,掌握了MATLAB中文本文件的讀寫方式和MATLAB通過界面導入導出數據,了解MATLAB中的基本輸入輸出函數,這部分知識要深入了解,達到融會貫通的程度。
第四篇:Matlab 總結報告
MATLAB 總結報告
班級:09電氣(1)班 姓名:李瑣 學號:0905071042 MATLAB是一種計算科學軟件,專門以矩陣的形式處理數據,它的功能有強大矩陣運算能力,方便直觀的作圖功能,全面的數值計算功能,圖形用戶界面GUI,仿真,專用工具箱。在MATLAB這本書中講了好多內容,我覺得矩陣和數組、圖形基礎這兩塊內容在實際生活中用的比較多,下面我主要深入講解圖形基礎中二維數組的的基本知識。
MATLAB的圖形功能主要包括數據可視化、創建用戶圖形界面和簡單數據統計處理等,數據或圖形的可視化是進行數據處理或圖形圖像處理的第一步,它不僅僅是二維,還可以是三維空間。要想在MATLAB中進行數據可視化要進行以下步驟,首先要準備需要繪制在MATLAB圖形窗體中的數據,創建圖形窗體,并選擇繪制數據的區域,然后繪制圖形或曲線,設置曲線的屬性,設置繪圖區域的屬性,并添加數據網格線,為繪制的圖形添加標題、軸標簽或者標注文本,最后打印或導出圖形。一、二維圖形中基本繪圖函數的使用
1、基本繪圖函數有Plot, semilogx, semilogy, loglog, polar, plotyy;單矢量繪圖:plot(y),矢量y的元素與y元素下標之間在線性坐標下的關系曲線。雙矢量繪圖:如x和y是同樣長度的矢量, plot(x,y)命令將繪制y元素對應于x元素的xy曲線圖。對數坐標繪圖: x軸對數 semilogx, y軸對數semilogy, 雙對數loglog。極坐標繪圖: polar(theta,rho)theta—角度,rho—半徑。
2、多重曲線繪圖:一組變量繪圖 plot(x,y):若x為矢量,y為矩陣時plot(x,y)用不同的顏色繪制y矩陣中各行或列對應于x的曲線;若x為矩陣,y為矢量時繪圖規則與上面類似,只是將x中的每一行或列對應于y進行繪圖;x和y是同樣大小的矩陣時, plot(x,y)繪制y矩陣中各列對應于x各列的圖形;如果y是矩陣,則plot(y)繪出y中各列相對于行號的圖形,對于n行矩陣,x軸的坐標為[1:n]。多組變量繪圖:對于一系列相應的矩陣yi和xi,可以使用多組變量繪圖法:plot(x1,y1,x2,y2,…,xn,yn),這種方法的優點是允許將不同大小的矩陣或矢量的圖形繪制在一張圖上。雙y軸繪圖:plotyy,在一個圖形窗口繪制兩組數據曲線,共用一個x軸,圖形兩邊各有一個y軸。兩條圖線可以調用不同的繪圖方法。
3、復數繪圖: plot用于函數繪制復數的圖形時,通常虛部是被忽略的。但plot只作用于單個復變量z時,則繪出的是實部對虛部的關系圖(復平面上的一組點)。即這時plot(z)等價于 plot(real(z)).如果在復平面繪制多重線,只能分別以實部和虛部為坐標來繪制,否則虛部將被忽略,并給出警告。二、二維圖形輔助操作命令
1、MATLAB繪圖中的四種線形:實線(-)、點線(:)、點劃線(-.)、虛線(--);標記點類型:.(點), +(加號), *(星號),o(圓圈),×(十字), s(矩形),d(菱形), △(上三角), ▽(下三角), <(左三角),>(右三角), p(五邊形),h(六邊形);線的顏色有紅r,綠g, 藍b, 黃y, 粉紅m, 青c(cyan),黑k.。圖線的其他屬性:可設置圖線的寬度、標記點的邊緣顏色、填充顏色、標記點的大小、加網格。
2、MATLAB提供的用于圖形控制的函數和命令:axis: 人工選擇坐標軸尺寸.clf:清圖形窗口.ginput:利用鼠標的十字準線輸入.Hold:保持圖形.shg:顯示圖形窗口.subplot:將圖形窗口分成N塊子窗口.3、圖形窗口的創建和選擇:figure(n)函數用于為當前的繪圖創建圖形窗口,每運行一次figure就會創建一個新的圖形窗口,n表示第個n窗口,如果窗口定義了句柄,也可以用figure(h)將句柄h的窗口作為當前窗口。clf 命令用于清除當前圖形窗口中的內容。shg命令用于顯示當前圖形窗口。在一個圖形窗口中繪制多個子圖形:subplot(m,n,p), 把窗口分成m×n個小窗口,并把第p個窗口當作當前窗口。在一個已有的圖形上繪圖:用hold on命令在一個已有的圖形上繼續繪圖,使用hold off命令結束繼續繪圖。
4、MATLAB中控制繪圖區域就是控制軸的顯示區域,控制圖軸有兩個函數,一個是axes函數,另一個是axis函數,它們兩個都能實現圖軸設置。Axis函數控制格式為axis(xmin xmax ymin ymax):指定二維圖形x和y軸的刻度范圍。axes函數實際上是控制圖軸的Position屬性。
5、MATLAB的圖形標注方法:title(txt)在圖形窗口頂端的中間位置輸出字符串txt作為標題。Xlabel(txt)在X坐標下的中間位置輸出字符串txt 作為標題。Ylabel(txt)在Y坐標下的中間位置輸出字符串txt 作為標題。
Text 任意定位的標注。gtext 鼠標定位標注。legent 標注圖例。三. 特殊圖形的介紹 1. 條形圖: bar(y), bar(x,y), barh, bar3(y), bar3(x,y),(1)二維條形圖 :bar(y), bar(x,y), barh,如果y是矢量,bar(y)繪制最簡
單的條形圖, 每一個條形圖的位置由y元素的下標決定,高度由y元素的大小決定。當y是m×n階的矩陣時,bar(y)繪制的條形圖以分組或疊加的形式表現。矩陣中每一行元素繪制在一組中,每一列元素繪制在每組中相對應的位置上(各組中同樣顏色的條形表示同一列數據);使用bar(x,y)繪制指定x坐標的條形圖,其中x必須是矢量,用于確定各組條形圖的位置。三維條形圖:bar3(y),將m×n階的矩陣繪制成分布在三維空間中的柱體,有分組形式和分列形式兩種。條形圖中的圖形疊加:通過在相同的位置創建一個與原來條形圖中的坐標軸相對獨立的新的坐標軸實現條形圖的疊加。
2、餅圖: 用于表示矢量或矩陣中各元素所占有的比例。函數pie和pie3提供平面餅圖和三維餅圖的繪圖功能。不分離餅圖: pie(x); 帶分離切塊的餅圖:在矢量x的后面加一個與x相同長度的矢量,該矢量中所有不為0的元素所對應的矢量x中的切塊將被分離出來。使用x中的數據繪制餅圖,x中的每一個元素用餅圖中的一個扇區表示。餅圖的繪圖函數pic(x,explode)功能:繪制向量x的餅圖。不完整的餅圖:如果向量x的元素和小于1,則繪制不完全的餅圖。explode是與向量x大小相同的向量,并且其中不為零的元素所對應的相應部分從餅圖中獨立出來。三維餅圖:有一定厚度的餅圖,由函數pie3實現,調用方法與二維餅圖相同。
3.其他圖形: MATLAB有20多種特殊圖形的繪制方法,下述為常用方法。(1)直方圖: 一種統計運算的結果,它的橫軸是數據的幅度,縱軸是對應于各個幅度數據出現的次數,直方圖沒有負數。bar3h(x,y)Bar(X,Y,WIDTH,參數)功能:對m*n矩陣Y繪制含有m組、每組n個寬度為WIDTH柱形條的直方圖。barth(X,Y,WIDTH,參數)功能:繪制水平直方圖。(2)離散桿狀圖:Stem 離散桿狀圖的繪圖函數stem(x,y,’filled’)功能:繪制向量X中指定的序列Y的填充的離散桿狀圖。(3)階梯圖:調用函數stairs(x,y),每一階梯的起始點為矢量y的數據點。(4)彩色分散點圖函數:scatter(x,y,c,s)x, y為兩個矢量,用于定位數據點,s為繪圖點的大小,c為繪圖所使用的色彩,s和c均可以以矢量或表達式形式給出,s和c為與x或y同長度的矢量時標記點尺 寸和顏色將按線性規律變化。在 scatter函數的前4各參數之后還可以增加第五個參數‘ filled‘,表示填充繪圖點。Scatter與plot 的最大差別在于Scatter可以繪制變尺寸、變顏色的點圖。(5)射線圖:compass 射線圖的繪圖函數 compass(Z)功能:把復數矩陣Z中元素的相角和幅值顯示成從原點輻射的箭頭。Compass(X,Y)等價于compass(X+Y*i).compass(Z,str)使用str確定的線型繪制箭頭。
通過以上介紹,基本上可以很深入的了解到作圖的基本操作,在學習這門課的過程中我領會到了什么叫自覺學習,主動學習,在以往的課程中每個老師對學生的督促都很緊,有時候是不得不學啊,上MATLAB這門課,我從頭至尾都不知道老師為什么這樣做,也許是上課時老師教的內容多,消化不了,所以每次做作業都要自己一個一個重復學習,重復練習,在這門課上花了我不少課余時間,我知道付出的多就一定會收獲的多,我也知道把這門課學好,會在很多地方用到,可以減少很多不必要的麻煩。我覺得能把在這門課學成這樣,不僅要感謝老師的悉心教導,還要感謝同學的熱心幫助,雖然自己學的不是太好,但是我已經付出了嘗試了,從開始的一頭霧水到清楚的理解,再到程序的成功運行,這一系列的過程的體驗才是最美的享受,雖然這門課結束了,但是我對這本書還是會繼續學習下去的,多積累點知識才是最主要的目的。
第五篇:matlab總結
班級: 學號: 姓名:
Matlab學習綜述
MATLAB是一種科學計算軟件,專門以矩陣的形式處理數據。MATLAB將高性能的數值計算和強大的數據可視化功能集成在一起,并提供了大量的內置函數,從而被廣泛地應用于科學計算、控制系統、信息處理等領域的分析、仿真和設計工作,而且利用MATLAB產品的開放式結構,可以非常容易地對MATLAB的功能進行擴充。
MATLAB產品由若干個模塊組成,不同的模塊完成不同的功能,其中主要的核心模塊有MATLAB、MATLAB Toolboxex、MATLAB Compiler Simulink、Simulink Blocksets、Real-time Workshop(RTW)Stateflow。這些產品大體上可以分為以MATLAB為基礎的產品和以Simulink為基礎的產品兩大分支。其中,MATLAB是MATLAB產品家族的基礎,任何其他MATLAB產品產品都以這個模塊為基礎。MATLAB的桌面應用程序開發工具是以MATLAB Compiler為核心的一組編譯工具。Simulink是基于MATLAB的框圖設計環境,可以用來對各種動態系統進行建模,分析和仿真,它的建模范圍廣泛,可以針對任何能夠用數字來描述的系統進行建模。
一種完整的計算機應用語言應該提供對數據的描述和對數據的操作。在M語言中,最常用的數據類型表現手段和形式就是變量和常量,由于MATLAB軟件自身的特點,它是一種以數值計算為基礎的軟件,因此M語言的基本處理單位是數值矩陣或者數值向量,在M語言中統一將矩陣或者向量稱之為數組,因此掌握一些基本的矩陣、向量和數組操作的基本知識就成為了掌握MATLAB軟件的基礎。變量和常量是編程語言中類型的表現手段和形式,掌握變量和常量的概念也是掌握M語言編程的基礎。所謂變量,就是指在程序運行中需要改變數值的量,每一個變量都具有一個名字,變量將在內存中占據一定的空間,以在程序運行的過程中保存其數值,對變量的命名有相應的要求:變量必須以字母開頭,后面可以是字母、數字或者下劃線之間的組合。所謂常量就是在程序運行的過程中不需要改變數值的量。
MATLAB專門以矩陣作為基本的運算單位,首先要掌握向量、矩陣、索引和多維數組的概念,以及在MATLAB環境下創建向量、矩陣和多維數組的方法,以及操作矩陣和多維數值的函數的使用方法。
目前的MATLAB版本中不僅有多達十幾種的基本數據類型。在不同的專業工具箱中還有特殊的數據類型,并且MATLAB還支持面向對象的編程技術,支持用戶自定義的數據類型。獲取MATLAB的數據類型可以在MATLAB命令行窗體中鍵入help datatypes。MATLAB的數據類型包括基本的數值類型,邏輯類型數據、元胞數值、結構和字符串等,需要指出一點,MATLAB的基本數據是雙精度數據類型和字符類型。MATLAB提供了完整的編寫應用程序的功能,這種能力被稱為M語言的高級語言來實現。這種語言是一種解釋性語言,利用該語言編寫的代碼僅能被MATLAB接受,被MATLAB解釋執行。其實,一個M語言文件就是由若干MATLAB的命令組合在一起構成的,和C語言類似。M語言文件都是標準的純文本格式的文件,其文件的擴展名為.m。MATLAB的函數主要有兩類,一類被稱為內建函數,這類函數是由MATLAB的內核提供的,能夠完成基本的運算,例如三角函數、矩陣運算函數等。另外一類函數就是利用高級語言開發的函數文件,這里的函數文件包括用C/FORTRAN語言開發的MEX函數文件,也包括了M函數文件。
M語言文件可以分為兩類,其中一類是腳本文件,另一類是函數文件,腳本文件是最簡單的一種M語言文件。所謂腳本文件就是由一系列的M語言文件指令和命令組成的純文本格式的M文件,執行腳本文件時,文件中的指令或者命令按照出現在腳本文件中的順序依次執行。腳本文件沒有輸入參數,也沒有輸出參數,腳本文件處理的數據或者變量必須在MATLAB的公共工作空間中,腳本文件主要是由注視行和代碼行組成。
函數文件是M文件最重要的組成部分,M語言函數文件能夠接受用戶的輸入參數,并進行計算,然后將計算結果作為函數的返回值返回給調用者,M函數文件和腳本文件不同,函數文件不僅有自己特殊的文件格式,而且不同的函數還分別具有自己的工作空間,函數文件的輸/輸出參數不同,這些輸入/輸出參數在定義的時候不需要指出變量的類型,因為MATLAB默認這些參數都使用雙精度類型,這樣可以簡化程序的編寫。M語言的函數文件不僅可以有一個輸入參數和一個返回值,還可以為M語言函數文件定義多個輸入參數和多個輸出參數,同一個M函數文件中可以包含多個函數。如果在同一個M函數文件中包含了多個函數,那么將出現在文件中的第一個M函數稱為主函數,其余的函數稱為子函數。
經過這么一段時間的學習,對MATLAB有了初步的認識。但是關于它還有很多知識我們所不知道,還有待進一步的學習。以上內容是我對這學期所學課程的總結,可能有些地方總結的不夠到位,因為有些地方學習的不夠深入,所以,以后要更加努力,在MATLAB的學習上多花一些時間,為以后的學習和工作打下基礎。