matlab习题第十章

matlab习题第十章
matlab习题第十章

第十章

实验指导

1. screen=get(0,'screensize');

W=screen(3);

>> H=screen(4);

>> figure('position',[0.2*H,0.2*H,0.5*W,0.3*H],'Name','设计菜单','numbertitle','off','menubar','none');

aa=['new item'];

bb=[‘open item’];

cc=[‘save item’];

dd=[‘help item’];

hfile=uimenu(gcf,'label','&File');)

uimenu(hfile,'label','new','call',msgbox(aa,'Title'),'set(save,''enab le'',''off'')');

uimenu(hfile,’label’,’open’,’call’,msgbox(bb,’Title’),set(sav e,’’enable’’,’’off’’)’);

uimenu(hfile,’lable’,’save’,’call’,msgbox(cc,’Title’)); uimenu(gcf,’lable’,’&Exit’,’call’,close(gcf));

hhelp=uimenu(gcf,’label’,’&Help’);

uimenu(hhelp,’label’,’about,’’call’,msgbox(dd,’Title’),’set( save,’’enable’’,’’on’’))

2、

pdstart=uicontrol(gcf,'style','push','position',...

[50,5,60,25],'string','start plot',...

'callback','t=-pi:pi/20:pi;plot(t,t.*t)');

ptgrid=uicontrol(gcf,'style','toggle','position',...

[150,5,60,25],'string','grid','callback','grid');

htxt=uicontrol(gcf,'style','text','string',...

'color options','position',[200,130,150,20]);

hr=uicontrol(gcf,'style','radio','string',...

'red','position',[200,100,150,25],'value',1,...

'callback',['set(hr,''value'',1);','set(hb,''value'',0);',...

'set(hy,''value'',0);','set(plot(t,t.*t),''color'',''R'')']);

hb=uicontrol(gcf,'style','radio','string',...

'blue','position',[200,75,150,25],'value',1,...

'callback',['set(hb,''value'',1);','set(hr,''value'',0);',...

'set(hy,''value'',0);','set(plot(t,t.*t),''color'',''B'')']);

hy=uicontrol(gcf,'style','radio','string',...

'yellow','position',[200,50,150,25],'value',1,...

'callback',['set(hy,''value'',1);','set(hr,''value'',0);',...

'set(hb,''value'',0);','set(plot(t,t.*t),''color'',''Y'')']);

3、

function varargout = duoxiangshiqiugen(varargin)

% DUOXIANGSHIQIUGEN MATLAB code for duoxiangshiqiugen.fig

% DUOXIANGSHIQIUGEN, by itself, creates a new DUOXIANGSHIQIUGEN or raises the existing

% singleton*.

%

% H = DUOXIANGSHIQIUGEN returns the handle to a new DUOXIANGSHIQIUGEN or the handle to

% the existing singleton*.

%

% DUOXIANGSHIQIUGEN('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in DUOXIANGSHIQIUGEN.M with the given input arguments.

%

% DUOXIANGSHIQIUGEN('Property','Value',...) creates a new DUOXIANGSHIQIUGEN or raises the

% existing singleton*. Starting from the left, property value pairs are % applied to the GUI before duoxiangshiqiugen_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to duoxiangshiqiugen_OpeningFcn via varargin. %

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help duoxiangshiqiugen

% Last Modified by GUIDE v2.5 28-May-2014 09:58:02

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @duoxiangshiqiugen_OpeningFcn, ...

'gui_OutputFcn', @duoxiangshiqiugen_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before duoxiangshiqiugen is made visible.

function duoxiangshiqiugen_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to duoxiangshiqiugen (see VARARGIN)

% Choose default command line output for duoxiangshiqiugen

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes duoxiangshiqiugen wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = duoxiangshiqiugen_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text

% str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

com1=get(handles.edit1,'string');

A=str2mat(com1);

a=str2num(A)

X=roots(a)

set(handles.edit2,'string',num2str(X));

function edit2_Callback(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text

% str2double(get(hObject,'String')) returns contents of edit2 as a double

% --- Executes during object creation, after setting all properties.

function edit2_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function varargout = jizuobiaoquxian(varargin)

% JIZUOBIAOQUXIAN MATLAB code for jizuobiaoquxian.fig

% JIZUOBIAOQUXIAN, by itself, creates a new JIZUOBIAOQUXIAN or raises the existing

% singleton*.

%

% H = JIZUOBIAOQUXIAN returns the handle to a new JIZUOBIAOQUXIAN or the handle to

% the existing singleton*.

%

% JIZUOBIAOQUXIAN('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in JIZUOBIAOQUXIAN.M with the given input arguments.

%

% JIZUOBIAOQUXIAN('Property','Value',...) creates a new JIZUOBIAOQUXIAN or raises the

% existing singleton*. Starting from the left, property value pairs are % applied to the GUI before jizuobiaoquxian_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to jizuobiaoquxian_OpeningFcn via varargin. %

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help jizuobiaoquxian

% Last Modified by GUIDE v2.5 28-May-2014 09:55:56

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @jizuobiaoquxian_OpeningFcn, ...

'gui_OutputFcn', @jizuobiaoquxian_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before jizuobiaoquxian is made visible.

function jizuobiaoquxian_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to jizuobiaoquxian (see VARARGIN)

% Choose default command line output for jizuobiaoquxian

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes jizuobiaoquxian wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = jizuobiaoquxian_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

com1=get(handles.edit1,'string');

com2=get(handles.edit2,'string');

com3=get(handles.edit3,'string');

A=str2mat(com1);

B=str2mat(com2);

C=str2mat(com3);

a=str2num(A);

b=str2num(B);

n=str2num(C);

th=0:0.01:pi;

polar(th,a*cos(b+th*n))

axis([-5,5,-20,20]);

hold on

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text

% str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit2_Callback(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text

% str2double(get(hObject,'String')) returns contents of edit2 as a double

% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit3_Callback(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit3 as text

% str2double(get(hObject,'String')) returns contents of edit3 as a double

% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

5、

思考练习

1.图形用户界面,就是把所需要的M文件,编程一个可以和用户交互的界面程序,这样看起来更直观的一种呈现方式。可以在图形用户界面的窗口内实现输入,执行某一任务,显示结果,关闭窗口等功能,可以二维显示图形,也可以三维显示图形。

2.先根据自己的需要建立用户菜单,使用相应的级数,然后对菜单常用属性进行设置,再根据需要建立快捷菜单参数,最后,设计出一个漂亮的对话框,一个菜单的设计就基本完成了。

3.按钮push button就是一个按钮,只有按下一种状态;双位按钮toggle butt on,有按下和不按下两种状态;单选按钮Radio Button 控件为用户提供由两个或多个互斥选项组成的选项集;check box就是复选框,可以提供任意多个选项的选中和不选中;Edit Text是接受用户输入信息的控件,可以接受用户的信息,也可以提示用户要输入什么信息;列表框List Box控件表示一个选项清单,用户可能用鼠标选择其中一个或者几个选项;弹出框pop-up menu可以弹出一个菜单;static text就是显示静态文本的控件;slider是滑块控件,可以拖动窗口上内容的显示位置;panel控件可以用来组合一组其他的控件; button group 可以有几个button.

4. 第一种是直观的GUI设计工具GUIDE,第二种是利用M文件代码构建界面,即M 文件界面设计。其中GUI设计比较清楚直观,M文件设计过程更加简单,但是需要非常熟练的技巧确保不出错。

5. 可视化编程,就是可视化程序设计:以“所见即所得”的编程思想为原则,力图实现编程工作的可视化,即随时可以看到结果,程序与结果的调整同步。可视化编程是与传统的编程方式相比而言的,这里的“可视”,指的是无须编程,仅通过直观的操作方式即可完成界面的设计工作,是目前最好的Windows应用程序开发工具。

可视化编程语言的特点主要表现在两个方面:一是基于面向对象的思想,引入了类的概念和事件驱动;二是基于面向过程的思想,程序开发过程一般遵循以下步骤,即先进行界面的绘制工作,再基于事件编写程序代码,以响应鼠标、键盘的

各种动作。

%1、编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。 function f=NO_1(X); Y(1)=X;k=1; while (X~=1) k=k+1; if (mod(X,2)==0) X=X/2; else X=3*X+1; end Y(k)=X; end plot(Y,'b.') end % 2、编制程序产生一个数组,满足:a1=1,a2=1,从第三个元素开始,每个元素等于前两个元素的和,直到数组的前后两个元素的比值比小于1e-4,并且以红色点线的形式画出这个数组。 clear; A(1)=1; A(2)=1; i=3; Z=1; while (abs(Z)>=1e-4) A(i)=A(i-1)+A(i-2); Z=A(i-1)/A(i); i=i+1; end plot (A,'r.') % 3、编写一个函数,能够产生分段函数。function y=test_3_1(X) if (X<=2) y=*X; elseif (X>6) y=; else y=调用分段函数,绘制曲线。 clear; i=1; for j=0::2; x(i)=j;y(i)=test_3_1(j)*test_3_1(j+2); i=i+1; end plot(x,y) % 4、在2pi周期内画正弦函数曲线,并加注坐标轴标识和标题,然后在3pi/4,pi,5pi/4处分别加入带箭头的说明性文本,最后加注图例。 clear; t = 0:pi/50:2*pi; n = length(t); y = sin(t); plot(t,y,'-bo','linewidth',1) xlabel('X');ylabel('Y'); title('正弦函数曲线'); text,, ' \leftarrow 3pi/4','FontSize',18); text,, ' \leftarrow 3pi/4','FontSize',18); text,,' \leftarrow 3pi/4','FontSize',18); hleg1 = legend('sin(x)'); % 5、A为任意一个n*m矩阵,写程序来计算A 中有多少个零元素,并输出个数。 A=input('输入一个矩阵 A = ') n=length(find(A==0)) % 6、A为任意一个向量,写程序找出A中的最小元素,并且输出这个最小元素。 A=input('输入一个向量 A = '); x=length(A); i=1; y=A(i); while (iA(i)) y=A(i); end end disp('最小元素是:') disp(y) % 7、某系统由四个典型环节构成,试根据四阶龙格—库塔公式,求输出量y的阶跃响应,取仿真时间Tf=10s, %步长h=。

目录 第1章摘要 (1) 第2章基本原理 (2) 第3章实验步骤.....................................................................5第4章 MATLAB实现编程 (5) 第5章实验结果与分析 (8) 5、1程序分析………………………………………………………………8 5、2信号得波形及幅度频谱 (8) 5、3 结果分析 (9) 第6章总结...........................................................................12参考文献 (13)

第1章摘要 一、数字信号处理 数字信号处理就是将信号以数字方式表示并处理得理论与技术。数字信号处理与模拟信号处理就是信号处理得子集. 数字信号处理得目得就是对真实世界得连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理得输出经常也要变换到模拟域,这就是通过数模转换器实现得。 数字信号处理得算法需要利用计算机或专用处理设备。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都就是模拟信号处理技术与设备所无法比拟得。 数字信号处理得核心算法就是离散傅立叶变换(DFT),就是DFT使信号在数字域与频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用得就是快速傅立叶变换(FFT),FFT得出现大大减少了DFT得运算量,使实时得数字信号处理成为可能、极大促进了该学科得发展。 随着大规模集成电路以及数字计算机得飞速发展,加之从60年代末以来数字信号处理理论与技术得成熟与完善,用数字方法来处理信号,即数字信号处理,已逐渐取代模拟信号处理。 随着信息时代、数字世界得到来,数字信号处理已成为一门极其重要得学科与技术领域. 二、实验目得 本次课程设计应用MATLAB验证时域采样定理。了解MATLAB软件,学习应用MATLAB软件得仿真技术。它主要侧重于某些理论知识得灵活运用,以及一些关键命令得掌握,理解,分析等.初步掌握线性系统得设计方法,培养独立工作能力。 加深理解时域采样定理得概念,掌握利用MATLAB分析系统频率响应得方

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

自动控制原理与系统课程实验报告 实验题目:利用MATLAB进行时域分析 班级:机电1131班姓名:刘润学号:38号 一、实验目的及内容 时域分析法是一种直接在时间域中对系统进行分析的方法,具有直观、准确的优点,并且可以提供系统时间响应的全部信息。在此实验中,主要介绍时域法进行系统分析,包括一阶系统、二阶系统以及高阶系统,以及系统的性能指标。通过实验,能够快速掌握、并利用MATLAB及控制系统箱对各种复杂控制系统进行时域分析。 二、实验设备 三、实验原理 典型的二阶系统在不同的阻尼比的情况下,它们的阶跃响应输出特性的差异是很大的。若阻尼比过小,则系统的振荡加剧,超调量大幅度增加;若阻尼比过大,则系统的响应过慢,又大大增加了调整时间,下面通过此实验课题分析输出响应变化规律: 已知二阶振荡环节的传递函数为:G(s)=ωn*ωn/(s*s+2*ζ*ωn*s+ωn*ωn), 其中ωn=0.4,ζ从0变化到2,求此系统的单位阶跃响应曲线,并分析当ζ发生变化时,二阶系统的响应有什么样的变化规律。

四、实验步骤编出程序如下图: 五、实验结果画出图表如下图:

六、结果分析 (1)当ξ=0(无阻尼)(零阻尼)时: 无阻尼时的阶跃响应为等幅振荡曲线。如图ξ=0曲线。 (2)当0<ξ<1(欠阻尼)时: 对应不同的ξ,可画出一系列阻尼振荡曲线,且ξ越小,振荡的最大振幅愈大。如图ξ=0.4曲线。 (3)当ξ=1(临界阻尼)时: 临界阻尼时的阶跃响应为单调上升曲线。如图ξ=1曲线。 (4)当ξ>1(过阻尼)时: 过阻尼时的阶跃响应也为单调上升曲线。不过其上升的斜率较临界阻尼更慢。如图ξ=1.6曲线 七、教师评语

目录 1、摘要 (1) 2、正文 (2) 2.1、设计目的 (2) 2.2、设计原理 (2) (1)、MTLAB简介 (2) (2)、连续时间信号 (2) (3)、采样定理 (3) (4)、信号重构 (5) 2.3、信号采样和恢复的程序 (5) (1)设计连续信号 (6) (2)设计连续信号的频谱 (7) (3)设计采样信号 ........................................错误!未定义书签。 (4)设计采样信号的频谱图 (9) (5)设计低通滤波器 (10) (6)恢复原信号 (12) 3、总结和致谢........................... 错误!未定义书签。

4、参考文献 (15) 1.摘要 本次课程设计使用MATLAB实现连续信号的采样和重构仿真,了解MATLAB软件,学习使用MATLAB软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。初步掌握线性系统的设计方法,培养独立工作能力。 加深理解采样和重构的概念,掌握利用MATLAB分析系统频率响应的方法和掌握利用MATLAB实现连续信号采用和重构的方法。计算在临界采样、过采样、欠采样三种不同条件下重构信号的误差,并由此总结采样频率对信号重构误差的影响。 要做到以下基本要求: 1. 掌握利用MATLAB分析系统频率响应的方法,增加对仿真软件MATLAB的感性认识,学会该软件的操作和使用方法。 2. 掌握利用MATLAB实现连续信号采用和重构的方法,加深理解采样和重构的概念。 3 . 初步掌握线性系统的设计方法,培养独立工作能力。 4. 学习MATLAB中信号表示的基本方法及绘图函数的调用,实现对常用连续时间信号的可视化表示,加深对各种电信号的理解。 5. 加深理解采样对信号的时域和频域特性的影响;验证信号和系统的基本概念、基本理论,掌握信号和系统的分析方法。 6. 加深对采样定理的理解和掌握,以及对信号恢复的必要性;掌握对连续信号在时域的采样和重构的方法。

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 页脚内容1

命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径? 在MATLAB中有多种获得帮助的途径: (1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器; (2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。 第2章MATLAB矩阵运算基础 页脚内容2

一、实验目的 1.利用MATLAB 实现循环卷积。 2.比较循环卷积与线性卷积的区别。 二、实验条件 PC 机,MATLAB7.0 三、实验内容 1)循环卷积的定义:两个序列的N 点循环卷积定义为: )0()()()]()([1 0N n m n x m h n x n h N k N N <≤-=?∑-= 利用MATLAB 实现两个序列的循环卷积可以分三个步骤完成: (1)初始化:确定循环点数N ,测量输入2个序列的长度。 (2)循环右移函数:将序列x(n)循环右移,一共移N 次(N 为循环卷积的循环次数),最后将每次循环成的新序列组成一个矩阵V 。 (3)相乘:将x(n)移位后组成的矩阵V 与第二个序列h(n)对应相乘,即得循环卷积结果。程序如下: 程序一: clear;close all ; N=10; x1=[6 15 -6 3 5 7 0 1]; x2=[7 1 2 9 4 3 20 6]; xn1=length(x1); xxn1=0:xn1-1; xn2=length(x2); xxn2=0:xn2-1; subplot(3,1,1); stem(xxn1,x1); subplot(3,1,2); stem(xxn2,x2); x11=fft(x1,N);

x12=fft(x2,N); y11=x11.*x12; y1=ifft(y11,N); subplot(3,1,3); n=0:length(y1)-1; stem(n,y1,'.'); title('循环卷积的结果'); xlabel('n');ylabel('y1(n)'); 运行后所得图形如下: 观察所得的循环卷积结果发现并没有呈现周期性的序列,因此将程序做下列改变。程序二: clear;close all; N=40; x1=[6 15 -6 3 5 7 0 1]; x2=[7 1 2 9 4 3 20 6]; x2=[x2,x2,x2,x2]; xn1=length(x1); xxn1=0:xn1-1; xn2=length(x2); xxn2=0:xn2-1; subplot(3,1,1);

课题一: 连续时间信号和系统时域分析及MATLAB实现 课题要求: 深入研究连续时间信号和系统时域分析的理论知识。利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。 1、单位阶跃信号, 2、单位冲激信号, 3、正弦信号, 4、实指数信号, 5、虚指数信号, 6、复指数信号。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘, 4、微分, 5、积分 三、用MATLAB实现信号的时域变换(参数变化,分析波形变化) 1、反转, 2、使移(超时,延时), 3、展缩, 4、倒相, 5、综合变化 四、用MATLAB实现信号简单的时域分解 1、信号的交直流分解, 2、信号的奇偶分解 五、用MATLAB实现连续时间系统的卷积积分的仿真波形 给出几个典型例子,对每个例子,要求画出对应波形。 六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。 给出几个典型例子,四种调用格式。 七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题二: 离散时间信号和系统时域分析及MATLAB实现。 课题要求: 深入研究离散时间信号和系统时域分析的理论知识。利用MATLAB强大的图

形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性) 1、单位序列, 2、单位阶跃序列, 3、正弦序列, 4、离散时间实指数序列, 5、离散时间虚指数序列, 6、离散时间复指数序列。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘。 三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化) 1、反转, 2、时移(超时,延时), 3、展缩, 4、倒相。 四、用MATLAB实现离散时间系统卷积和仿真波形 给出几个典型例子,对每个例子要求画出e(k),h(k),e(i),h(i),h(-i),Rzs(k)波形。 五、用MATLAB实现离散时间系统的单位响应,阶跃响应的仿真波形 给出几个典型例子,四中调用格式。 六、用MATLAB实现离散时间系统对实指数序列信号的零状态响应的仿真波形 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题三: 连续时间信号傅里叶级数分析及MATLAB实现。 课题要求: 深入研究连续时间信号傅里叶级数分析的理论知识,利用MATLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。 课题内容: 一、用MATLAB实现周期信号的傅里叶级数分解与综合 以周期矩形波信号为例,绘出包含不同谐波次数的合成波形,观察合成波形与原矩形 波形之间的关系及吉布斯现象。

第1章 MATLAB 概论 1.1 与其他计算机语言相比较,MATLAB 语言突出的特点是什么? MATLAB 具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB 系统由那些部分组成? MATLAB 系统主要由开发环境、MATLAB 数学函数库、MATLAB 语言、图形功能和应用程序接口五个部分组成。 1.4 MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB 操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view 菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M 文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动。在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB 中有几种获得帮助的途径? 在MATLAB 中有多种获得帮助的途径: (1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器; (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按T ab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 2.1 在MATLAB 中如何建立矩阵?? ? ???194375,并将其赋予变量a ? >> a=[5 7 3;4 9 1] 2.2 有几种建立矩阵的方法?各有什么优点? 可以用四种方法建立矩阵: ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )

matlab 基本语句 1.循环语句for for i=s1:s3:s2 循环语句组 end 解释:首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。 例:求1到100的和,可以编程如下: sum=0 for i=1:1:100 sum=sum+i end 这个程序也可以用while语句编程。 注:for循环可以通过break语句结束整个for循环. 2.循环语句while 例:sum=0;i=1; while(i<=100) sum=sum+i;i=i+1; end 3.if语句 if(条件) 语句 end if(条件) 语句 else 语句 end if(条件) 语句 elseif 语句 end 4.关系表达式:

=,>,<,>=,<=,==(精确等于) 5.逻辑表达式:|(或),&(且) 6.[n,m]=size(A)(A为矩阵) 这样可以得到矩阵A的行和列数 n=length(A),可以得到向量A的分量个数;如果是矩阵,则得到矩阵A的行与列数这两个数字中的最大值。 7.!后面接Dos命令可以调用运行一个dos程序。 8.常见函数: poly():为求矩阵的特征多项式的函数,得到的为特征多项式的各个系数。如 a=[1,0,0;0,2,0;0,0,3],则poly(a)=1 -6 11 -6。相当于poly(a)=1入^3+(-6)入^2+11入+(-6)。 compan():可以求矩阵的伴随矩阵. sin()等三角函数。 MATLAB在数学建模中的应用(3) 一、程序设计概述 MATLAB所提供的程序设计语言是一种被称为第四代编程语言的高级程序设计语言,其程序简洁,可读性很强,容易调试。同时,MATLAB的编程效率比C/C++语言要高得多。 MATLAB编程环境有很多。常用的有: 1.命令窗口 2.word窗口 3.M-文件编辑器,这是最好的编程环境。 M-文件的扩展名为“.m”。M-文件的格式分为两种: ①λ M-脚本文件,也可称为“命令文件”。 ② M-函数文件。这是matlab程序设计的主流。λ 保存后的文件可以随时调用。 二、MATLAB程序结构 按照现代程序设计的观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构是:顺序结构、选择结构和循环结构。其中顺序结构是最基本的结构,它依照语句的自然顺序逐条地执行程序的各条语句。如果要根据输入数据的实际情况进行逻辑判断,对不同的结果进行不同的处理,可以使用选择结构。如果需要反复执行某些程序段落,可以使用循环结构。 1 顺序结构 顺序结构是由两个程序模块串接构成。一个程序模块是完成一项独立功能的逻辑单元,它可以是一段程序、一个函数,或者是一条语句。 看图可知,在顺序结构中,这两个程序模块是顺序执行的,即先执行<程序

第1章 MATLAB简介 1、MA TLAB的主要特点有:①语言简洁,编程效率高。②人机界面友善,交互性好。③绘图功能强大,便于数据可视化。④学科众多、领域广泛的MATLAB工具箱。⑤源程序的开放性。 MATLAB的典型应用领域有:①自动控制②汽车③电子④仪器仪表⑤生物医学⑥信号处理⑦通信等。 2、填空题 ⑴命令窗口、命令历史窗口、当前目录窗口 ⑵查阅、保存、编辑 ⑶清除图形窗、清除命令窗口中显示内容、清除MATLAB工作空间中保存的变量。 3、如果想查看某一变量具体内容或者对其修改操作,可以在工作空间中双击该变量名称,可以打开数组编辑器,在数组编辑器中可以查看变量的具体内容,也可以对其修改。如果想删除MATLAB内存中的变量,可以在工作空间中选中该变量,然后利用工作空间窗口的菜单命令或工具条中的快捷图标进行删除。 4、1+2+3+4+5+... (+ 后面可以直接跟...,也可以在+和...中加一个空格。) 6+7+8+9 1+2+3+4+5 ... (5后面必须跟一个空格,不能直接跟...,否则报错,这在预置一个+6+7+8+9 大数组时很重要。) 第2章矩阵与数值数组 1、填空题: ⑴非数、无穷大、机器零阈值,浮点数相对精度,eps= 2.2204e-016。 ⑵全下标、单下标。 2、阅读程序题: (本题主要考察数组的寻访、赋值和简单运算,提示:带;的语句不显示结果) ⑴ans = 2 3 7 Sa = 10 20 30 A = 1 20 5 30 9 10 4 6 8 10 ⑵ A = 1 3 5 7 9 11 13 15

2 4 6 8 10 12 14 16 ans = 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 A = 0 0 5 7 0 0 13 15 2 4 0 0 10 12 0 0 ⑶ ans = -1 -4 6 4 ans = 3 0 5 -2 ans = 3 6 9 12 ans = 3 6 9 12 3、A=magic(4); L=A<10 L = 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 4、省略。 第3章字符串、元胞和构架数组 1. 直接创建法:S1=['Where there is life,' 'there is hope. '] %注意第2行要加入6个空格使其与第一 行字符数相等,否则报错。 S2=str2mat('Where there is life,','there is hope.') S3=strvcat('Where there is life,','there is hope.') %后两种方法则不用考虑两行 字符的数目 2. 填空题:A(2,3);A{2,3} 3. 阅读程序题: ⑴subch = ABc12

通信原理实验报告实验名称:采样定理 实验时间: 201211日年12月 指导老师:应娜 学院:计算机学院 级:班 学号: 姓名:

通信原理实验报告 一、实验名称 MATLAB验证低通抽样定理 二、实验目的 1、掌握抽样定理的工作原理。 2、通过MATLAB编程实现对抽样定理的验证,加深抽样定理的理解。同时训练应用计算机分析问题的能力。 3、了解MATLAB软件,学习应用MATLAB软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。 4、计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。 三、实验步骤 1、画出连续时间信号的时域波形及其幅频特性曲线,信号为 f(x)=sin(2*pi*80*t)+ cos(2*pi*30*t); 2、对信号进行采样,得到采样序列,画出采样频率分别为80Hz,110 Hz,140 Hz时的采样序列波形; 3、对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列和的幅频曲线有无差别。 4、对信号进行谱分析,观察与3中结果有无差别。 5、由采样序列恢复出连续时间信号,画出其时域波形,对比与原连续时间信号的时域波形。 四、数据分析 (1)部分程序分析: f=[fs0*k2/m2,fs0*k1/m1]; %设置原信号的频率数组 axis([min(t),max(t),min(fx1),max(fx1)]) %画原信号幅度频谱 f1=[fs*k2/m2,fs*k1/m1]; %设置采样信号的频率数组 fz=eval(fy); %获取采样序列 FZ=fz*exp(-j*[1:length(fz)]'*w); %采样信号的离散时间傅里叶变换 TMN=ones(length(n),1)*t-n'*T*ones(1,length(t)); 由采样信号恢复原信号fh=fz*sinc(fs*TMN); %. (2)原信号的波形与幅度频谱:

学号1170010 5 天津城建大学 数字信号处理 指导教师(签字) 计算机与信息工程学院 2014年1月3日

天津城建大学 课程设计任务书 2012 —2013 学年第 1 学期 计算机与信息工程 学院 电子信息工程 专业 11电信1班 班级 编写1.2. 3.4.5.32点和16 点,得到3216()()X k X k 和,再分别对3216()()X k X k 和进行32点和16点IFFT 得到3216()()x n x n 和,分别画出()j X e ω ,3216()()X k X k 和的频谱图,并画出x(n),3216()()x n x n 和的波形,进行对比。 三.课程设计要求 1. 要求独立完成设计任务。 2. 课程设计说明书封面格式要求见《天津城市建设学院课程设计教学工作规范》附表1 3. 课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。 4. 运行程序,观察并保存程序运行结果,能够对运行结果进行结果分析。

5.课设说明书要求: 1)说明题目的设计原理和思路、采用方法及程序。 2)详细说明调试方法和调试过程,并给程序加注释。 3)给出程序运行结果,并对其进行说明和分析。 指导教师(签字): 系/教研室主任(签字): 批准日期:2013年12 月19日

目录 第1章数字信号处理介绍 (1) 1.1 背景知识 (1) 1.2 MATLAB软件介绍 (1) 第2章设计目的及要求 (2) 2.1 设计目的 (2) 2.2 设计要求 (2) 第3章设计原理 (3) 3.1整体设计原理 (3) 3.2时域采样定理 (3) 3.2.1时域采样定理公式的推导 (3) 3 4 4第4 5 5第5 6 8 8 8总结 附录

习题: 1, 计算?? ????=572396a 与??? ???=864142b 的数组乘积。 2, 对于B AX =,如果???? ? ?????=753467294A ,??????????=282637B ,求解X 。 3, 已知:?? ?? ? ?????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。(应用sin,cos,tan.cot) 5, 将矩阵?? ?? ??=7524a 、??????=3817b 和??? ???=2695c 组合成两个新矩阵: (1)组合成一个4?3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ?? ??? ???? ???237 912685 574 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []296531877254 6, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。(应用poly,polyvalm) 7, 求解多项式x 3-7x 2+2x +40的根。(应用roots) 8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。(应用poly,polyvalm) 9, 计算多项式9514124234++--x x x x 的微分和积分。(应用polyder,polyint ,poly2sym)

10, 解方程组???? ? ?????=??????????66136221143092x 。(应用x=a\b) 11, 求欠定方程组?? ? ???=???? ??5865394742x 的最小范数解。(应用pinv) 12, 矩阵???? ? ?????-=943457624a ,计算a 的行列式和逆矩阵。(应用det,inv) 13, y =sin(x ),x 从0到2π,?x =0.02π,求y 的最大值、最小值、均值和标准差。(应用max,min,mean,std) 14, 参照课件中例题的方法,计算表达式() 2 2 e 1053y x y x z ---=的梯度并绘图。(应用meshgrid, gradient, contour, hold on, quiver) 15, 用符号函数法求解方程a t 2+b*t +c=0。(应用solve) 16, 用符号计算验证三角等式:(应用syms,simple) 17, 求矩阵?? ? ? ??=2221 1211a a a a A 的行列式值、逆和特征根。(应用syms,det,inv,eig) 18, 因式分解:6555234-++-x x x x (应用syms, factor) 19, ? ??? ?? ?? =)sin()log(12 x x e x x a f ax ,用符号微分求df/dx 。(应用syms,diff) 20, 符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t 的变化范围为[0,2π]。(应用syms,ezplot) 21, 绘制曲线13++=x x y ,x 的取值范围为[-5,5]。(应用plot) 22, 有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题-at e =y ,并用箭头线标识出各曲线a 的取值,并添加标题-at e =y 和图例框。(应用plot,title,text,legend) 23 24, x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。

实验一MATLAB验证抽样定理 一、实验目的 1、掌握脉冲编码调制(PCM)的工作原理。 2、通过MATLAB编程实现对时域抽样定理的验证,加深抽样定理的理解。同时训练应用计算机分析问题的能力。 二、实验预习要求 1、复习《现代通信原理》中有关PCM的章节; 2、复习《现代通信原理》中有关ADPCM的章节;; 3、认真阅读本实验内容,熟悉实验步骤。 4、预习附录中的杂音计,失真度仪的使用。 三、实验环境 PC电脑,MA TLAB软件 四、实验原理 1、概述 脉冲编码(PCM)技术已经在数字通信系统中得到了广泛的应用。十多年来,由于超大规模集成技术的发展,PCM通信设备在缩小体积、减轻重量、降低功耗、简化调试以及方便维护等方面都有了显著的改进。目前,数字电话终端机的关键部件,如编译码器(Codec)和话路滤波器等都实现了集成化。本实验是以这些产品编排的PCM编译码系统实验,以期让实验者了解通信专用大规模集成电路在通信系统中应用的新技术。 PCM数字电话终端机的构成原理如图3-1所示。实验只包括虚线框内的部分,故名PCM 编译码实验。

混合装置 Voice 发滤波器 波器 收滤编 码器 器 码译 分路 路 合发 收 图3-1 PCM 数字电话终端机的结构示意图 ADPCM 是在DPCM 基础上逐步发展起来的,DPCM 的工作原理请参阅教材有关章节。它在实现上采用预测基数减少量化编码器输入信号多余度,将差值信号编码以提高效率、降低编码信号速率,这广泛应用于语音和图像信号数字化。ADPCM 中的量化器与预测器均采用自适应方式,即量化器与预测器的参数能根据输入信号的统计特性自适应于最佳式接近于最佳参数状态。通常,人们把低于64Kbps 数码率的语音编码方法称为语音压缩编码技术,语音压缩编码方法很多,ADPCM 是语音压缩编码种复杂程度较低的一种方法。它能在32Kbps 数码率上达到符合64Kbps 数码率的语音质量要求,也就是符合长途电话的质量要求。 2、 实验原理 (1) PCM 编译码原理 PCM 编译码系统由定时部分和PCM 编译码器构成,如图3-2所示 图3-2 PCM 调制原理框图 PCM 主要包括抽样、量化与编码三个过程。抽样是把时间连续的模拟信号转换成时间 离散、幅度连续的抽样信号;量化是把时间离散、幅度连续的抽样信号转换成时间离散、幅度离散的数字信号;编码是将量化后的信号编码形成一个二进制码组输出。国际标准化的PCM 码组(电话语音)是用八位码组代表一个抽样值。编码后的PCM 码组,经数字信道传输,在接收端,用二进制码组重建模拟信号,在解调过程中,一般采用抽样保持电路。预滤波是为了把原始语音信号的频带限制在300Hz ~3400Hz 左右,所以预滤波会引入一定的频带失真。 在整个PCM 系统中,重建信号的失真主要来源于量化以及信道传输误码。通常,用信

MATLAB 考试试题(1) 产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏) 答案: a=10*rand(1,10)-5; b=sort(a,'descend') 1.请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 2. 已知变量:A=’ilovematlab’;B=’matlab’, 请找出: (A)B在A中的位置。 (B)把B放在A后面,形成C=‘ilovematlabmatlab’ 3. 请修改下面的程序,让他们没有for循环语句! A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end 4. 请把变量A=[1 2 3; 4 5 6; 7 8 9]写到文件里(output.xls),写完后文件看起来是这样的 1 2 3 4 5 6 7 8 9 5.试从Yahoo网站上获得微软公司股票的2008年9月的每日收盘价。 6.编写M文件,从Yahoo网站批量读取60000.SH至600005.SH在2008年9月份的每日收盘价(提示:使用字符串函数)。 7. 将金牛股份(000937)2005年12月14日至2006年1月10日的交易记录保存到Excel中,编写程序将数据读入MATLAB中,进一步将数据读入Access数据库文件。 8.已知资产每日回报率为0.0025,标准差为0.0208,资产现在价值为0.8亿,求5%水平下资产的10天在险价值(Var)。 9.a=[1 2 3 4 5],b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).试用MATLAB中最简单的方法计算b,注意最简单哦。

循环结构:for语句 格式: for 循环变量=表达式1:表达式2:表达式3 循环体 end 【注】:表达式1:循环变量初值, 表达式2:步长,为1时,可省略; 表达式3:循环变量终值。 或: for循环变量=矩阵表达式 循环体 end 【注】:执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。 2 while语句: 格式: while(条件) 循环体 end 【注】:条件成立时,执行循环体 3

break语句&& continue语句: break:破坏,破坏循环,终止循环的进行,跳出循环,程序将执行循环语句的下一语句。 continue:继续,循环继续,程序将跳过循环体中剩下的语句,继续下一次循环。 4 循环的嵌套—多重循环结构 5 选择结构:if-else语句 格式: if 表达式 程序模块 end 或 if 表达式 程序模块1 else 程序模块2 end 6 switch语句: 格式:

switch 表达式 case 数值1 程序模块1 case 数值2 程序模块2 case 数值3 程序模块3 ...... otherwise 程序模块n end 执行过程:首先计算表达式的值, 然后将其结果与每一个case后面的数值依次进行比较, 如果相等,则执行该case的程序模块; 如果都不相等,则执行otherwise模块中的语句。 switch语句可以替代多分支的if语句,而且switch语句简洁明了,可读性更好。 7 matlab中一些基本知识: END 注意事项 for循环可以通过break语句结束整个for循环

相关文档
最新文档