《Matlab實驗報告 (2)》由會員分享,可在線閱讀,更多相關(guān)《Matlab實驗報告 (2)(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、華 北 電 力 大 學(xué) 實 驗 報 告
實驗環(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的剪切
2、板交互信息。
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軸
3、對數(shù)半對數(shù)坐標圖
???????? Semilogy??? Y軸對數(shù)半對數(shù)坐標圖
???????? Polar???????極坐標圖
???????? Mesh???????三維消隱圖
???????? Contour?????等高線圖
???????? Bar?????????條形圖
???????? Stairs???????階梯圖
實 驗 原 理
除了可以在屏幕上顯出圖形外,還可以對屏幕上已有的圖形加注釋、題頭或坐標網(wǎng)格。
???????????????????圖形加注
?????? Title?????????畫題頭
??????? Xl
4、abel?????? x軸標注
??????? Ylabel?????? y軸標注
??????? Text?????????任意定位的標注
??????? Gtext????????鼠標定位標注
??????? Dgrid????????網(wǎng)格?
關(guān)于坐標軸尺寸的選擇和圖形處理等控制命令:
?????????????圖形控制命令
???? Axis???????人工選擇坐標軸尺寸
????? Clg????????清除圖形窗口
????? Ginput??????利用鼠標的十字準線輸入
????? Hold???????保持圖形
????? Shg????????
5、顯示圖形窗口
????? Subplot?????將圖形窗口分成N塊子窗
?
第 14 頁
實 驗 內(nèi) 容
<驗證性實驗>
1、將Matlab當(dāng)前目錄變更到D:\自己姓名拼音文件夾下,并建立新文件畫出y=2 * x的曲線,并將曲線圖形保存在當(dāng)前目錄下。
2、使用for語句及while語句求解1至100整數(shù)中奇數(shù)的和。
<設(shè)計性實驗>
3、用MATLAB程序建立九九乘法表。
4、求連續(xù)自然數(shù)的和,當(dāng)和大于等于1000時,求最后一個自然數(shù)以及自然數(shù)的和。
5、MATLAB
6、函數(shù)是可以遞歸調(diào)用的,即在函數(shù)的內(nèi)部調(diào)用函數(shù)自身,試用遞歸方式編寫n!函數(shù)。
實 驗 結(jié) 果 及 分 析
實驗1:程序如下
x=1:10
y=2*x;
plot(x,y)仿真結(jié)果:
實驗結(jié)果分析:
仿真結(jié)果是條很規(guī)則的直線,X軸和Y軸一一對應(yīng),清楚明了,而序又特別簡單。所以用Maltab 軟件很方便地畫出規(guī)則的直線,方便研究。
實 驗 結(jié) 果 及 分 析
實驗2:程序如下:
clear all
sum=0;
for n=1:2:97
sum=sum+n;
end
sum=sum+99
disp('
7、程序運行結(jié)束!')
實驗結(jié)果如下。
實驗2結(jié)果分析:
這道題有多種方法,例如如下程序:
clear all
sum=0;
for i=1:2:100
sum=sum+i;
end
8、
sum
這道題需要注意的一點是語句sum=sum+i 后要加分號。這樣就不會出現(xiàn)i每賦值一次窗口就顯示一次sum 值。
實驗3:程序如下:
clear all
for 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];
end
disp(a)
end
實
9、驗 結(jié) 果 及 分 析
實驗3仿真結(jié)果:
實驗4程序如下:
clear all
n=0;
sum=0;
while(sum<1000)
n=n+1;
sum=sum+n;
end
str1 = ['最后一個自然數(shù)為:',num2str(n)];
str2 = ['計算結(jié)果為:',num2str(sum)];
disp(str1)
disp(str2)
實驗4結(jié)果為:
實驗5程序:
n=input('n');
sum=1;
if(n==0)
break;
else
f
10、or m=1:n
sum=sum*m;
end
end
sum
仿真結(jié)果:
n5
sum = 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;
11、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);
[
12、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(
13、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)制
14、信號的頻譜。
實 驗 結(jié) 果 及 分 析
1、 A=0.5
2、 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)');
subplo
15、t(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)的沖激
16、響應(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/1
17、2000: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頻譜');
18、
實 驗 內(nèi) 容
<設(shè)計性實驗>
1、對于連續(xù)信號x(t)=1+cos(2πft),其中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)框圖,分析信號的頻譜成分。
實
19、驗 結(jié) 果 及 分 析
實驗1仿真結(jié)果:
6khz
12kHZ
實 驗 總 結(jié)
學(xué)習(xí)了MATLAB這門課程,我了解該軟件的基本功能,也知道了該軟件在我們生活中的重要地位。隨著社會的不斷發(fā)展,科技的不斷進步,計算機的普及,它也被應(yīng)用在越來越多的方面。
MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,MATLAB的最突出的特點就是簡潔。
MATLAB的功能是非常強大的,MATLAB不僅有強大的運算功能,它還有強大的繪圖功能,我對它的了解也僅僅就是一點點,或許說還沒有入門。比如說它含有豐富的內(nèi)建函數(shù),例如數(shù)學(xué)函數(shù)中的三角函數(shù)、復(fù)函數(shù)、多項式函數(shù)、數(shù)據(jù)分析函數(shù)的求平均值、最大最小值、排序等,以及邏輯/選擇函數(shù)如if-else等,還有用來模擬隨機發(fā)生事件的隨機函數(shù)。這些我都不了解。
雖學(xué)習(xí)MATLAB的時間雖然很短,但卻讓我了解到了它的強大和它的功能。我想就算時間足夠,老師也不能把所有的都講解給我們,因為一個軟件的功能需要我們自己不斷的去摸索。老師只是個指路的明燈,最終的學(xué)習(xí)還是要靠自己。而且在摸索過程中,我們能夠發(fā)現(xiàn)和體會學(xué)習(xí)的快樂!