当前位置:文档之家› 数字信号处理(MATLAB版)上机实验操作

数字信号处理(MATLAB版)上机实验操作

数字信号处理(MATLAB版)上机实验操作
数字信号处理(MATLAB版)上机实验操作

实验一离散时间信号与系统

一、实验目的:

1、熟悉常见离散时间信号的产生方法;

2、熟悉离散时间系统的单位脉冲响应和单位阶跃响应的求解方法;

3、熟悉离散时间信号经过离散时间系统的响应的求解方法。

二、实验内容:

已知离散时间系统差分方程为y(n)-0.5y(n-1)+0.06y(n-2)=x(n)+x(n-1),求

1、该系统的单位脉冲响应并绘图;

2、该系统的单位阶跃响应并绘图;

3、已知x(n)=可自己指定用filter函数经过系统的响应并绘图;

4、用conv_m函数求系统响应并绘图。

三、实验平台:MA TLAB集成系统

四、设计流程:

此处写个人自己的设计流程

五、程序清单:

此处写程序内容

六、调试和测试结果:

此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法

七、教师评语与成绩评定

此处由老师填写

上机操作:实验一离散时间信号与系统

实验内容:

1.脉冲响应

>> b =[1,1]; a = [1,-0.5,0.06];n = [-10:25];

>> impz(b,a,n);

>> title('Impulse Response'); xlabel('n'); ylabel('h(n)')

2.单位阶跃响应

>> x = stepseq(0,-10,25); s = filter(b,a,x);

Warning: Function call stepseq invokes inexact match d:\MATLAB7\work\STEPSEQ.M.

>> stem(n,s)

>> title('Step Response'); xlabel('n');ylabel('s(n)')

3.>> a=[1,-0.5,0.06];b=[1,1];

>> n=-20:120;

>> x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3);

>> s1=filter(b,a,x1);

>> stem(n,s1);;xlabel('n');ylabel('s1(n)');

4.>> a=[1,-0.5,0.06];b=[1,1];

>> n=-20:120;

>> h=impz(b,a,n);

>> x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3);

>> [y,m]=conv_m(x1,n,h,n);

Warning: Function call conv_m invokes inexact match d:\MATLAB7\work\CONV_M.M. >> stem(m,y);title('系统响应');xlabel('m');ylabel('y(m)');

实验二离散信号与系统的连续频域分析

一、实验目的:

1、掌握离散时间信号的DTFT的MATLAB实现;

2、掌握离散时间系统的DTFT分析;

3、掌握系统函数和频率相应之间的关系。

二、实验内容:

1、自定义一个长度为8点的信号,信号幅度值也由自己任意指定,对该信号作DTFT,分别画出幅度谱和相位谱

2、已知离散时间系统差分方程为y(n)-0.5y(n-1)+0.06y(n-2)=x(n)+x(n-1),求出并画出其频率响应

3、求该系统系统函数,并画极零点图,并通过freqz函数求频率响应。

三、实验平台:MA TLAB集成系统

四、设计流程:

此处写个人自己的设计流程

五、程序清单:

此处写程序内容

六、调试和测试结果:

此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法

七、教师评语与成绩评定

此处由老师填写

上机操作

1

>> n=0:7;

>> x=(0.9*exp(j*pi/3)).^n;

>> w=-pi:pi/200:pi;

>> X=dtft(x,n,w);

>> magX=abs(X);angX=angle(X);

>> subplot(2,1,1);plot(w/pi,magX);xlabel('w/pi');ylabel('幅度|X|');

>> subplot(2,1,2);plot(w/pi,angX);xlabel('w/pi');ylabel('相位(rad/π)');

2

>> a=[1,-0.5,0.06];b=[1,1,0];

>> m=0:length(b)-1;l=0:length(a)-1;

>> w=0:pi/500:pi;

>> num=b*exp(-j*m'*w);

>> den=a*exp(-j*l'*w);

>> H=num./den;

>> magH=abs(H);angH=angle(H);

>> H1=freqz(b,a,w);

>> magH1=abs(H1);angH1=angle(H1);

>> subplot(2,2,2);plot(w/pi,angH/pi);grid; xlabel('w (frequency in pi units)');ylabel('相位(rad/π)');

>> subplot(2,2,1);plot(w/pi,magH);grid;xlabel('w (frequency in pi units)');ylabel('幅度|H|');

>> subplot(2,2,3);plot(w/pi,magH1);grid;xlabel('w (frequency in pi units)');ylabel('幅度|H1|'); >> subplot(2,2,4);plot(w/pi,angH1/pi);grid; xlabel('w (frequency in pi units)');ylabel('相位(rad/π)');axis([0,1,-0.8,0]);

>> figure(2);zplane(b,a);

实验3 离散信号与系统的离散频域分析(DFT)

一、实验目的:

1、掌握离散时间系统的DFT的MATLAB实现;

2、熟悉DTFT和DFT之间的关系。

3、了解信号不同变形的DFT与原信号DFT之间的关系

二、实验内容:

自定义一个长为8点的信号;

1、对信号分别做8点、16点、32点DFT,分别与DTFT合并作图并比较DFT与DTFT之间的关系。

2、在信号后加零扩展至八点,每两个相邻样本之间插入一个零值,扩充为

16点序列,作DFT,画出幅度谱和相位谱,并与原序列的DFT进行比较。

3、将信号以8为周期扩展,得到长为16的两个周期,作DFT,画出幅度谱和相位谱,并与原序列的DFT进行比较。

三、实验平台:MA TLAB集成系统

四、设计流程:

此处写个人自己的设计流程

五、程序清单:

此处写程序内容

六、调试和测试结果:

此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法

七、教师评语与成绩评定

此处由老师填写

上机操作

1.

>> n=0:7;

>> x=(0.9*exp(j*pi/3)).^n;

>> x1=[x zeros(1,8)];x2=[x1 zeros(1,16)];

>> Xk=dft(x,8);Xk1=dft(x1,16);Xk2=dft(x2,32);

>> w=0:pi/200:2*pi;X=dtft(x,n,w);

>> magX=abs(X);angX=angle(X);

>> magXk=abs(Xk);angXk=angle(Xk);magXk1=abs(Xk1);angXk1=angle(Xk1);

>> magXk2=abs(Xk2);angXk2=angle(Xk2);

>> subplot(4,2,1);plot(w/pi,magX);xlabel('w/pi');ylabel('幅度|X|');grid on;

>> subplot(4,2,2);plot(w/pi,angX);xlabel('w/pi');ylabel('相位(rad/π)');

>> subplot(4,2,3);stem(0:7,magXk);xlabel('k');ylabel('幅度|X(k)|');axis([0,8,0,6]);

>> subplot(4,2,4);stem(0:7,angXk);xlabel('k');ylabel('相位(rad/π)');axis([0,8,-2,2]);

>> subplot(4,2,5);stem(0:15,magXk1);xlabel('k');ylabel('幅度|X1(k)|');axis([0,16,0,6]);

>> subplot(4,2,6);stem(0:15,angXk1);xlabel('k');ylabel('相位(rad/π)');axis([0,16,-2,2]);

>> subplot(4,2,7);stem(0:31,magXk2);xlabel('k');ylabel('幅度|X2(k)|');axis([0,32,0,6]);

>> subplot(4,2,8);stem(0:31,angXk2);xlabel('k');ylabel('相位(rad/π)');axis([0,32,-2,2]);

2.

>> n=0:7;

>> x=(0.9*exp(j*pi/3)).^n;

>> for i=1:8 %将原序列每两个相邻样本之间插入一个零值,扩展为长为16的序列y1(2*i-1:2*i)=[x(i) 0];

end

>> Yk1=dft(y1,16);

Warning: Function call dft invokes inexact match D:\MA TLAB7\work\DFT.M.

>> magYk1=abs(Yk1);angYk1=angle(Yk1);

>> y2=[x x]; %将信号以8为周期扩展,得到长为16的两个周期

>> Yk2=dft(y2,16);

>> magYk2=abs(Yk2);angYk2=angle(Yk2);

>> Xk=dft(x,8);

>> magXk=abs(Xk);angXk=angle(Xk);

>> subplot(3,2,1);stem(0:7,magXk);xlabel('k');ylabel('幅度|X(k)|');

>> subplot(3,2,2);stem(0:7,angXk);xlabel('k');ylabel('相位(rad/π)');

>> subplot(3,2,3);stem(0:15,magYk1);xlabel('k');ylabel('幅度|Y1(k)|');

>> subplot(3,2,4);stem(0:15,angYk1);xlabel('k');ylabel('相位(rad/π)');

>> subplot(3,2,5);stem(0:15,magYk2);xlabel('k');ylabel('幅度|Y2(k)|');

>> subplot(3,2,6);stem(0:15,angYk2);xlabel('k');ylabel('相位(rad/π)');

实验四IIR滤波器设计

一、实验目的:

1、掌握各种模拟原型滤波器的滤波特性;

2、掌握模数滤波器变换时的脉冲响应不变法和双线性变换法;

3、掌握低通滤波器变换成其他类型滤波器的方法;

4、能够根据指标选择合适的原型滤波器和合适的方法设计IIR滤波器。

二、实验内容:

1、自定设计指标(通带截止频率、通带波纹、阻带截止频率、阻带衰减),选择合适的模拟原型低通滤波器和合适的设计方法(脉冲响应不变法或双线性变换法),设计符合要求的IIR 滤波器;并验证设计好的滤波器是否满足要求。

2、将此低通滤波器映射为高通、带通或带阻滤波器,并验证变换后的滤波器是否满足指标。

3、求输入x(n)=[cos(w1n)+cos(w2n)]u(n)经过系统后的输出y(n)。其中w1位于通带内,w2位于阻带内,要求做一个两行两列的子图,第一个做x的时域波形,第二个做x的幅度谱,第三个做y的时域波形,第四个做y的幅度谱。

三、实验平台:MATLAB集成系统

四、设计流程:

此处写个人自己的设计流程

五、程序清单:

此处写程序内容

六、调试和测试结果:

此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法

七、教师评语与成绩评定

此处由老师填写

上机操作

窗口设计法:

>> ws1=0.2*pi;wp1=0.35*pi;wp2=0.65*pi;ws2=0.8*pi;As=60;

>> tr_width=min((wp1-ws1),(ws2-wp2));M=ceil(11*pi/tr_width)+1

M =

75

>> n=[0:1:M-1];wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;

>> hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);

Warning: Function call ideal_lp invokes inexact match D:\MATLAB7\work\IDEAL_LP.M.

>> w_bla=(blackman(M))';h=hd.*w_bla;

Warning: Function call blackman invokes D:\MATLAB7\toolbox\signal\signal\blackman.m, however, function D:\MATLAB7\work\BLACKMAN.M

that differs only in case precedes it on the path.

>> [db,mag,pha,grd,w]=freqz_m(h,[1]);delta_w=2*pi/1000;

Warning: Function call freqz_m invokes inexact match D:\MATLAB7\work\FREQZ_M.M.

>> Rp=-min(db(wp1/delta_w+1:1:wp2/delta_w))

Rp =

0.0030

>> As=-round(max(db(ws2/delta_w+1:1:501)))

As =

75

>> subplot(2,2,1);stem(n,hd);xlabel('n');ylabel('hd(n)'); axis([0,M-1,-0.4,0.5]);

>> subplot(2,2,2);stem(n,w_bla);xlabel('n');ylabel('w(n)'); axis([0,M-1,0,1.1]);

>> subplot(2,2,3);stem(n,h);xlabel('n');ylabel('h(n)'); axis([0,M-1, -0.4,0.5);

>> subplot(2,2,4);plot(w/pi,db);xlabel('w');ylabel('db'); axis([0,1, -139,10);

接上面的程序:

>> w1=0.5*pi;w2=0.1*pi;

>> x=cos(w1*n)+cos(w2*n);

>> [y,ny]=conv_m(x,n,h,n);

>> X=dtft(x,n,w);

>> Y=dtft(y,ny,w);

>> magX=abs(X);magY=abs(Y);figure(2);

>> subplot(2,2,1);stem(n,x);xlabel('n');ylabel('x(n)');axis([0,M-1,-2,2]);

>> subplot(2,2,2);plot(w/pi,magX);xlabel('w');ylabel('幅度|X|');axis([0,1,0,40]);

>> subplot(2,2,3);stem(ny,y);xlabel('n');ylabel('y(n)');

>> subplot(2,2,4);plot(w/pi,magY);xlabel('w');ylabel('幅度|Y|');axis([0,1,0,40]);

频率采样法:

>> M=40;alpha=(M-1)/2;l=0:M-1;wl=(2*pi/M)*l;

>> T1=0.109021;T2=0.59417456;

>> Hrs=[zeros(1,5),T1,T2,ones(1,7),T2,T1,zeros(1,9),T1,T2,ones(1,7),T2,T1,zeros(1,4)]; >> Hdr=[0,0,1,1,0,0];wdl=[0,0.2,0.35,0.65,0.8,1];

>> k1=0:floor((M-1)/2);k2=floor((M-1)/2)+1:M-1;

>> angH=[-alpha*(2*pi)/M*k1,alpha*(2*pi)/M*(M-k2)];

>> H=Hrs.*exp(j*angH);h=real(ifft(H,M));

>> [db,mag,pha,grd,w]=freqz_m(h,1);[Hr,ww,a,L]=Hr_Type2(h);

Warning: Function call Hr_Type2 invokes inexact match D:\MATLAB7\work\HR_TYPE2.M. >> subplot(2,2,1);plot(wl(1:21)/pi,Hrs(1:21),'o',wdl,Hdr)

>> axis([0,1,-0.1,1.1]);xlabel('w');ylabel('Hr(k)')

>> subplot(2,2,2);stem(l,h);xlabel('n');ylabel('h(n)');axis([0,M,-0.3,0.3])

>> subplot(2,2,3);plot(ww/pi,Hr,wl(1:21)/pi,Hrs(1:21),'o')

>> axis([0,1,-0.1,1.1]);xlabel('w');ylabel('Hr(w)')

>> subplot(2,2,4);plot(w/pi,db);axis([0,1,-100,10]);xlabel('w');ylabel('db')

接上面的程序:

>> n=[0:1:M-1];

>> w1=0.5*pi;w2=0.1*pi;

>> x=cos(w1*n)+cos(w2*n);

>> [y,ny]=conv_m(x,n,h,n);

>> X=dtft(x,n,w);

>> Y=dtft(y,ny,w);

>> magX=abs(X);magY=abs(Y);figure(2);

>> subplot(2,2,1);stem(n,x);xlabel('n');ylabel('x(n)');axis([0,M-1,-2,2]);

>> subplot(2,2,2);plot(w/pi,magX);xlabel('w');ylabel('幅度|X|');axis([0,1,0,21]); >> subplot(2,2,3);stem(ny,y);xlabel('n');ylabel('y(n)');

>> subplot(2,2,4);plot(w/pi,magY);xlabel('w');ylabel('幅度|Y|');axis([0,1,0,21]);

实验五FIR滤波器设计方法

一、实验目的:

1、掌握不同窗函数的性能指标;

2、根据指标选择窗函数设计FIR滤波器。

3、掌握频率采样法设计FIR滤波器

二、实验内容:

自定滤波器的类型(低通,高通或带通)、设计指标(通带截止频率、通带波纹、阻带截止频率、阻带衰减)

1、根据指标选择合适的窗函数,用窗口设计法设计符合指标的FIR滤波器;并验证其性能是否满足预定指标。

参考书上例题

2、根据指标选择合适的采样点数,用频率采样法设计符合指标的FIR滤波器;并验证其性能是否满足预定指标。

参考书上例题

求出通带内的Rp和阻带内的As,或者用两行两列的子图分别将结果列出来。

3、求输入x(n)=[cos(w1n)+cos(w2n)]u(n)经过系统后的输出y(n)。其中w1位于通带内,w2位于阻带内,要求做一个两行两列的子图,第一个做x的时域波形,第二个做x的幅度谱,第三个做y的时域波形,第四个做y的幅度谱。

三、实验平台:MA TLAB集成系统

四、设计流程:

此处写个人自己的设计流程

五、程序清单:

此处写程序内容

六、调试和测试结果:

此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法

参考结果

设计指标:wp=0.3*pi;ws=0.4*pi;Rp=1;As=40;

要点:设计指标要与结果图一致

七、教师评语与成绩评定

此处由老师填写

上机操作

模拟原型Butterworth滤波器:

>> wp=0.4*pi;ws=0.6*pi;Rp=0.5;As=50;

>> [b,a]=afd_butt(wp,ws,Rp,As);

*** Butterworth Filter Order = 17

>> [db,mag,pha,w]=freqs_m(b,a,pi);

>> [ha,x,t]=impulse(b,a,100);

>> subplot(2,2,1);plot(w/pi,mag);xlabel('w');ylabel('|H|');grid on

>> subplot(2,2,2);plot(w/pi,pha);xlabel('w');ylabel('相位'); grid on

>> subplot(2,2,3);plot(w/pi,db);xlabel('w');ylabel('db'); grid on

>> subplot(2,2,4);plot(t,ha);xlabel('t');ylabel('ha(t)'); axis([0,100,-0.2,0.4]);grid on

双线性变换法求得的数字Butterworth低通滤波器:

>> wp=0.4*pi;ws=0.6*pi;Rp=0.5;As=50;

>> T=2;OmegaP=(2/T)*tan(wp/2);OmegaS=(2/T)*tan(ws/2);

>> N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS))); >> OmegaC=OmegaP/((10^(Rp/10)-1)^(1/(2*N)));wn=2/pi*atan(OmegaC*T/2); >> [b,a]=butter(N,wn);

>> [db,mag,pha,grd,w] = freqz_m(b,a);

>> n=0:100;

>> h=impz(b,a,n);

>> subplot(2,2,1);plot(w/pi,mag);xlabel('w');ylabel('|H|'); axis([0,1,0,1.15]);grid on >> subplot(2,2,2);plot(w/pi,pha);xlabel('w');ylabel('相位'); axis([0,1,-4,4]); grid on >> subplot(2,2,3);plot(w/pi,db);xlabel('w');ylabel('db'); axis([0,1,-140,20]); grid on >> subplot(2,2,4);stem(n,h);xlabel('n');ylabel('h(n)'); axis([0,100,-0.2,0.4]);grid on

由前面的数字Butterworth低通滤波器映射得到的高通滤波器:

接上面的程序

>> wp1=ws;ws1=wp;

>> [N1,wn1]=buttord(wp1/pi,ws1/pi,Rp,As);

>> [b1,a1]=butter(N1,wn1,'high');

>> [db1,mag1,pha1,grd1,w1] = freqz_m(b1,a1);

>> h1=impz(b1,a1,n);

>> subplot(2,2,1);plot(w1/pi,mag1);xlabel('w1');ylabel('|H1|');axis([0,1,0,1.15]);grid on >> subplot(2,2,2);plot(w1/pi,pha1);xlabel('w1');ylabel('相位'); axis([0,1,-4,4]); grid on >> subplot(2,2,3);plot(w1/pi,db1);xlabel('w1');ylabel('db1'); axis([0,1,-140,20]); grid on >> subplot(2,2,4);stem(n,h1);xlabel('n');ylabel('h1(n)'); grid on

信号x(n)通过数字Butterworth低通滤波器:

接上面程序

>> w1=0.3*pi;w2=0.7*pi;

>> x=cos(w1*n)+cos(w2*n);

>> [y,ny]=conv_m(x,n,h',n);

>> X=dtft(x,n,w);

>> Y=dtft(y,ny,w);

>> magX=abs(X);magY=abs(Y);figure(2);

>> subplot(2,2,1);stem(n,x);xlabel('n');ylabel('x(n)');grid on

>> subplot(2,2,2);plot(w/pi,magX);xlabel('w');ylabel('幅度|X|'); grid on

>> subplot(2,2,3);stem(ny,y);xlabel('n');ylabel('y(n)'); grid on

>> subplot(2,2,4);plot(w/pi,magY);xlabel('w');ylabel('幅度|Y|'); grid on

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

西电数字信号处理上机实验报告

数字信号处理上机实验报告 14020710021 张吉凯 第一次上机 实验一: 设给定模拟信号()1000t a x t e -=,t 的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的()a x t 进行采样。 ○1()()15000s a f x t x n =以样本秒采样得到。 ()()11j x n X e ω画出及其频谱。 ○2()()11000s a f x t x n =以样本秒采样得到。 ()() 11j x n X e ω画出及其频谱。 比较两种采样率下的信号频谱,并解释。 (1)MATLAB 程序: N=10; Fs=5; T s=1/Fs; n=[-N:T s:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e^(j\omega))');

ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为%fKHZ\n',eband); 运行结果: 等效带宽为12.110000KHZ

MATLAB学习报告

MATLAB学习报告 在上大学之前,计算机在我的印象和生活中都是一种用于娱乐的机器, 玩游戏、上网、看电影、听音乐和偶尔搜索资料。来到大学以后,我对计算机 的用途有了新的认识。大一的一年里我们接触了很多不同类型的软件有作图的,有做视频的等等。我们还学习了c语言,虽然只是学习的一些皮毛,但是我觉 得这一点皮毛足以改变我对计算机的使用和看法了。 首先我们来介绍一下MATLAB,全称是MATrix LABoratory,即矩阵实验室,是Math work公司推出的一套高效率的数值计算和可视化软件。它是当今 科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并高速发展成 计算机语言。它的优点是强大的科学运算、灵活的程序设计流程、高质量的图 形可视化与界面、便捷的与其他程序和语言接口。Matlab软件的功能。它提供 了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、 便捷的与其他程序和语言接口的功能。在国际学术界,Matlab已经被确认为准确、可靠的科学计算标准软件。在国际一流的学术刊物上,尤其是信息科学刊 物上,都可以看到Matlab的应用。 一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于 它有着不同于其他语言的特点。正如同FORTRAN和C等高级语言使人们摆脱了 需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最 简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点: 1、Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执 行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特 征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的 书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。 2、Matlab的数据库的可覆盖性,可调用性。我记得C语言中,假如你得 调用一个数值,必须是局部函数中赋值,否则就定义为全局变量。还有在C语 言中数据的变量储存是一个问题,自动的有auto,静态变量有static和register。我们有时候很难记忆,所以数据储存容易出现问题。而Matlab软件的数据是由于MATLAB 语言库函数与用户文件的形式相同所以用户文件可以像 数据库函数一样随意调用。所以用户可根据自己的需要任意扩充函数库。 3、Matlab软件编程的简便性,清晰性。用Matlab软件设计程序,它更 加方便快捷。MATLAB 的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在MATLAB 环境下,数组的操作与数的操作一样简单。对比C语言,Matlab确实简单不少。我们在编写程序时简便了许多。例如,求1 1 2 3 5 8 13?这个算法。C语言得用许多的语句去循环算这个算法。而Matlab软件可以首先数据初始化,然后用while去循环,做出循环体,就可以你要多少数据,它会给你多少数据。还有

Matlab上机实验

Matlab 上机实验 一、 实验目的 1、 掌握绘制MATLAB 二维、三维和特殊图形的常用函数; 2、 熟悉并掌握图像输入、输出及其常用处理的函数。 二、 实验内容 1 绘制函数的网格图和等高线图。42 2cos cos y x ye x z +-= 其中x 的21个值均匀分布在[-5,5]范围,y 的31个值均匀分布在[0,10],要求将产生的网格图和等高线图画在同一个图形窗口上。 2 绘制三维曲面图,使用纯铜色调色图阵进行着色,并进行插值着色 处理。?????===s z t s y t s x sin sin cos cos cos 230,20ππ≤≤≤≤t s 3 已知 ???????>++≤+=0),1ln(210,22x x x x e x y π 在-5<=x<=5区间绘制函数曲线。 4 已知y1=x2,y2=cos(2x),y3=y1*y2,其中x 为取值-2π~2π的等差数列(每次增加0.02π),完成下列操作: a) 在同一坐标系下用不同的颜色和线型绘制三条曲线,给三条曲线添加图例; b) 以子图形式,分别用条形图、阶梯图、杆图绘制三条曲线,并分别给三个图形添加标题“y1=x^2”,“y2=cos(2x)”和“y3=

y1*y2”。 5 在xy 平面内选择区域[][],,-?-8888 ,绘制函数 z =的三 种三维曲面图。 6 在[0,4pi]画sin(x),cos(x)(在同一个图象中); 其中cos(x)图象用红色小圆圈画.并在函数图上标注 “y=sin(x)”, “y=cos(x)” ,x 轴,y 轴,标题为“正弦余弦函数图象”. 7 分别用线框图和曲面图表现函数z=cos(x)sin(y)/y ,其中x 的取值为 [-1.5pi,1.5pi],y=x ,要求:要有标题、坐标轴标签 8 有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并加入标题和图列框(用代码形式生成) 9 2 2y x xe z --=,当x 和y 的取值范围均为-2到2时,用建立子窗口 的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图 10 x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。 11 用sphere 函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面图。 12 以自己的个人画像或照片(JPG)为对象,读入该图像并了解图像的信息,同时利用所学函数对其进行灰度、二值、旋转及缩放等处理,并以PNG 形式输出。

数字信号处理上机实验代码

文件名:tstem.m(实验一、二需要) 程序: f unction tstem(xn,yn) %时域序列绘图函数 %xn:被绘图的信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1; stem(n,xn,'.'); xlabel('n');ylabel('yn'); axis([0,n(end),min(xn),1.2*max(xn)]); 文件名:tplot.m(实验一、四需要) 程序: function tplot(xn,T,yn) %时域序列连续曲线绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) %T为采样间隔 n=0;length(xn)-1;t=n*T; plot(t,xn); xlabel('t/s');ylabel(yn); axis([0,t(end),min(xn),1.2*max(xn)]); 文件名:myplot.m(实验一、四需要)

%(1)myplot;计算时域离散系统损耗函数并绘制曲线图。function myplot(B,A) %B为系统函数分子多项式系数向量 %A为系统函数分母多项式系数向量 [H,W]=freqz(B,A,1000) m=abs(H); plot(W/pi,20*log10(m/max(m)));grid on; xlabel('\omega/\pi');ylabel('幅度(dB)') axis([0,1,-80,5]);title('损耗函数曲线'); 文件名:mstem.m(实验一、三需要) 程序: function mstem(Xk) %mstem(Xk)绘制频域采样序列向量Xk的幅频特性图 M=length(Xk); k=0:M-1;wk=2*k/M;%产生M点DFT对应的采样点频率(关于pi归一化值) stem(wk,abs(Xk),'.');box on;%绘制M点DFT的幅频特性图xlabel('w/\pi');ylabel('幅度'); axis([0,2,0,1.2*max(abs(Xk))]); 文件名:mpplot.m(实验一需要)

matlab上机实验指导书

MATLAB应用基础实验指导书

第一章 MATLAB及其工作环境介绍 (1) 1.1 MATLAB简介 (1) 1.2 MATLAB的工作环境介绍 (1) 1.3 MATLAB的基本管理命令 (4) 第二章 MATLAB的数值计算功能 (5) 2.1 变量与赋值语句 (5) 2.2 MATLAB矩阵 (5) 2.3 MATLAB表达式 (10) 2.4 MATLAB常用数学函数 (11) 2.5 矩阵的基本运算 (12) 2.6 数组运算 (16) 2.7 多项式及其运算 (17) 第三章 MATLAB程序设计入门 (19) 3.1 M文件 (19) 3.2 数据的输入输出 (21) 3.3 全局变量和局部变量 (23) 3.4 程序流程控制 (23) 第四章 MATLAB的符号运算功能 (28) 4.1 建立符号对象 (28) 4.2 符号算术运算 (29) 4.3 符号微积分运算 (32) 4.4 符号函数的可视化 (34) 第五章 MATLAB的可视化功能 (37) 5.1 二维图形 (37) 5.2绘制三维图形 (42) 5.3 特殊坐标图形 (44) 5.4 图形句柄 (45)

第一章 MATLAB及其工作环境介绍 1.1 MATLAB简介 MATLAB是matrix和laboratory前三个字母的缩写,意思是实验室矩阵。MATLAB 语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,经过十多年的发展与完善,MATLAB已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图象处理系统、MATLAB数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的体系。MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱组成。 MATLAB具有以下基本功能: ●数值计算功能 ●符号计算功能 ●图形处理及可视化功能 ●可视化建模及动态仿真功能 MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学。其指令格式与数学表达式非常相近,用MATLAB编写程序犹如在便笺上列写公式和求解,因而被称为“便笺式”的编程语言。另外,MATLAB还具有功能丰富和完备的数学函数库及工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高效率,其程序编译和执行速度远远超过了传统的C和FORTRAN语言,因而用MATLAB 编写程序,往往可以达到事半功倍的效果。在图形处理方面,MATLAB可以给数据以二维、三维乃至四维的直观表现,并在图形色彩、视角、品性等方面具有较强的渲染和控制能力,使技术人员对大量原始数据的分析变得轻松和得心应手。 MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。目前MATLAB已成为国际上公认的最优秀的科技应用软件。 1.2 MATLAB的工作环境介绍 一、MATLAB的工作环境

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

数字信号处理上机实验(第三版)

数字信号处理实验(Matlab) 实验一: 系统响应及系统稳定性 %实验1:系统响应及系统稳定性 close all;clear all %======内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n) hn=impz(B,A,58); %求系统单位脉冲响应h(n) subplot(2,2,1);y='h(n)';tstem(hn,y); %调用函数tstem绘图 title('(a)系统单位脉冲响应h(n)');box on y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';tstem(y1n,y); title('(b)系统对R8(n)的响应y1(n)');box on y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';tstem(y2n,y); title('(c)系统对u(n)的响应y2(n)');box on %===内容2:调用conv函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)];

matlab学习心得体会(精选3篇)

matlab学习心得体会(精选3篇) matlab学习心得体会一:matlab学习心得matlab中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。matlab内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。 本学期通过对matlab的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了matlab的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用matlab,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。 matlab是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。 matlab学习心得体会二:matlab学习心得(463字) 学习matlab是听说它是一个功能强大的数学软件,但是正被微积分的计算缠身,听说有一个高级的计算器当然高兴,以后可以偷懒了,当然现在不能偷懒。听说关于自动化的计算特别复杂,如果有一种软件能帮忙解题,那是一种极大的解脱,有益于缩短研究时间。目前我只知道有三种数学软件,都是国外的,没有国内的,差距挺大的。matlab学起来挺顺手的,比c语言简单。但是深入学习的时候却困难重重,因为很多知识都没有学习,就算知道那些函数,也没有什么用处。老师布置的作业难度大,写一篇实验,大一什么都不会,写一篇这种论文谈何容易。最多也就会一些数值计算、符号计算、简单绘图,根本不会什么实验。 学习matlab体会最多的是这个软件的功能强大,好多数学题都被轻易的解出。但是有一点遗憾,不知是我不会用,还是它没个功能,已知空间的电荷分布,求空间的电场分布。其中电场分布是无法用函数表达式表示。我知道计算机肯定可以实现,但是这个软件能不能实现就不知道了,我看过许多资料,但是在这方面没有提到相关信息。 总之,这个软件功能强大,不知什么时候国内才有类似的软件。 matlab学习心得体会三:学习matlab的心得(817字) 这是我在学习的过程中的一些技巧,或许对你有帮助,可能字数不你能满足你的要求,但是绝对是精华。

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

数字信号处理上机实验答案(全)1

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一 系统响应及系统稳定性。 实验二 时域采样与频域采样。 实验三 用FFT 对信号作频谱分析。 实验四 IIR 数字滤波器设计及软件实现。 实验五 FIR 数字滤波器设计与软件实现 实验六 应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 10.1 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握 求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞→n 时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤 (1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter 函数或conv 函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。 (2)给定一个低通滤波器的差分方程为

MATLAB实训小结

实训小结 为期一周的MATLAB实训在学习与忙碌中度过了,时间虽短,但我们却真真切切的学到了知识,在现实工作中可以运用的知识。 在第一节课,我们便了解到MATLAB是世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。对MATLAB的系统结构和特点等,老师也向我们做出了大致的讲解,同时,我们知道了MATLAB程序的一些最基本的应用和运算,并能够进行一些简单的编程。就这样,实训的第一天大家都在期待和兴奋中度过。 接下来的时间,主要是以大家自学和练习为主,老师进行辅导和考察。在学习过程中,不懂的可以相互之间小声的讨论,也可向老师请教,但必须确保自己真正学到了知识,认真的看书并进行编程练习。一天的学习接近尾声时,就是老师考察大家一天的收获的时候了,老师总会出一些小题目让大家编出它的程序,虽然有的题目对我们来说还是有些难度的,但是在老师的指点下我们还是编出程序的,当我们看到自己编的程序运行正确时,总是会万分的兴奋,充满成就感。 就这样,仅仅一个星期的实训就结束了,虽然不能十分熟悉和运用MATLAB的所有程序,但是我们却打下了一定的基础,

在以后,当我们真正开始深入学习这门学问时,我们对它将不会再那么陌生,学起来也将轻松许多。这次实训为我们提供了一个很好的学习机会,唯一不足的就是时间有点短,我们不能在这段时间里学到更多的知识,因此,在这一周打下的基础上,我们需要用自己的努力去自学,以获取更多的知识。 知识是无穷无尽的,知识的获取需要一颗上进的心,老师将我们领进了门,下面的路就应该我们自己去走,即是充满荆棘,也要努力奋斗往前冲。

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

数字信号处理上机报告-一

数字信号处理上机报告-一

数字信号处理第一次上机实验报告 实验一: 设给定模拟信号()1000t a x t e -=,的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的进行采样。 ○1 。 ○2 。 比较两种采样率下的信号频谱,并解释。 实验一MATLAB 程序: (1) N=10; Fs=5; Ts=1/Fs; n=[-N:Ts:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); t ()a x t ()()15000s a f x t x n =以样本秒采样得到。()()11j x n X e ω画出及其频谱()()11000s a f x t x n =以样本秒采样得到。()() 11j x n X e ω画出及其频谱

axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e ^(j\omega))'); ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为 %fKHZ\n',eband); 运行结果:

matlab实习总结

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 matlab开发工作界面 接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用 Matlab是一个强大的数学工具,它的应用广泛,涉及到各个领域.它使用起来十分方便,不用麻烦去定义变量.它的绘图能力很强,甚至可以模拟出三维视图.矩阵是它应用的核心,许多工程繁琐的运算都需要靠矩阵来化简,这正是它的生命力所在.但是,他的函数很多,开始学时记的比较痛苦,我已经深深感觉到了.不过看多了也就熟了,感觉和学五笔差不多.它的语法简单,像我学过C语言的学起来还是蛮容易的.它的数组定义十分符合自然,是从1开始的,数组元素的调用也很

接近数学的表达.此外,函数的名字也很符合英文规则,反正我用得很开心就是了. 通过学习matlab,我又一次锻炼了自己的思维.它学起来得心应手也让我明白了学习一门语言(c语言)对学习其他语言的帮助指导作用.同时,它也加强了我理论联系实际的能力.这是一个专业课的基础工具,学好它是必要的. 在第一章中,讲的是一些matlab的入门技术,除了一些基本操作与介绍之外,还初步认识了简单指令的编制,认识了一些matlab 的特殊符号,例如运算用到的加减乘除。(+—*/)对我来说还是比较容易上手的。 但在第二章开始,开始有点难度了,在第二章我接触到两种数据类型,一个是double,还有就是char,另外还介绍了赋值语句,数学计算,常用函数,输入输出语句和数据文件。其中让我最容易混淆的就是运算的优先等级,当所需要运算的公式较长时,常常因没有弄好运算优先级而把程序编错,这一章也接触了更多的特殊符号,在多次看书之后,还是顺利把老师所布置的作业完成了。 在第三章中,我接触到基本的matlab选择结构,还有控制这个结构的关系运算符和逻辑运算符。也就是if结构。这个结构对运算起到很大作用,跟elseif配合使用的话,就可以将很图方法。还有,我们学习如何控制画图的附加功能,例如线的宽度和符号的颜色。这些属性可由指定的“propertyname”和值Value决定,“propertyname”和值Value将出现在plot命令的数据后。

MATLAB上机实验练习题答案

数学建模 MATLAB上机实验练习题 1、给出一个系数矩阵A[234;541;132],U=[123],求出线性方程组的一个精确解。 2、给出两组数据x=[00.30.81.11.62.3]’y=[0.820.720.630.600.550.50]’,我们可以简单的 认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。 3、解线性方程 4、通过测量得到一组数据: 5、已知一组测量值 6、从某一个过程中通过测量得到: 分别采用多项式和指数函数进行曲线拟合。 7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近 插值法,双线性插值法,二重三次方插值法) 8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。分别使用不同的 颜色,线形和标识符。 9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额

占总销售额的比例,并分离第三种产品的切片。 X=19.322.151.6 34.270.382.4 61.482.990.8 50.554.959.1 29.436.347.0 10、对应时间矢量t,测得一组矢量y t00.30.8 1.1 1.6 2.3 y0.50.82 1.14 1.25 1.35 1.40 采用一个带有线性参数的指数函数进行拟合,y=a0+a1e-t+a2te-t,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。 11、请创建如图所示的结构数组(9分) 姓名编号指标 江明顺071023身高:176,体重:82 于越忠060134身高:168,体重:74 邓拓050839身高:182,体重:77 12、创建如图所示的元胞数组。(9分) 13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。 年份19901992199419961998200020022004200620082010 产量(万吨)75.99591.972105.711123.203131.669150.697179.323203.212226.505249.633256.344 14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。 time=[2.55.07.510.013.017.020.030.040.050.060.070.0] res=[0.290.560.771.051.361.522.002.272.813.053.253.56]

MATLAB课程设计实验体会

课程设计实验体会 学生姓名:李祥胜 学生学号:20120704 专业班级:光信息科学与技术 指导老师:miss Chen 学院:信息工程学院 题目: MATLAB学期实验总结

MATLAB概念及介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和数学建模、小波分析、MATLAB API(App lication Program Interface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输人输出及面向对象等特点的高级语言。利用SIMULINK对系统进行仿真与分析,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。通过虚拟实验环境建立实验仿真电路模型,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。 1.1、MATLAB语言特点及优势 1.1.1、语言特点 MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB 给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。 (1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。 (2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。 (3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。 (4)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 (5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

相关主题
文本预览
相关文档 最新文档