




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、武漢理工大學matlab應用課程設計說明書目錄摘要31 Matlab 軟件簡介41.1 基本功能41.2 應用41.3 發展歷程41.4 特點51.5 優勢52 課程設計內容7題目一:7題目二:7題目三:9題目四:10題目五:18題目六:19題目七:20題目八:22題目九:23題目十:253 課程設計心得26參考文獻:27摘要MATLAB和Mathematica、Maple并稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號
2、檢測、金融建模設計與分析等領域。MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優點,使MATLAB成為一個強大的數學軟件。本次課程設計就是要使用Matla來進行數學計算,熟悉Matlab的操作界面,操作方法,各函數的含義及使用,為日后的學習提供有力的工具。關鍵詞:Matlab, 數學軟件,課程設計261 Matlab 軟件簡介1.1 基本功能 MATLAB是由美國mathworks公司發布的主要面對科學計算、可視化以及交互式程序設計的高
3、科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。1.2 應用 MATLAB 產品族可以用來進行以下各種工作: 數值分析 數值和符號計算 工程與科學繪圖 控制系統的設計與仿真 數字圖像處理技術 數字信號處理技術 通訊系統設計與仿真 財務與金融工程1.3 發展歷程20世紀70年代,美國新墨西哥大學計算機科學系主任Clev
4、e Moler為了減輕學生編程的負擔,用FORTRAN編寫了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市場。到20世紀90年代,MATLAB已成為國際控制界的標準計算軟件。 目前最新版本已更新至MATLAB 7.13 。1.4 特點 (1)高效的數值計算及符號計算功能,能使用戶從繁雜的數學運算分析中解脫出來; (2)具有完備的圖形處理功能,實現計算結果和編程的可視化; (3)友好的用戶界面及接近數學表達式的自然化語言,使學者易于學習和掌握;(4) 功能豐富的應用工具箱(如信號處理工具箱、通信工具箱
5、等) ,為用戶提供了大量方便實用的處理工具。1.5 優勢(1)友好的工作平臺和編程環境MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。(2)簡單易用的程序語言Matlab是一個高級的矩陣/陣列語言,它包含控制語句、函數、數據結構、輸入和輸出和面向對象編程特點。(3)強大的科學計算機數據處理能力MATLAB是一個包含大量計算算法的集合。其擁有600多個工程中要用到的數學運算函數,可以方便的實現用戶所需的各種計算功能。函數中
6、所使用的算法都是科研和工程計算中的最新研究成果,而前經過了各種優化和容錯處理。在通常情況下,可以用它來代替底層編程語言,如C和C+ 。在計算要求相同的情況下,使用MATLAB的編程工作量會大大減少。(4)出色的圖形處理功能MATLAB自產生之日起就具有方便的數據可視化功能,以將向量和矩陣用圖形表現出來,并且可以對圖形進行標注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動畫和表達式作圖。可用于科學計算和工程繪圖。(5)應用廣泛的模塊集合工具箱MATLAB對許多專門的領域都開發了功能強大的模塊集和工具箱。一般來說,它們都是由特定領域的專家開發的,用戶可以直接使用工具箱學習、應用和評估不同
7、的方法而不需要自己編寫代碼。(6)實用的程序接口和發布平臺新版本的MATLAB可以利用MATLAB編譯器和C/C+數學庫和圖形庫,將自己的MATLAB程序自動轉換為獨立于MATLAB運行的C和C+代碼。允許用戶編寫可以和MATLAB進行交互的C或C+語言程序。(7)應用軟件開發(包括用戶界面)在開發環境中,使用戶更方便地控制多個文件和圖形窗口;在編程方面支持了函數嵌套,有條件中斷等;在圖形化方面,有了更強大的圖形標注和處理功能,包括對性對起連接注釋等;在輸入輸出方面,可以直接向Excel和HDF5進行連接。2 課程設計內容題目一:求100,200之間第一個能被19整除的整數。(1)理論分析利用
8、find語句查找,并結合rem函數求得個符合條件的數。(2)程序代碼x=100:200;>> n=find(rem(x,19)=0);>> X=x(n(1)X = 114(3)運算結果圖1、題目一的過程及結果(4)總結通過MATLAB中的特定語句函數可以實現某些特定功能,比如find函數就可以查找出符合條件的數。題目二:繪制對數曲線y=log(x)和指數函數y=x2曲線(一)y=log(x):(1)理論分析本題要用數學表達式表示log函數,之后用plot()函數來將圖形畫出來。(2)程序代碼>> x=0:0.01:100;y=log (x);plot(y)(
9、3)運算結果圖2、y=log(x)的圖像(4)總結Plot()函數在使用時要將需要畫出的函數y放入括號以明確所化函數,此外,在一些函數中要將變量也加入括號。(二)y=x2(1)理論分析本題要用數學表達式表示指數函數,之后用plot()函數來將圖形畫出來。(2)程序代碼x=0:0.01:10;y=x.2;plot(y)(3)運算結果圖3、y=x2的圖像(4)總結在輸入指數的時候,表示x的指數應用x.,不然會出現mpower的錯誤題目三:因式分解(1)理論分析可利用MATLAB自身的函數將上述表達式進行因式分解(2)程序代碼>> syms a b x yfactor(3*(a.2)*(
10、x-y).3-4*(b.2)*(y-x).2) ans =(x-y)2*(3*a2*x-4*b2-3*a2*y)(3)運算結果圖4、題目三的過程及結果(4)總結在表達上述函數時,函數中參數的生命和函數的表達是重點,如果不聲明,軟件將會報錯或者對表達式進行計算。題目四:分析下面每條指令的功能并運行,觀察執行結果。(一)X=0:0.5:6;Y=X.*exp(-X);plot(X,Y),xlabel(x), ylabel(y),title(y=x*exp(-x);(1)理論分析X=0:0.5:6;得到以0.5為步長,取得0到6內的所有實數,確定自變量X的范圍。利用plot函數畫出函數Y的圖像,并設置
11、圖像的一些基本性質。(2)程序代碼X=0:0.5:6;Y=X.*exp(-X);plot(X,Y),xlabel('x'), ylabel('y'),title('y=x*exp(-x)')(3)運算結果圖5、第一段程序的運行(二)A=zeros(1,10)A(:)=-4:5L=abs(A)>3islogical(L)X=A(L)(1)理論分析zeros函數建立一個1*10全0矩陣賦給A,在將-4到5內的整數賦給A,形成新的矩陣。L=abs(A)>3,獲得新的矩陣L,通過邏輯函數islogical得到新的矩陣賦給X。(2)程序代碼A=
12、zeros(1,10)A(:)=-4:5L=abs(A)>3islogical(L)X=A(L)A = 0 0 0 0 0 0 0 0 0 0A = -4 -3 -2 -1 0 1 2 3 4 5(3)運算結果圖6、第二段程序的運行(三)A=2:6;7:11pow2(A)(1)理論分析pow2函數的使用。(2)程序代碼A=2:6;7:11pow2(A)A = 2 3 4 5 6 7 8 9 10 11ans = 4 8 16 32 64 128 256 512 1024 2048(3)運算結果圖7、第三段程序的運行(四)A=zeros(3,4)A(:)=1:12A=A*(1+i)A1=A
13、.B1=A(1)理論分析A=zeros(3,4) A(:)=1:12 獲得一個新的矩陣,主要是區別.的用法。前者是求矩陣的共軛轉置,后者實現非共軛轉置。(2)程序代碼A=zeros(3,4)A(:)=1:12A=A*(1+i)A1=A.'B1=A'A = 0 0 0 0 0 0 0 0 0 0 0 0A = 1 4 7 10 2 5 8 11 3 6 9 12A = 1.0000 + 1.0000i 4.0000 + 4.0000i 7.0000 + 7.0000i 10.0000 +10.0000i 2.0000 + 2.0000i 5.0000 + 5.0000i 8.00
14、00 + 8.0000i 11.0000 +11.0000i 3.0000 + 3.0000i 6.0000 + 6.0000i 9.0000 + 9.0000i 12.0000 +12.0000A1 = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i 6.0000 + 6.0000i 7.0000 + 7.0000i 8.0000 + 8.0000i 9.0000 + 9.0000i 10.0000 +10.0000i 11.0000 +11.0000i 12.0000
15、+12.0000iB1 = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i 4.0000 - 4.0000i 5.0000 - 5.0000i 6.0000 - 6.0000i 7.0000 - 7.0000i 8.0000 - 8.0000i 9.0000 - 9.0000i 10.0000 -10.0000i 11.0000 -11.0000i 12.0000 -12.0000i(3)運算結果圖8、第四段程序的運行(五)A=ones(2,3)B=ones(3)C=magic(4)D=diag(C)E=repmat(C,1,3)(1)理論
16、分析ones函數以及eye,drag,repmat函數的使用。(2)程序代碼A=ones(2,3)B=ones(3)C=magic(4)D=diag(C)E=repmat(C,1,3)A = 1 1 1 1 1 1B = 1 1 1 1 1 1 1 1 1C = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1D = 16 11 6 1E = Columns 1 through 10 16 2 3 13 16 2 3 13 16 2 5 11 10 8 5 11 10 8 5 11 9 7 6 12 9 7 6 12 9 7 4 14 15 1 4 14 15 1
17、4 14 Columns 11 through 12 3 13 10 8 6 12 15 1(3)運算結果圖9、第五段程序的運行題目五:利用whileend循環結構編程求出1+3+5+151的值(1)理論分析while語句 while語句的一般格式為: while (條件) 循環體語句 end其執行過程為:若條件成立,則執行循環體語句,執行后再判斷條件是否成立,如果不成立則跳出循環。之后通過累
18、加可求出上式。(2)程序代碼sum=0;n=1;while n<=152sum=sum+n;n=n+2 ;endsumnsum = 5776n = 153(3)運算結果圖10、題目五的過程及結果題目六:求解線性方程組(1)理論分析本題可以將線性方程組的系數組成矩陣,通過矩陣的計算X=ab,求出X的值。(2)程序代碼A=2 3;3 2;B=1;-1;X=ABX = -1 1(3)運算結果圖11、題目六的過程及結果(4)總結MATLAB可以通過計算矩陣來求解線性方程,方法較為簡單。題目七:編寫程序計算的值,其中的值為 -5 到 10 之間,以 0.5 為步長,通過循環語句實現。(1)理論分析
19、本題要使用IF結構來實現循環,對變量定義后帶入計算式(2)程序代碼>> x=-5:0.5:10;n=length(x);y=zeros(1,n);for i=1:31 if x(i)<=0.10 y(i)=(x(i).3)+5; else if x(i)<=31 y(i)=(-x(i).3)+5; end endendfigureplot(x,y)(3)運算結果圖12、題目七的過程及結果(4)總結在使用IF結構的時候,要注意if、else和end的關系,避免遺漏出錯。題目八:利用函數調用編寫函數文件,求半徑r分別為0.3與15時圓的面積與周長。(1)理論分析本題需要新建
20、M文件來編寫函數文件,通過調用來實現函數的功能(2)程序代碼function s l=circle(r) s=pi*r*r l=2*pi*r s ,l=circle(15)s = 706.8583l = 94.2478s ,l=circle(0.3)s = 0.2827l = 1.8850(3)運算結果圖13、題目八的過程及結果(4)總結在調用函數時要注意被調用的函數的編寫正確,要確保調用的函數的參數正確。題目九:求如下函數的解,并繪制圖形:,初始點為。(1)理論分析要用兩個函數z=fzero('fname',x0,tol,trace)與z=ezplot('fname&
21、#39;),其中用z=fzero('fname',x0,tol,trace)求零點時要用M文件創建調用函數,之后通過調用求出函數的零點。(2)程序代碼function y=fx(x) y=exp(x)-x5 z=fzero('fx',8)ezplot('y=exp(x)-x5')(3)運算結果圖14、題目九的過程及結果(4)總結這道題中要注意函數的調用以及各個函數的用法,本題求零點時出現問題,是調用函數時函數定義存在問題。題目十:編寫程序,實現功能為:創建圖形窗口,并且設置其默認背景為綠色,默認線寬為 5 個象素,在該窗口中繪制橢圓 的圖像,其中
22、的和任選。(1)理論分析本題要用函數將橢圓繪制出來,之后在plot()函數中通過加語句的方式改變繪圖的樣式(2)程序代碼>> sita=0:pi/20:2*pi;plot(5*cos(sita),2*sin(sita),'linewidth',5); whitebg('g')(3)運算結果圖15、題目十的過程及結果(4)總結本題語句簡單但寫起來復雜,信息量較大,要注意各個語句中符號的使用。3 課程設計心得在本次的Matlab應用的課程設計中,整個設計過程都使我懂得了許多,不僅僅是對于Matlab軟件的應用,還有對眾多函數的使用有了更深的理解,并且培養了獨立思考和設計的能力,樹立了對知識應用的信心,相信會對今后的學習工作和生活有非常大的幫助,并且提高了自己的動手實踐操作能力。在學習使用matlab軟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自愿咨詢檢測管理辦法
- 成本估算項目管理辦法
- 壽險從業出勤管理辦法
- 肺功能護理課件
- 育嬰員初級職業道德課件
- 氯堿電解工藝培訓課件
- 肩周炎中醫課件
- 肥皂泡泡課件介紹
- 2025年防殺病毒軟件項目立項申請報告模板
- 手衛生培訓課件
- 2025年鄉村全科助理醫師助理醫師資格證考試必刷題庫(500題)
- 景區抽成合同協議
- 網絡安全知識手冊
- 鐵路公司質量管理制度
- 物業公司接管公寓樓項目工作時間倒推計劃表(T日為入駐日)
- DB1304T 500-2025民用水表、電能表、燃氣表計量糾紛處理規范
- 湖南省長沙市寧鄉市2025年五年級數學第二學期期末統考試題含答案
- 內蒙古赤峰市松山區2024-2025學年九年級上學期期末化學試題(含答案)
- 軟件質量保證措施及案例
- 粉塵防爆培訓教育
- 勞務派遣許可申請書
評論
0/150
提交評論