Matlab運算與一階動態(tài)電路分析_第1頁
Matlab運算與一階動態(tài)電路分析_第2頁
Matlab運算與一階動態(tài)電路分析_第3頁
Matlab運算與一階動態(tài)電路分析_第4頁
Matlab運算與一階動態(tài)電路分析_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、武漢理工大學專業(yè)基礎實踐課程設計說明書學 號: 課 程 設 計課程名稱專業(yè)基礎實踐課程設計題 目Matlab運算與一階動態(tài)電路分析 學 院信息工程學院專 業(yè)電子信息工程班 級電信1305班姓 名李曉月指導教師楊媛媛2016年1月13日課程設計任務書學生姓名: 李曉月 專業(yè)班級:電信1305班 指導教師: 楊媛媛 工作單位:信息工程學院 題 目: Matlab運算與一階動態(tài)電路分析初始條件:1.Matlab7.1以上版本軟件;2.專業(yè)基礎實踐輔導資料:“Matlab語言基礎及使用入門”、“Matlab及在電子信息課程中的應用”、“線性代數(shù)”及“信號處理類”相關書籍等; 3.先修課程:高等數(shù)學、線

2、性代數(shù)、電路、Matlab應用實踐及信號處理類基礎課程。要求完成的主要任務:(包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求)1.實踐內容:根據(jù)指導老師給定的7套題目,按規(guī)定選擇其中1套獨立完成;2.本專業(yè)基礎實踐統(tǒng)一技術要求:研讀輔導資料對應章節(jié),對選定的設計題目進行理論分析,完成針對具體設計部分的原理分析、建模、必要的推導和可行性分析,畫出程序設計框圖,編寫程序代碼(含注釋),上機調試運行程序,記錄實驗結果(含計算結果和圖表等),并對實驗結果進行分析和總結。具體設計要求包括: 初步了解Matlab、熟悉Matlab界面、進行簡單操作等; Matlab的數(shù)值計算:創(chuàng)建矩陣、矩陣運算

3、、多項式運算、線性方程組、數(shù)值統(tǒng)計等; 基本繪圖函數(shù):了解plot, plot3, mesh, surf等,要求掌握以上繪圖函數(shù)的用法、簡單圖形標注、簡單顏色設定等; 使用文本編輯器編輯m文件,會函數(shù)調用等; 能完成簡單電路的Matlab編程分析;按要求參加專業(yè)基礎實踐的實驗演示和答辯等。3.課程設計說明書按學?!罢n程設計工作規(guī)范”中的“統(tǒng)一書寫格式”撰寫,具體包括: 目錄; 與設計題目相關的理論分析、歸納和總結; 與設計內容相關的原理分析、建模、推導、可行性分析; 程序設計框圖、程序代碼(含注釋)、程序運行結果和圖表、實驗結果分析和總結; 課程設計的心得體會(至少500字); 參考文獻(不少

4、于5篇); 其它必要內容等。時間安排:1周指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日摘要本次課程設計為專業(yè)基礎實踐課程設計,專業(yè)基礎實踐涉及方面很廣泛,包括信號與系統(tǒng)、數(shù)字信號處理、電路分析等各方面知識的相互結合與實際運用。旨在利用MATLAB軟件解決相應的問題或完成相關的電路設計。本次課程設計所選擇的題目是Matlab運算與一階動態(tài)電路分析,一階動態(tài)電路的分析是電路分析課程的一個重要內容,利用MATLAB工具使復雜的電路分析直觀明了,有利于我們對一階電路階躍響應動態(tài)過程的理解。本報告第一部分為MATLAB軟件的概論,包括功能、應用及一些基本的知識。第二部分為本次課程設計

5、的內容,涉及MATLAB各個知識的11道題以及其解答。最后是本次課程設計的心得體會以及一些相關的文獻。關鍵詞:Matlab; 一階動態(tài)電路; 運算AbstractThis course is designed for professional practice-based curriculum design, professional practice involves respect very broad basis, including combined with each other and the practical application of signals and systems

6、, digital signal processing, circuit analysis and other aspects of knowledge. It aims to use MATLAB software solutions corresponding problem or complete the relevant circuit design. The title of curriculum design is chosen Matlab computing and First Order Circuit analysis, analysis of the first orde

7、r dynamic circuits is an important part of circuit analysis program using MATLAB tools make complex circuit analysis intuitive, help us to first order circuit understand the dynamic process of the step response. The first part of this report Introduction to MATLAB software, including features, appli

8、cations and some basic knowledge. The second part of this course is designed to content, involving various knowledge of MATLAB 11 questions and their answers. Finally, this course is designed feelings and experiences as well as some of the relevant literature.Key Words: Matlab;Order Circuits;Operati

9、on目 錄第1章 緒論1第2章 MATLAB語言概述22.1 MATLAB語言的發(fā)展22.2 MATLAB語言的特點42.3 MATLAB的典型應用5第3章 設計題目6第4章 設計內容84.1 題一84.1.1 建模84.1.2 Matlab程序及仿真84.1.3 運行結果分析94.2 題二94.2.1 建模94.2.2 Matlab程序及仿真104.2.3 運行結果分析104.3 題三114.3.1 建模114.3.2 Matlab程序及仿真114.3.3 運行結果分析124.4 題四124.4.1 小題(1)124.4.1.1 Matlab程序分析124.4.1.2 仿真124.4.2 小

10、題(2)134.4.2.1 Matlab程序分析134.4.2.2 仿真134.4.3 小題(3)144.4.3.1 Matlab程序分析144.4.3.2 仿真154.4.4 小題(4)154.4.4.1 Matlab程序分析154.4.4.2 仿真164.5 題五174.5.1 建模174.5.2 Matlab程序及仿真174.5.3 運行結果分析184.6 題六184.6.1 建模184.6.2 Matlab程序及仿真194.6.3 運行結果分析204.7 題七204.7.1 建模204.7.2 Matlab程序及仿真214.7.3 運行結果分析214.8 題八224.8.1 建模224

11、.8.2 Matlab程序及仿真224.8.3 運行結果分析234.9 題九234.9.1 建模244.9.2 Matlab程序及仿真244.9.3 運行結果分析254.10 題十254.10.1 建模254.10.2 Matlab程序及仿真254.10.3 運行結果分析264.11 題十一274.11.1 小題(1)274.11.1.1 建模274.11.1.2 Matlab程序及仿真284.11.2 小題(2)294.11.2.1 建模294.11.2.2 Matlab程序及仿真294.11.3 運行結果分析30第5章 心得體會31參考文獻32致 謝33本科生課程設計成績評定表34第1章

12、緒論21世紀將以科學技術的高速發(fā)展為其特征,中華民族在國家大家庭中的地位將取決于我國的綜合國力,高速度高質量地培養(yǎng)千千萬萬掌握高技術的人才,是其中一個十分重要的任務。要做到這一點,據(jù)必須具有十分的創(chuàng)造性。在20世紀的最后20年中,計算機已經(jīng)被成功地應用于工程設計和制造業(yè)中,在發(fā)達國家中普及率已經(jīng)超過了90%,它成十倍地提高了勞動生產率,創(chuàng)造了空前巨大的物質文明;它把任何創(chuàng)新的思想轉化為市場的商品時間縮短到了驚人的程度,新產品的種類淘汰之快都是20年前無法想象的。國際互聯(lián)網(wǎng)的廣泛應用加快了從產業(yè)全球化的進程。在這個極具挑戰(zhàn)的時代中,把計算機充分應用到該工程計算過程中,顯然具有非常重要的意義。從2

13、0世紀80年代開始,出現(xiàn)了多種科學計算語言,也成為數(shù)學軟件。經(jīng)過十多年的發(fā)展和競爭,已經(jīng)商品化的就有Matlab,Maple,Mathmatica,MathCAD等等。它們的功能大同小異,又各有千秋。就易學性和普及性而言,首推MATLAB語言。本次課程設計就是利用Matlab語言來進行專業(yè)基礎實踐的課程設計,從而完成各種數(shù)學計算和電路計算。本次專業(yè)基礎實踐的題目是Matlab運算與一階動態(tài)電路分析,將電路分析知識與Matlab軟件的應用相結合來解決電路分析與與運算的相關知識,可用性很強。第2章 MATLAB語言概述2.1 MATLAB語言的發(fā)展MATLAB是由美國mathworks公司發(fā)布的主

14、要面對科學計算、可視化以及交互式程序設計的高科技計算環(huán)境。它將數(shù)值分析、矩形計算、視化以線性動態(tài)線性系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學研究、工程設計以及必須進行有效數(shù)值計算的眾多領域一面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。Matlab的圖標如圖2-1所示。圖1 Matlab圖標20世紀70年代,美國新墨西哥大學計算機科學系主任為了減輕學生編程的負擔,用F0RTRAN編寫了最早的MATLAB。MATLAB原名是來源于MATrix LABoratory,即矩陣實驗室的意思

15、。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市場。到20世紀90年代,MATLAB已成為國際控制界的標準計算軟件。1984年推出的最早的一版MATLAB 1.0 ,之后又不斷的完善,相繼在1986年推出MATLAB 2.0,1987年MATLAB 3.0,1992年MATLAB 4.0一直到了2004年推出MATLAB 7.0.1,以及現(xiàn)在2012年最新版本的MATLAB 8.0,可見其軟件的發(fā)展和更新的速度是非??斓摹ATLAB是矩陣實驗室(Matrix Laboratory)之意。除具備卓越的數(shù)值計算能力外,它

16、還提供了專業(yè)水平的符號計算,文字處理,可視化建模仿真和實時控制等功能。經(jīng)過不斷完善MATLAB已經(jīng)發(fā)展成為適合多學科,多種工作平臺的功能強大大大型軟件。成為線性代數(shù),自動控制理論,數(shù)理統(tǒng)計,數(shù)字信號處理,時間序列分析,動態(tài)系統(tǒng)仿真等高級課程的基本教學工具。MATLAB的工作界面如圖2-2所示。圖2 Matlab的工作界面此外MATLAB和Mathematica、Maple并稱為三大數(shù)學軟件。作為一個跨平臺的軟件,MATLAB已推出Unix、Windows、Linux和Mac等十多種操作系統(tǒng)下的版本,大大方便了在不同操作系統(tǒng)平臺下的研究工作。另外MATLAB可以進行矩陣的運算、繪制函數(shù)和數(shù)據(jù)、實

17、現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。MATLAB的基本運算單位是矩陣,它的指令表達式與數(shù)學、工程中常用的形式十分相似,因此用MATLAB來處理運算問題要比C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)秀軟件的優(yōu)點,導致了MATLAB成為了一個非常強大的數(shù)學軟件。2.2 MATLAB語言的特點(1)擁有強大的計算能力MATLAB具有強大的數(shù)值計算能力,能夠完成任意精度的數(shù)值計算。MATLAB是一個包含大量計算算法的集合,MATLAB中有著豐富用戶

18、常用的函數(shù)庫供用戶調用,并且用戶也可以根據(jù)自己需要來編寫自己所需的函數(shù)庫。MATLAB的這些函數(shù)集包括從最簡單最基本的函數(shù)到諸如矩陣,特征向量、快速傅立葉變換的復雜函數(shù)。這些函數(shù)能夠快速解決的很多使用的問題,比如矩陣的運算、線性方程和微分方程的求解符號運算、傅立葉變換和數(shù)據(jù)的統(tǒng)計分析,以及實際工程中各種變換與計算。 (2)豐富的應用工具箱由于MATLAB實用性很強,應用于各個領域之中。為此在不同的領域的MATLAB應用中,MATLAB開發(fā)出很多各領域中實用的工具箱來滿足不同領域人員的需要。用戶可以直接使用工具箱學習、應用和評估不同的方法而不需要自己編寫代碼。目前,MATLAB已經(jīng)把工具箱延伸到

19、了科學研究和工程應用的諸多領域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫接口、概率統(tǒng)計、樣條擬合、優(yōu)化算法、偏微分方程求解、神經(jīng)網(wǎng)絡、小波分析、信號處理、圖像處理、系統(tǒng)辨識、控制系統(tǒng)設計、LMI控制、魯棒控制、模型預測、模糊邏輯、金融分析、地圖工具、非線性控制設計、實時快速原型及半物理仿真、嵌入式系統(tǒng)開發(fā)、定點仿真、DSP與通訊、電力系統(tǒng)仿真等,用戶都可以在工具箱(Toolbox)來進行快速的運用,十分方便。(3)一維以及多維圖像的處理MATLAB能夠快速而又精準的做出各種函數(shù)的一維以及多維的圖像,可以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進行標注和打印。MALAB圖像處理功能可以在一個FORTRAN程序中完

20、成可視化計算。在二維以及多維的圖像處理中,不僅具有很強的立體感和逼真感。此外在MATLAB中還有一些對于其他軟件所沒有的還具有圖像的色彩,光度處理甚至是四維的數(shù)據(jù)的表現(xiàn),而且在MATLAB中還可以由用戶添加圖形與對話,MATLAB也有相應的功能函數(shù),保證了用戶不同層次的要求??傊?,MATLAB中提供了很多豐富的繪圖命令,很方便就可以實現(xiàn)數(shù)據(jù)的可視化。 (4)MATLAB編程功能MATLAB具有程序的結構控制、函數(shù)調用、數(shù)據(jù)結構、輸入輸出,面向對象等程序設計語言特征,編程簡單且效率高。MATLAB可以利用MATLAB編譯器和C/C 數(shù)學庫以及圖形庫,將自己的MATLAB程序自動轉換為獨立于MAT

21、LAB運行的C和C語言的代碼。允許用戶編寫可以和MATLAB進行交互的C語言程序。另外,MATLAB網(wǎng)頁服務程序還容許在Web應用中使用自己的MATLAB數(shù)學和圖形程序。此外MATLAB還具有一套程序擴展系統(tǒng)和一組稱之為工具箱的特殊應用子程序。其中工具箱是MATLAB函數(shù)的子程序庫,每一個工具箱都是為某一類學科專業(yè)和應用而定制的,主要包括信號處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡、模糊邏輯、小波分析和系統(tǒng)仿真等方面的應用??梢奙ATLAB的程序功能是多維的并且操作方便。2.3 MATLAB的典型應用MATLAB的應用領域十分廣闊,典型的應用舉例如下:(1) 數(shù)據(jù)分析(2) 數(shù)值與符號計算;(3) 工程與科學

22、繪圖;(4) 控制系統(tǒng)設計;(5) 航天工業(yè);(6) 汽車工業(yè);(7) 生物醫(yī)學工程;(8) 語音處理;(9) 圖像與數(shù)字信號處理;(10) 財務、金融分析;(11) 建模、仿真及樣機開發(fā);(12) 新算法研究開發(fā);(13) 圖形用戶界面設計。MATLAB 的應用范圍非常廣,包括信號和圖像處理、通訊、控制系統(tǒng)設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領域。附加的工具箱(單獨提供的專用MATLAB函數(shù)集)擴展了MATLAB 環(huán)境,以解決這些應用領域內特定類型的問題。第3章 設計題目Matlab運算與一階動態(tài)電路分析1 計算y1=和y2=;2 繪制函數(shù)在時的曲線。3 用圖形表示離散函

23、數(shù)。4 分析下面每條指令的功能并運行,觀察執(zhí)行結果。(1) X=0:0.25:3;Y=X.*exp(-X);plot(X,Y),xlabel(x), ylabel(y),title(y=x*exp(-x);(2) A=zeros(3,5)A(:)=-4:5L=abs(A)>4islogical(L)X=A(L)(3) A=1:5;6:10pow2(A)(4) A=zeros(3,2)A(:)=1:6A=A*(1+i)A1=A.;B1=A;(5) A=ones(2,3)B=ones(2)C=eye(4)D=diag(C)E=repmat(C,1,3)5 計算在x=0.1與10處的值。6 求

24、函數(shù), n=100的值。7 求1500個元素的隨機數(shù)向量A中大于0.5的元素個數(shù)。8. 用圖形表示連續(xù)調制波形,運行下面的程序,觀察結果,并簡單說明。t1=(0:11)/11*pi;y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi;y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,'r.'),axis(0,pi,-1,1),title('子圖 (1)')subplot(2,2,2),plot(t2,y2,'r.'),axis(0,pi,-1,1),title('子

25、圖 (2)')subplot(2,2,3),plot(t1,y1,t1,y1,'r.')axis(0,pi,-1,1),title('子圖 (3)')subplot(2,2,4),plot(t2,y2)axis(0,pi,-1,1),title('子圖 (4)')9. 計算下列矩陣A正交陣 。 10用FFT直接計算x=3sin(2*pi*50*t)+2cos(2*pi*120*t)+w(t)的功率譜。11. 在如圖所示的電路中,已知:,。 (1)在t=0時, 開關閉合,在開關動作前,電路已達穩(wěn)態(tài),試求:時的和,并畫出它們的波形。 (2)在

26、經(jīng)過10s后,開關閉合,打開,求此時的和,并畫出其波形。第4章 設計內容4.1 題一計算y1=和y2=4.1.1 建模分析:知此題是純粹計算問題,需要調用的是MATLAB中sin()和cos()以及sqrt()函數(shù),其中在MATLAB軟件是pi,直接在MATLAB的command window窗口中直接輸入計算。4.1.2 Matlab程序及仿真圖3 題一結果顯示圖4.1.3 運行結果分析1、第一個實際值y1=0,因為分子cos(0.5)=0,但軟件在計算cos(0.5)其值很小,并不視為0,所以才出現(xiàn)y1 =3.2814e-016。2、第二個計算函數(shù)值y2= 0.2696,比較準確,更接近真

27、實值。4.2 題二繪制函數(shù)在時的曲線。4.2.1 建模分析:這道題目需要我們在0,1范圍內繪制曲線,由資料可知使用plot函數(shù)可以在Matlab中畫出二維圖形。(1)二維圖形繪制plot函數(shù)格式:plot(x,y)。功能:輸入兩個數(shù)組的情況。繪出以x數(shù)組中的元素作為橫坐標,y數(shù)組中的元素作為縱坐標的曲線。還可以使用plot(x,y1,y2,.)的命令格式,以x為向量(即橫軸),以y=y1,y2,為數(shù)據(jù)矩陣,且其中的y1,y2,為橫向量還是列向量都可以得出多條基于相同橫軸的曲(折)線。y的個數(shù)即為曲線的條數(shù)。此命令可以在同一張圖中繪制多條曲線。(2)由于題目中要求的x的取值范圍0到1。其格式如下

28、X=a:b:c,其中a是X的最小取值,c是X的最大的取值,b是X的步進,顯然b值越小,做出的曲線才越接近X連續(xù)變化的曲線,也才越靠近實際的波形。為此實際中取x的步進為0.001作出的圖形如圖4所示。(3)添加圖形標題碼命令title格式:title(string)功能:在當前坐標系的頂部加一個文本串string,作為該圖形的標題。(4)添加坐標軸標志函數(shù)xlabel,ylable,zlable格式:xlabel(text)或ylable(text)或zlable(text)功能:給當前的X軸或Y軸或Z軸標注文本標注4.2.2 Matlab程序及仿真1. Matlab程序代碼x=0:0.01:1

29、; %x為從0到1步進值為0.01的所有取值元素y=x.*(exp(-1*x); %表達式plot(x,y) %繪制圖形xlabel('x');ylabel('y'); %橫軸標注x,縱軸標注ytitle('電信1305 李曉月 繪制圖形') %標明標題2. 仿真圖4 題二結果顯示圖4.2.3 運行結果分析一般在某一確定的已知范圍內繪制一連續(xù)曲線均可以采用plot函數(shù),并且設置的步進值越小結果顯示越精確。4.3 題三用圖形表示離散函數(shù)。4.3.1 建模分析:該離散函數(shù)要調用其絕對值函數(shù)abs()和冪函數(shù)power(),此外由于n是整數(shù)的離散變量,

30、該函數(shù)的作圖可以由plot()函數(shù)來畫出來。n為離散的變量,導致了函數(shù)值y也為離散的點,可以用*來表示。其格式如下:plot(n,y,*)來表示離散的函數(shù)值y。并且n為離散的整數(shù)變量,可以取n在0到12,來畫出其離散函數(shù)的圖形。如圖5所示。4.3.2 Matlab程序及仿真1. Matlab程序代碼n=0:12; %n為從0到12的取值y=abs(n-6).(-1); %表達式plot(n,y,'*'); %繪制圖形xlabel('n');ylabel('y'); %橫軸標注x,縱軸標注ytitle('電信1305 李曉月');

31、%標明標題2. 仿真圖5 題三結果顯示圖4.3.3 運行結果分析從圖中可以準確的觀察出此離散函數(shù)是關于y=6對稱的離散函數(shù),可見Matlab的圖形顯示能力和表達能力及其強大,易讀性和易學性極高,值得學習。4.4 題四分析下面每條指令的功能并運行,觀察執(zhí)行結果。4.4.1 小題(1)4.4.1.1 Matlab程序分析分析:此題中需要用到繪制二維圖形的基本函數(shù)plot,常用形式為plot(x,y);并用title(y=x*exp(-x)為其加上圖形標題;以及用xlabel(x)為其加上x軸說明;用ylabel(y)為其加上y軸說明。X=0:0.25:3; %X取值從0到20每隔0.5取一個數(shù)Y=

32、X.*exp(-X); %Y對于X的表達式,求出X對應下的Y值plot(X,Y); %畫出二維XY圖形xlabel('x'), ylabel('y'); %把X軸上標上x,把Y軸上標上ytitle('電信1305 李曉月 y=x*exp(-x)');%寫明標題4.4.1.2 仿真圖6 題四(1)結果顯示圖4.4.2 小題(2)4.4.2.1 Matlab程序分析分析:此題先用函數(shù)產生一個2行5列的零矩陣,然后給A從-4到5(步長為1)賦值,并判斷其絕對值是否大于4,若大于4則其值為1,否則為0。后面為判斷L是否為邏輯數(shù)組,之后logical()是

33、判斷數(shù)組是否為邏輯數(shù)組,若是,則返回值為1,否則返回值為0.另外X為邏輯數(shù)組L對應為1的位置的列向量的數(shù)據(jù)。A=zeros(2,5) %產生2*5的全零矩陣AA(:)=-4:5 %將-4到5一次賦值給AL=abs(A)>4 %判斷A內容元素絕對值是否大于4,大于返回1,小于返回0,并將返回值構成與A相同行列的矩陣Lislogical(L) %判斷矩陣L內是否為邏輯值,是返回1,不是返回0X=A(L) %X是邏輯數(shù)組L對應1的位置的列向量的數(shù)據(jù)并輸出X4.4.2.2 仿真圖7 題四(2)第一、二步結果顯示圖圖8 題四(2)第三、四步結果顯示圖圖9 題四(2)第五步結果顯示圖4.4.3 小題

34、(3)4.4.3.1 Matlab程序分析分析:A=1:5;6:10創(chuàng)建一個2行5列的矩陣,其值大小從1至10依次遞增1;pow2(A) 將矩陣A中的每個值都變?yōu)?x,x為矩陣中的每個值。A=1:5;6:10%將A定義成第一行為1到5,第二行為6到10的2*5矩陣pow2(A)%將A內各元素冪以2為底的結果4.4.3.2 仿真圖10 題四(3)第一步結果顯示圖 圖11 題四(3)第二步結果顯示圖 4.4.4 小題(4)4.4.4.1 Matlab程序分析分析:A=zeros(3,2);A(:)=1:6;A=A*(1+i) 先創(chuàng)建一個3×2的矩陣,依次賦值1至6,再將A2*(1+i)的

35、值賦給A;A1=A.將A行列轉置后賦給A1;B1=A將A轉置后再取其共軛復數(shù)將其賦給B1。A=ones(2,3) %產生一個2*3全1矩陣AB=ones(2) %產生一個2*2的全1方陣BC=eye(4) %產生一個4*4的單位方陣CD=diag(C) %將C的主對角元素取出形成列向量DE=repmat(C,1,3) %將C看成一個元素,重復C構成一個1*3的矩陣E4.4.4.2 仿真圖12 題四(4)第一、二步結果顯示圖圖13 題四(4)第三、四步結果顯示圖圖14 題四(4)第五步結果顯示圖4.5 題五計算在x=0.1與10處的值。4.5.1 建模分析:該題是求多項式在某些點處的值,MATL

36、AB軟件本身自帶了很多求多項式的函數(shù),對于此題應用的是一些簡單的函數(shù)。在本題中我們需要調用到的函數(shù)多項式求值函數(shù)polyval,其用法的格式為polyval(p,x),該函數(shù)返回的是p在x處的值。4.5.2 Matlab程序及仿真1. Matlab程序代碼x=10; %令x等于0.1或10y=2*x5+0.1*x3-10; %將x代入表示y的多項式y(tǒng)=polyval(y,x) %返回y在x出的值2. 仿真圖15 題五結果顯示圖4.5.3 運行結果分析求多項式在某些點處的值,需要調用到的函數(shù)多項式求值函數(shù)polyval4.6 題六求函數(shù), n=100的值。4.6.1 建模分析:此題中,該數(shù)值的計

37、算需要我們編寫循環(huán)代碼程序,MATLAB中常用循環(huán)結構有while語句和for語句,n的值由自己確定,本題中取n=100。輸出時我們可以使用格式輸出函數(shù)fprintf,也可以直接輸出。程序流程圖如圖16所示。開始結束s=s+(i3)(-1);i=i+1i<=ns=0,i=1NOYES圖16 題六程序流程圖4.6.2 Matlab程序及仿真1. Matlab程序代碼n=100;i=1;sum=0 %對n,i,sum分別進行賦值while(i<=n) %進行判斷,如果i的數(shù)值小于100,進入循環(huán),否則結束 sum=sum+(i3)(-1); %進行計算 i=i+1; %i值自加endi

38、 %輸出isum %輸出sum2. 仿真圖17 題六結果顯示圖4.6.3 運行結果分析while語句和for語句的區(qū)別在于:for循環(huán)適用于已知循環(huán)次數(shù);while循環(huán)適用于未知循環(huán)次數(shù)。4.7 題七求1500個元素的隨機數(shù)向量A中大于0.5的元素個數(shù)。4.7.1 建模分析:首先此題需要利用隨機函數(shù)rand()產生所需的隨機向量,rand()函數(shù)產生的隨機數(shù)是在0到1(不包括0和1),對于此題我們可以將其定義為30×50的隨機向量矩陣。統(tǒng)計其中大于0.5的元素個數(shù)時,我們可以借助于for循環(huán)語句將矩陣中的每一個元素與0.5一一比較而統(tǒng)計個數(shù)。若其大于0.5,則num的值加一。最后輸出

39、num的值即為我們所需要的結果。4.7.2 Matlab程序及仿真1. Matlab程序代碼A=rand(30,50); %隨機產生30*50的矩陣Anum=0; %給次數(shù)num賦初值0for i=1:30; %行向量i從1到30 for j=1:50; %列向量j從1到50 if A(i,j)>0.5 %判斷矩陣A中元素是否大于0.5,若大于則執(zhí)行if語句,否則跳出 num=num+1; %循環(huán)比較,如果大于0.5,次數(shù)加1 end %結束if語句 end %結束第二個for語句end %結束第一個for語句fprintf('num=%d',num)%輸出次數(shù)num2.

40、 仿真圖18 題七結果顯示圖4.7.3 運行結果分析此題當中運用到隨機函數(shù)rand()和立即輸出fprintf()函數(shù),采用循環(huán)比較的方法,使得循環(huán)次數(shù)增加,循環(huán)次數(shù)即為大于0.5的數(shù)字個數(shù)。4.8 題八用圖形表示連續(xù)調制波形,運行下面的程序,觀察結果,并簡單說明。t1=(0:11)/11*pi;y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi;y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,'r.'),axis(0,pi,-1,1),title('子圖 (1)')subplot(2,

41、2,2),plot(t2,y2,'r.'),axis(0,pi,-1,1),title('子圖 (2)')subplot(2,2,3),plot(t1,y1,t1,y1,'r.')axis(0,pi,-1,1),title('子圖 (3)')subplot(2,2,4),plot(t2,y2)axis(0,pi,-1,1),title('子圖 (4)')4.8.1 建模分析:t1是pi分成11等份的一個矩陣,t2是將pi等分100份的矩陣,subplot意思是將函數(shù)分為四個子圖,plot(t1,y1,'r.

42、')中的r表示以紅色點的輸出,小數(shù)點表示會以描點的形式輸出axis()函數(shù)是表示繪圖時x與y的取值區(qū)間,title函數(shù)表示子圖的標題。4.8.2 Matlab程序及仿真1. Matlab程序代碼t1=(0:11)/11*pi; %將pi分成11等份構成矩陣t1 y1=sin(t1).*sin(9*t1);%將t1的元素依次代入函數(shù)表達式t2=(0:100)/100*pi; %將pi分成100等份構成矩陣t2 y2=sin(t2).*sin(9*t2);%將t2的元素依次代入函數(shù)表達式subplot(2,2,1),plot(t1,y1,'r.'),axis(0,pi,-1

43、,1),title('子圖 (1)')%繪制子圖(1)subplot(2,2,2),plot(t2,y2,'r.'),axis(0,pi,-1,1),title('子圖 (2)')%繪制子圖(2)subplot(2,2,3),plot(t1,y1,t1,y1,'r.')axis(0,pi,-1,1),title('子圖 (3)') %繪制子圖(3)subplot(2,2,4),plot(t2,y2),axis(0,pi,-1,1),title('子圖 (4)') %繪制子圖(4)2. 仿真圖19 題

44、八結果顯示圖4.8.3 運行結果分析從圖形中可以得出的結論是:將取值范圍劃分的等份越多,圖形的表示就越精確;plot函數(shù)可以表示成圖形按照需要的不同進行輸出;subplot函數(shù)可以控制圖形的位置;axis函數(shù)控制橫縱坐標的取值范圍;title則表示輸出的圖形標題。4.9 題九計算下列矩陣A正交陣 。 4.9.1 建模分析: 此題要求求解矩陣A的正交陣,可以利用QR來對矩陣進行因式分解,在MATLAB中可以調用函數(shù)qr()來對A進行因式分解,這個命令可以把矩陣A分解為m×n的矩陣。其用法特點是對于(m×n)矩陣,如果它非奇異,則會存在正交矩陣Q和上三角矩陣R,并且當R的對交元

45、都為正時,qr分解是唯一的。利用MATLAB中Q,R=qr(A),即可求得所需的正交矩陣Q和一個上三角形矩陣R,Q的列是形成一個正交基,并且滿足A=Q*R。Q值即為所求的正交矩陣。4.9.2 Matlab程序及仿真1. Matlab程序代碼A=1 1 4;2 2 5;3 3 6 %輸入矩陣AA %直接在面板上輸出矩陣AQ,R=qr(A); %對矩陣A進行因式分解,將A分解成m*n矩陣Q %直接在面板上輸出正交矩陣QR %直接在面板上輸出上三角矩陣R2. 仿真圖20 題九結果顯示圖4.9.3 運行結果分析求解矩陣A的正交陣,利用MATLAB中Q,R=qr(A),即可求得所需的正交矩陣Q和一個上三

46、角形矩陣R,Q的列是形成一個正交基,并且滿足A=Q*R。Q值即為所求的正交矩陣。4.10 題十用FFT直接計算x=3sin(2*pi*50*t)+2cos(2*pi*120*t)+w(t)的功率譜。4.10.1 建模分析:此題目要求的是用快速傅里葉變換來求取函數(shù)的功率譜,其中在MATLAB中fft()是一個進行一維快速傅里葉變換的函數(shù)。其用法如下:設采樣頻率為Fs,信號頻率F,采樣點數(shù)為N。那么FFT之后結果就是一個為N點的復數(shù)。每一個點就對應著一個頻率點。這個點的模值,就是該頻率值下的幅度特性。FFT采樣的第一個點也就是直流分量模除以N即得到的是原始信號的直流分量, 其余頻率的信號的模除以(

47、N/2)即可得到對應頻率的信號的幅值。對于相位滿足Fn=(n-1)*(Fs/N),第一個直流的相位為0,接下各點的相位按照每次遞增Fs/N。4.10.2 Matlab程序及仿真1. Matlab程序代碼fs=100;N=128; %采樣頻率100Hz,抽樣點數(shù)為128點n=0:N-1;t=n/fs;w=rands(1,N); %生成一個1*128的隨機矩陣wx=sin(2*pi*40*t)+2*cos(2*pi*120*t)+w;%產生含有噪聲的序列y=fft(x,N); %對x進行快速傅里葉變換mag=abs(y); %對y取模值f=n*fs/N; %計算信號頻率plot(f(1:N/2),

48、mag(1:N/2); %繪制功率譜波形xlabel('頻率/Hz');ylabel('振幅');title('電信1305 李曉月 功率譜')2. 仿真圖21 題十結果顯示圖4.10.3 運行結果分析用快速傅里葉變換來求取函數(shù)的功率譜,其中在MATLAB中fft()是一個進行一維快速傅里葉變換的函數(shù)。只要掌握fft()的用法就可以根據(jù)表達式得到波形。4.11 題十一在如圖所示的電路中,已知: ,。 (1)在t=0時, 開關閉合,在開關動作前,電路已達穩(wěn)態(tài),試求:時的和,并畫出它們的波形。 (2)在經(jīng)過10s后,開關閉合,打開,求此時的和,并畫出

49、其波形。圖22 題十一電路圖4.11.1 小題(1)4.11.1.1 建模分析:在開始開關未閉合時,電路已達到穩(wěn)態(tài),此時電感,將和短路,即得到,由電感,開關閉合后,由戴維南等效定理,畫出戴維南等效電路圖如下圖,等效電阻,等效電壓。 圖23 戴維南等效電路圖;則需求解微分方程,帶入數(shù)值則需要計算微分方程,令,計算得到的電感電壓為,所得電流為。4.11.1.2 Matlab程序及仿真1Matlab程序代碼US=10;R1=1;R2=4;R3=2;IS=3;L=2; %輸入已知量 IS1=US/R1; %將電壓源等效為電流源´R=(1/R1+1/R2+1/R3)(-1); %計算等效電阻I

50、0=IS; %計算初始電流ISZ=IS1+IS; %計算穩(wěn)定后的總電流T=L/R; %計算時間常數(shù)t=0:0.001:10; %時間變量的賦值IL=(I0-ISZ)*exp(-t./T)+ISZ; %由公式計算電感電流值USd=ISZ*R; UL=USd-IL*R; %根據(jù)基爾霍夫電壓定律求電感電壓subplot(1,2,1)plot(t,IL,'R'),title('IL-t函數(shù)圖) %繪制電感電流IL隨時間變化的函數(shù)圖象 subplot(1,2,2)plot(t,UL),title('UL-t函數(shù)圖') %繪制電感電壓UL隨時間變化的函數(shù)圖象2. 仿真圖24 題十一(1)結果顯示圖4.11.2 小題(2)4.11.2.1 建模分析:當t=10s時,由(1)中,分析電路知:斷開,則R2被短路,化簡的電路如下圖所示。由,通過求解微分方程就可解出,以及。求解微分方程可以通過MATLAB軟件快速求出,在MATLAB軟件命令窗口中令,化簡得,帶入數(shù)值。 L 圖25 化簡后的電路圖4.11.2.2 Matlab程序及仿真1. Matlab程序代碼US=10;R1=1;R2=4;R3=2;IS=3;L=2; %輸入已知量 IS1=US/R1; %將電壓源等效為電流源´R=(1/R1+1/R2+1/R3)(-1); %計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論