Matlab實驗報告 (2)
華 北 電 力 大 學 實 驗 報 告實驗環(huán)境MATLAB 7.0實驗名稱實驗一:熟悉MATLAB環(huán)境及Matlab基本操作實 驗 目 的1、熟悉MATLAB環(huán)境及各種基本Matlab操作實驗原理MATLAB 是以復(fù)雜矩陣作為基本編程單元的一種程序設(shè)計語言。它提供了各種矩陣的運算與操作,并有較強的繪圖功能。利用FILE菜單可方便對文件或窗口進行管理。其中FILE|NEW的各子菜單,M-FILE(M文件)、FIGURE(圖形窗口)、或MODEL(SIMULINK編輯界面)分別可創(chuàng)建對應(yīng)文件或模塊。EDIT菜單允許用戶和WINDOWS的剪切板交互信息。MATLAB語言最基本的賦值語句結(jié)構(gòu)為:變量名列表=表達。表達式由操作符或其它字符,函數(shù)和變量名組成,表達式的結(jié)果為一個矩陣,顯示在屏幕上,同時輸送到一個變量中并存放于工作空間中以備調(diào)用。如果變量名和“=”省略,則ANS變量將自動建立,例如鍵入:1900/81,得到輸出結(jié)果:ans =23.4568。在MATLAB中把數(shù)據(jù)繪成圖形可有多種命令一供選擇。下面列出了這些命令: 繪圖命令 Plot 線性X-Y坐標圖 Loglog 雙對數(shù)坐標圖 Semilogx X軸對數(shù)半對數(shù)坐標圖 Semilogy Y軸對數(shù)半對數(shù)坐標圖 Polar 極坐標圖 Mesh 三維消隱圖 Contour 等高線圖 Bar 條形圖 Stairs 階梯圖實 驗 原 理除了可以在屏幕上顯出圖形外,還可以對屏幕上已有的圖形加注釋、題頭或坐標網(wǎng)格。 圖形加注 Title 畫題頭 Xlabel x軸標注 Ylabel y軸標注 Text 任意定位的標注 Gtext 鼠標定位標注 Dgrid 網(wǎng)格 關(guān)于坐標軸尺寸的選擇和圖形處理等控制命令: 圖形控制命令 Axis 人工選擇坐標軸尺寸 Clg 清除圖形窗口 Ginput 利用鼠標的十字準線輸入 Hold 保持圖形 Shg 顯示圖形窗口 Subplot 將圖形窗口分成N塊子窗 第 14 頁實 驗 內(nèi) 容<驗證性實驗>1、將Matlab當前目錄變更到D:自己姓名拼音文件夾下,并建立新文件畫出y=2 * x的曲線,并將曲線圖形保存在當前目錄下。2、使用for語句及while語句求解1至100整數(shù)中奇數(shù)的和。<設(shè)計性實驗>3、用MATLAB程序建立九九乘法表。4、求連續(xù)自然數(shù)的和,當和大于等于1000時,求最后一個自然數(shù)以及自然數(shù)的和。5、MATLAB函數(shù)是可以遞歸調(diào)用的,即在函數(shù)的內(nèi)部調(diào)用函數(shù)自身,試用遞歸方式編寫n!函數(shù)。實 驗 結(jié) 果 及 分 析實驗1:程序如下x=1:10y=2*x;plot(x,y)仿真結(jié)果:實驗結(jié)果分析:仿真結(jié)果是條很規(guī)則的直線,X軸和Y軸一一對應(yīng),清楚明了,而序又特別簡單。所以用Maltab 軟件很方便地畫出規(guī)則的直線,方便研究。實 驗 結(jié) 果 及 分 析實驗2:程序如下:clear allsum=0;for n=1:2:97 sum=sum+n;endsum=sum+99 disp('程序運行結(jié)束!')實驗結(jié)果如下。實驗2結(jié)果分析: 這道題有多種方法,例如如下程序:clear allsum=0; for i=1:2:100 sum=sum+i; end sum 這道題需要注意的一點是語句sum=sum+i 后要加分號。這樣就不會出現(xiàn)i每賦值一次窗口就顯示一次sum 值。實驗3:程序如下:clear allfor x=1:9 a=; for y=1:x term=(num2str(y),'*',num2str(x),'=',num2str(x*y,'%2d'); if x*y<10 term=term,' ' else term=term,' ' end a=a,term; enddisp(a) end實 驗 結(jié) 果 及 分 析實驗3仿真結(jié)果:實驗4程序如下:clear alln=0;sum=0;while(sum<1000) n=n+1; sum=sum+n;endstr1 = '最后一個自然數(shù)為:',num2str(n);str2 = '計算結(jié)果為:',num2str(sum);disp(str1)disp(str2)實驗4結(jié)果為:實驗5程序:n=input('n');sum=1; if(n=0) break; else for m=1:n sum=sum*m; end end sum仿真結(jié)果:n5sum = 120實驗名稱實驗二: Matlab在通信原理中的應(yīng)用實 驗 目 的1、掌握通信原理課程中基本知識的Matlab編程、仿真方法實驗原理實驗1程序:dt = 0.001; fm = 2; fc = 10; T = 5; t = 0:dt:T;mt = sqrt(2) * cos(2 * pi * fm * t); A = 0.5;s_am = (A + mt).* sin(2 * pi * fc * t);B = 2 * fm; figure(1)subplot(311)plot(t,s_am);hold on; plot(t,A + mt,'r-');title('AM調(diào)制信號及其包絡(luò)');xlabel('t');rt = s_am.*cos(2 * pi * fc * t); rt = rt - mean(rt);f,rf = T2F(t,rt);t,rt = lpf(f,rf,2 * fm); subplot(312)plot(t,rt);hold on;plot(t,mt/2,'r-');title('相干解調(diào)后的信號波形與輸入信號的比較');xlabel('t')subplot(313)f,sf=T2F(t,s_am); psf = (abs(sf).2)/T; plot(f,psf);axis( -2*fc 2*fc 0 max(psf);title(AM信號功率譜');xlabel('f');實 驗 內(nèi) 容<設(shè)計性實驗>1、用Matlab產(chǎn)生一個頻率為2Hz、功率為1的正弦信源m(t),設(shè)載波頻率為10Hz,A分別等于0.5、1、1.5,試畫出:(1)AM調(diào)制信號;(2)調(diào)制信號的功率譜密度;(3)相干解調(diào)后的信號波形(選做)(4)研究調(diào)制深度與失真的關(guān)系。(選做)<設(shè)計性實驗>(選做)2、消息是周期為2s的周期信號,它在區(qū)間的定義如下:該信號用DSB方案調(diào)制50Hz的載波。(1)繪出調(diào)制信號。(2)繪出調(diào)制信號的頻譜。(3)比較調(diào)制信號和未調(diào)制信號的頻譜。實 驗 結(jié) 果 及 分 析1、 A=0.52、 A=1實 驗 結(jié) 果 及 分 析A=1.5實驗名稱實驗三 Matlab在信號與系統(tǒng)中的應(yīng)用實 驗 目 的1、掌握信號與系統(tǒng)課程中基本知識的Matlab編程、仿真方法實 驗 原 理實驗1程序:b=1;a=1 1;p=0.5;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('沖激響應(yīng)');subplot(1,2,2);step(b,a,0:p:5);title('階躍響應(yīng)');實 驗 內(nèi) 容<設(shè)計性實驗>1、用MATLAB在時域中編程求解 y(t)+y(t)=f(t), f(t)= exp(-3t)(t)的沖激響應(yīng)、階躍響應(yīng)。在simulink仿真環(huán)境下,設(shè)計系統(tǒng)框圖,分析系統(tǒng)的沖激響應(yīng)、階躍響應(yīng)。<設(shè)計性實驗>(選做)2、用MATLAB在時域中編程求解 y(t)+y(t)=f(t), f(t)=(1+exp(-3t)(t)的沖激響應(yīng)、階躍響應(yīng),要求用conv編程實現(xiàn)系統(tǒng)響應(yīng)。在simulink仿真環(huán)境下,設(shè)計系統(tǒng)框圖,分析系統(tǒng)的沖激響應(yīng)、階躍響應(yīng)。實 驗 結(jié) 果 及 分 析實驗1仿真結(jié)果:simulink仿真環(huán)境下沖激響應(yīng)階躍響應(yīng)實驗名稱實驗四 Matlab在數(shù)字信號處理中的應(yīng)用實 驗 目 的1、掌握數(shù)字信號處理課程中基本知識的Matlab編程、仿真方法實 驗 原 理實驗1程序:t1=0:1/6000:0.004;x1=1+cos(2*pi*5000*t1);subplot(4,1,1);plot(t1,x1);title('采樣頻率為6千赫茲 ');xlabel('時間');t2=0:1/12000:0.004;x2=1+cos(2*pi*5000*t2);subplot(4,1,2);plot(t2,x2);title('采樣頻率為12千赫茲');xlabel('時間');F1=fft(x1,1024);n=0:1023;f=6000*n/1024;subplot(4,1,3);plot(f,abs(F1);title('6000Hz頻譜');F2=fft(x2,1024);n=0:1023;f=12000*n/1024;subplot(4,1,4);plot(f,abs(F2);title('12000Hz頻譜');實 驗 內(nèi) 容<設(shè)計性實驗>1、對于連續(xù)信號x(t)=1+cos(2ft),其中f=5kHz,分別以采樣頻率fs=6 kHz和fs=12kHz對其進行采樣, (1)分別繪出對應(yīng)的采樣信號。(2)對信號進行傅里葉變換,繪出對應(yīng)的曲線。(3)在simulink仿真環(huán)境下,設(shè)計系統(tǒng)框圖,觀察信號的頻譜成分。<設(shè)計性實驗>(選做)2、對于連續(xù)信號,其中,對信號進行傅里葉變換。設(shè)計合適的采樣頻率對信號進行采樣。對信號進行快速傅里葉變換FFT,分析信號的頻譜成分。在simulink仿真環(huán)境下,設(shè)計系統(tǒng)框圖,分析信號的頻譜成分。實 驗 結(jié) 果 及 分 析實驗1仿真結(jié)果:6khz12kHZ實 驗 總 結(jié)學習了MATLAB這門課程,我了解該軟件的基本功能,也知道了該軟件在我們生活中的重要地位。隨著社會的不斷發(fā)展,科技的不斷進步,計算機的普及,它也被應(yīng)用在越來越多的方面。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,MATLAB的最突出的特點就是簡潔。MATLAB的功能是非常強大的,MATLAB不僅有強大的運算功能,它還有強大的繪圖功能,我對它的了解也僅僅就是一點點,或許說還沒有入門。比如說它含有豐富的內(nèi)建函數(shù),例如數(shù)學函數(shù)中的三角函數(shù)、復(fù)函數(shù)、多項式函數(shù)、數(shù)據(jù)分析函數(shù)的求平均值、最大最小值、排序等,以及邏輯/選擇函數(shù)如ifelse等,還有用來模擬隨機發(fā)生事件的隨機函數(shù)。這些我都不了解。雖學習MATLAB的時間雖然很短,但卻讓我了解到了它的強大和它的功能。我想就算時間足夠,老師也不能把所有的都講解給我們,因為一個軟件的功能需要我們自己不斷的去摸索。老師只是個指路的明燈,最終的學習還是要靠自己。而且在摸索過程中,我們能夠發(fā)現(xiàn)和體會學習的快樂!