中南大学信号与系统matlab实验报告

中南大学信号与系统matlab实验报告
中南大学信号与系统matlab实验报告

实验一 基本信号的生成

1.实验目的

● 学会使用MATLAB 产生各种常见的连续时间信号与离散时间信号;

● 通过MATLAB 中的绘图工具对产生的信号进行观察,加深对常用信号的理解;

● 熟悉MATLAB 的基本操作,以及一些基本函数的使用,为以后的实验奠定基础。

2.实验内容

⑴ 运行以上九个例子程序,掌握一些常用基本信号的特点及其MATLAB 实现方法;改变有关参数,进一步观察信号波形的变化。

⑵ 在 k [10:10]=- 范围内产生并画出以下信号:

a) 1f [k][k]δ=;

b) 2f [k][k+2]δ=;

c) 3f [k][k-4]δ=;

d) 4f [k]2[k+2][k-4]δδ=-。

源程序:

k=-10:10;

f1k=[zeros(1,10),1,zeros(1,10)];

subplot(2,2,1)

stem(k,f1k)

title('f1[k]')

f2k=[zeros(1,8),1,zeros(1,12)];

subplot(2,2,2)

stem(k,f2k)

title('f2[k]')

f3k=[zeros(1,14),1,zeros(1,6)];

subplot(2,2,3)

stem(k,f3k)

title('f3[k]')

f4k=2*f2k-f3k;

subplot(2,2,4)

stem(k,f4k)

title('f4[k]')

⑶ 在 k [0:31]=范围内产生并画出以下信号:

a) ()()k k 144f [k]sin cos π

π=;

b) ()2k 24f [k]cos π

=;

c) ()()k k 348f [k]sin cos π

π=。

请问这三个信号的基波周期分别是多少?

源程序:

k=0:31;

f1k=sin(pi/4*k).*cos(pi/4*k);

subplot(3,1,1)

stem(k,f1k)

title('f1[k]')

f2k=(cos(pi/4*k)).^2;

subplot(3,1,2)

stem(k,f2k)

title('f2[k]')

f3k=sin(pi/4*k).*cos(pi/8*k);

subplot(3,1,3)

stem(k,f3k)

title('f3[k]')

其中f1[k]的基波周期是4, f2[k]的基波周期是4, f3[k]的基波周期是16。

实验二 信号的基本运算

1.实验目的

● 学会使用MATLAB 完成信号的一些基本运算;

● 了解复杂信号由基本信号通过尺度变换、翻转、平移、相加、相乘、差

分、求和、微分及积分等运算来表达的方法;

● 进一步熟悉MATLAB 的基本操作与编程,掌握其在信号分析中的运用特点与

使用方式。

2.实验内容

⑴ 运行以上三个例题程序,掌握信号基本运算的MATLAB 实现方法;改变有关参数,考察相应信号运算结果的变化特点与规律。

⑵ 已知信号()f t 如下图所示:

a) 用MATLAB 编程复现上图;

%作业题2 a :

t=-6:0.001:6;

ft1=tripuls(t,6,0.5);

subplot(2,1,1)

plot(t,ft1)

title('f(t)')

b) 画出(22)f t -的波形;

%b

t=-6:0.001:6;

ft1=tripuls(2*(1-t),6,0.5);

%subplot(1,1,1)

plot(t,ft1)

title('f(2*(1-t)')

c) 画出df

(t)dt 的波形;

%c

h=0.001;t=-6:h:6;

yt=tripuls(t,6,0.5);

y1=diff(yt)*1/h;

plot(t(1:length(t)-1),y1)

title('df(t)/dt')

d) 画出t

f ()d ττ-∞?的波形。 %d

t=-6:0.1:6;

for x=1:length(t)

y2(x)=quad('tripuls(t,6,0.5)',-3,t(x));

end

plot(t,y2)

title('integral of f(t)')

实验三 系统的时域分析

1.实验目的

学习并掌握连续时间系统的零状态响应、冲激响应和阶跃响应的MATLAB 求

解方法;

● 学习并掌握离散时间系统的零状态响应、冲激响应和阶跃响应的MATLAB 求

解方法;

● 进一步深刻理解连续时间系统和离散时间系统的系统函数零极点对系统特

性的影响;

学习并掌握卷积的MATLAB 计算方法。

2.实验内容

⑴ 运行以上五个例题程序,掌握求解系统响应的MATLAB 分析方法;改变模型参数,考察系统响应的变化特点与规律。

⑵ 设离散系统可由下列差分方程表示:

计算[20:100]k =-时的系统冲激响应。

源程序:

k=-20:100;

a=[1 -1 0.9];

b=[1];

h=impz(b,a,k);

stem(k,h);

xlabel('Time(sec)')

ylabel('y(t)')

⑶ 设[](0.9)()k h k u k =,输入[][][10]f k u k u k =--,求系统输出[][][]y k f k h k =*。 (取[10:50]k =-)

源程序:

k=-10:50;

uk=[zeros(1,10),ones(1,51)];

u1k=[zeros(1,20),ones(1,41)];

hk=0.9.^k.*uk;

fk=uk-u1k;

yk=conv(hk,fk);

stem(0:length(yk)-1,yk);

⑷ 已知滤波器的传递函数:

输入信号为()2sin(0.05)(),()f t t t t πωω=+为随机信号。试绘出滤波器的输出信号

波形。(取[0:100]t =)

源程序:

R=101;

d=rand(1,R)-0.5;

t=0:100;

s=2*sin(0.05*pi*t);

f=s+d;

subplot(2,1,1);

plot(t,d,'g-.',t,s,'b--',t,f,'r-');

xlabel('Time index t');

legend('d[t]','s[t]','f[t]');

title('处理前的波形')

b=[0.22 0];a=[1 -0.8];

y=filter(b,a,f);

subplot(2,1,2);

plot(t,s,'b--',t,y,'r-');

xlabel('Time index t');

legend('s[t]','y[t]');

title('滤波器输出波形')

实验四 周期信号的频域分析

1.实验目的

● 掌握周期信号傅立叶级数分解与合成的计算公式

● 掌握利用MATLAB 实现周期信号傅立叶级数分解与综合方法

● 理解并掌握周期信号频谱特点

2.实验内容

1、仿照例程,实现下述周期信号的傅立叶级数分解与合成:

( ((a 可以展开成傅立叶级数。

(1)三角形式傅立叶级数

(2)指数形式傅立叶级数

(b )求解0a ,n a ,n b 及合成信号波形所用程序:

function [A_sym,B_sym]=CTFShchsym

% 采用符号计算求一个周期内连续时间函数f 的三角级数展开系数,再用这些

% 展开系数合成连续时间函数f.傅立叶级数

%

函数的输入输出都是数值量 % Nf=6

谐波的阶数 %

Nn 输出数据的准确位数 %

A_sym 第1元素是直流项,其后元素依次是1,2,3...次谐波cos 项展开系数 % B_sym 第2,3,4,...元素依次是1,2,3...次谐波sin 项展开系数 % tao=1 tao/T=0.2

T=4;

tao=T/4;

a=-1.5;

if nargin<4

Nf=10;

end

if nargin<5

Nn=32;

end

x=time_fun_x(t);

A0=int(x,t,a,T+a)/T; %求出三角函数展开系数A0

As=2/T*int(x*cos(2*pi*n*t/T),t,a,T+a); %求出三角函数展开系数As

Bs=2/T*int(x*sin(2*pi*n*t/T),t,a,T+a); %求出三角函数展开系数Bs

A_sym(1)=double(vpa(A0,Nn)); %获取串数组A0所对应的ASC2码数值数组

for k=1:Nf

A_sym(k+1)=double(vpa(subs(As,n,k),Nn)); %获取串数组A所对应的ASC2码数值数组B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn)); %获取串数组B所对应的ASC2码数值数组

end ;

if nargout==0

c=A_sym;

disp(c); %输出c为三角级数展开系数:第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数

d=B_sym;

disp(d); %输出d为三角级数展开系数: 第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数

t=-3*T:0.01:3*T;

f0=c(1); %直流

f1=c(2).*cos(2*pi*1*t/T)+d(2).*sin(2*pi*1*t/T); % 基波

f2=c(3).*cos(2*pi*2*t/T)+d(3).*sin(2*pi*2*t/T); % 2次谐波

f3=c(4).*cos(2*pi*3*t/T)+d(4).*sin(2*pi*3*t/T); % 3次谐波

f4=c(5).*cos(2*pi*4*t/T)+d(5).*sin(2*pi*4*t/T); % 4次谐波

f5=c(6).*cos(2*pi*5*t/T)+d(6).*sin(2*pi*5*t/T); % 5次谐波

f6=c(7).*cos(2*pi*6*t/T)+d(7).*sin(2*pi*6*t/T); % 6次谐波

f7=c(8).*cos(2*pi*7*t/T)+d(8).*sin(2*pi*7*t/T); % 7次谐波

f8=c(9).*cos(2*pi*8*t/T)+d(9).*sin(2*pi*8*t/T); % 8次谐波

f9=c(10).*cos(2*pi*9*t/T)+d(10).*sin(2*pi*9*t/T); % 9次谐波

f10=c(11).*cos(2*pi*10*t/T)+d(11).*sin(2*pi*10*t/T); % 10次谐波

f11=f0+f1+f2; % 直流+基波+2次谐波

f12=f11+f3; % 直流+基波+2次谐波+3次谐波

f13=f12+f4+f5+f6; % 直流+基波+2次谐波+3次谐波+4次谐波+5次谐波+6次谐波

f14=f13+f7+f8+f9+f10; %0~10次

subplot(2,2,1)

plot(t,f0+f1),hold on

y=time_fun_e(t); %调用连续时间函数-周期矩形脉冲

plot(t,y,'r:')

title('直流+基波')

axis([-8,8,-0.5,1.5])

plot(t,f12),hold on

y=time_fun_e(t);

plot(t,y,'r:')

title('1-3次谐波+直流')

axis([-8,8,-0.5,1.5])

subplot(2,2,3)

plot(t,f13),hold on

y=time_fun_e(t);

plot(t,y,'r:')

title('1-6次谐波+直流')

axis([-8,8,-0.5,1.5])

subplot(2,2,4)

plot(t,f14),hold on

y=time_fun_e(t);

plot(t,y,'r:')

title('1-10次谐波+直流')

axis([-8,8,-0.5,1.5])

hold off

end

function y=time_fun_e(t)

% 该函数是CTFShchsym.m的子函它由符号函数和表达式写成

a=1.5;

T=4;

h=1;

tao=T/4;

t=-3*T:0.01:3*T;

e1=1/2+1/2.*sign(t-0.5+tao/2);

e2=1/2+1/2.*sign(t-0.5-tao/2);

y=h.*(e1-e2); %连续时间函数-周期矩形脉冲

function x=time_fun_x(t)

% 该函数是CTFShchsym.m的子函数。它由符号变量和表达式写成。

h=1;

x1=sym('Heaviside(t)')*h;

x=x1-sym('Heaviside(t-1)')*h;

源程序修改:

function [A_sym,B_sym]=CTFShchsym

% 采用符号计算求一个周期内连续时间函数f的三角级数展开系数,再用这些

% 展开系数合成连续时间函数f.傅立叶级数

% 函数的输入输出都是数值量

% Nf=6 谐波的阶数

% Nn 输出数据的准确位数

% A_sym 第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数% B_sym 第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数

% tao=1 tao/T=0.2

syms t n k x

T=5;

tao=0.2*T;

a=0.5;

if nargin<4

Nf=6;

end

if nargin<5

Nn=32;

end

x=time_fun_x(t);

A0=int(x,t,-a,T-a)/T; %求出三角函数展开系数A0

As=2/T*int(x*cos(2*pi*n*t/T),t,-a,T-a); %求出三角函数展开系数As

Bs=2/T*int(x*sin(2*pi*n*t/T),t,-a,T-a); %求出三角函数展开系数Bs

A_sym(1)=double(vpa(A0,Nn)); %获取串数组A0所对应的ASC2码数值数组for k=1:Nf

A_sym(k+1)=double(vpa(subs(As,n,k),Nn)); %获取串数组A所对应的ASC2码数值数组B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn)); %获取串数组B所对应的ASC2码数值数组end

if nargout==0

c=A_sym;

disp(c) %输出c为三角级数展开系数:第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数

d=B_sym;

disp(d) %输出d为三角级数展开系数: 第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数

t=-8*a:0.01:T-a;

f0=c(1); %直流

f1=c(2).*cos(2*pi*1*t/5)+d(2).*sin(2*pi*1*t/5); % 基波

f2=c(3).*cos(2*pi*2*t/5)+d(3).*sin(2*pi*2*t/5); % 2次谐波

f3=c(4).*cos(2*pi*3*t/5)+d(4).*sin(2*pi*3*t/5); % 3次谐波

f4=c(5).*cos(2*pi*4*t/5)+d(5).*sin(2*pi*4*t/5); % 4次谐波

f5=c(6).*cos(2*pi*5*t/5)+d(6).*sin(2*pi*5*t/5); % 5次谐波

f6=c(7).*cos(2*pi*6*t/5)+d(7).*sin(2*pi*6*t/5); % 6次谐波

f7=f0+f1+f2; % 直流+基波+2次谐波

f8=f7+f3; % 直流+基波+2次谐波+3次谐波

f9=f8+f4+f6; % 直流+基波+2次谐波+3次谐波+4次谐波+6次谐波

subplot(2,2,1)

plot(t,f0+f1),hold on

y=time_fun_e(t); %调用连续时间函数-周期矩形脉冲

plot(t,y,'r:')

title('周期矩形波的形成—直流+基波')

axis([-4,4.5,-0.5,1.5])

subplot(2,2,2)

plot(t,f7),hold on

y=time_fun_e(t);

plot(t,y,'r:')

title('周期矩形波的形成—直流+基波+2次谐波')

axis([-4,4.5,-0.5,1.5])

subplot(2,2,3)

plot(t,f8),hold on

y=time_fun_e(t);

plot(t,y,'r:')

title('直流+基波+2次谐波+3次谐波')

axis([-4,4.5,-0.5,1.5])

subplot(2,2,4)

plot(t,f9),hold on

y=time_fun_e(t);

plot(t,y,'r:')

title('基波+2次谐波+3次谐波+4次谐波+6次谐波')

axis([-4,4.5,-0.5,1.5])

end

function y=time_fun_e(t)

% 该函数是CTFShchsym.m 的子函它由符号函数和表达式写成

a=0.5;

T=5;

h=1;

tao=0.2*T;

t=-8*a:0.01:T-a;

e1=1/2+1/2.*sign(t+tao/2);

e2=1/2+1/2.*sign(t-tao/2);

y=h.*(e1-e2); %连续时间函数-周期矩形脉冲

function x=time_fun_x(t)

% 该函数是CTFShchsym.m 的子函数。它由符号变量和表达式写成。

h=1;

x1=sym('Heaviside(t+0.5)')*h;

x=x1-sym('Heaviside(t-0.5)')*h;

2、已知周期为T=4的三角波,在第一周期(-2

function [A_sym,B_sym]=CTFSshbpsym(T,Nf)

% 采用符号计算求[0,T]内时间函数的三角级数展开系数。

% 函数的输入输出都是数值量

% Nn 输出数据的准确位数

% A_sym 第1元素是直流项,其后元素依次是1,2,3...次谐波cos 项展开系数

% B_sym 第2,3,4,...元素依次是1,2,3...次谐波sin 项展开系数

% T T=m*tao , 信号周期

% Nf 谐波的阶数

% m (m=T/tao)周期与脉冲宽度之比,如m=4,8,16,100等

% tao 脉宽:tao=T/m

syms t n y

if nargin<3

Nf=input('please Input 所需展开的最高谐波次数:Nf=');

end

T=input('please Input 信号的周期T=');

if nargin<5

Nn=32;

end

y=time_fun_s(t);

A0=2/T*int(y,t,0,T/2);

As=2/T*int(y*cos(2*pi*n*t/T),t,0,T/2);

Bs=2/T*int(y*sin(2*pi*n*t/T),t,0,T/2);

A_sym(1)=double(vpa(A0,Nn));

for k=1:Nf

A_sym(k+1)=double(vpa(subs(As,n,k),Nn));

B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));

end

if nargout==0

An=fliplr(A_sym); %对A_sym阵左右对称交换

An(1,k+1)=A_sym(1); %A_sym的1*k阵扩展为1*(k+1)阵

An=fliplr(An); %对扩展后的S1阵左右对称交换回原位置

Bn=fliplr(B_sym); %对B_sym阵左右对称交换

Bn(1,k+1)=0; %B_sym的1*k阵扩展为1*(k+1)阵

Bn=fliplr(Bn); %对扩展后的S3阵左右对称交换回原位置

FnR=An/2-i*Bn/2; % 用三角函数展开系数A、B值合成付里叶指数系数FnL=fliplr(FnR);

N=Nf*2*pi/T;

k2=-N:2*pi/T:N;

Fn=[FnL,FnR(2:end)];

%subplot(3,3,3)

%x=time_fun_e(t); % 调用连续时间函数-周期矩形脉冲

subplot(2,1,1)

stem(k2,abs(Fn)); %画出周期矩形脉冲的频谱(T=M*tao)

title('连续时间函数周期三角波脉冲的双边幅度谱')

axis([-80,80,0,0.12])

line([-80,80],[0,0],'color','r')

line([0,0],[0,0.12],'color','r')

end

function x=time_fun_e(t)

% 该函数是CTFSshbpsym.m的子函数。它由符号变量和表达式写成。

% t 是时间数组

% T 是周期duty=tao/T=0.2

T=5;

t=-2*T:0.01:2*T;

tao=T/5;

x=rectpuls(t,tao); %产生一个宽度tao=1的矩形脉冲

subplot(2,2,2)

plot(t,x)

hold on

x=rectpuls(t-5,tao); %产生一个宽度tao=1的矩形脉,中心位置在t=5处

plot(t,x)

hold on

x=rectpuls(t+5,tao); %产生一个宽度tao=1的矩形脉,中心位置在t=-5处

plot(t,x)

title('周期为T=5,脉宽tao=1的矩形脉冲')

axis([-10,10,0,1.2])

function y=time_fun_s(t)

syms t

y=1-abs(t);

x1=sym('Heaviside(t+2)');

x=x1-sym('Heaviside(t-2)');

y=y*x;

ezplot(t,y,[-10,10])

grid

源程序修改:

function [A_sym,B_sym]=CTFSshbpsym(T,Nf)

% 采用符号计算求[0,T]内时间函数的三角级数展开系数。

% 函数的输入输出都是数值量

% Nn 输出数据的准确位数

% A_sym 第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数% B_sym 第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数

% T T=m*tao,信号周期

% Nf 谐波的阶数

% m (m=T/tao)周期与脉冲宽度之比,如m=4,8,16,100等

% tao 脉宽:tao=T/m

syms t n y

if nargin<3

Nf=input('please Input 所需展开的最高谐波次数:Nf=');

end

T=input('please Input 信号的周期T=');

if nargin<5

Nn=32;

end

y=time_fun_s(t);

A0=2/T*int(y,t,0,T);

As=2/T*int(y*cos(2*pi*n*t/T),t,0,T);

Bs=2/T*int(y*sin(2*pi*n*t/T),t,0,T);

A_sym(1)=double(vpa(A0,Nn));

for k=1:Nf

A_sym(k+1)=double(vpa(subs(As,n,k),Nn));

B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));

end

if nargout==0

An=fliplr(A_sym); %对A_sym阵左右对称交换 An(1,k+1)=A_sym(1); %A_sym的1*k阵扩展为1*(k+1)阵

An=fliplr(An); %对扩展后的S1阵左右对称交换回原位置

Bn=fliplr(B_sym); %对B_sym阵左右对称交换

Bn(1,k+1)=0; %B_sym的1*k阵扩展为1*(k+1)阵

Bn=fliplr(Bn); %对扩展后的S3阵左右对称交换回原位置

FnR=An/2-i*Bn/2; % 用三角函数展开系数A、B值合成付里叶指数系数 FnL=fliplr(FnR);

N=Nf*2*pi/T;

k2=-N:2*pi/T:N;

Fn=[FnL,FnR(2:end)];

subplot(3,3,3)

x=time_fun_e(t); % 调用连续时间函数-周期矩形脉冲

subplot(2,1,1)

stem(k2,abs(Fn)); %画出周期矩形脉冲的频谱(T=M*tao)

title('连续时间函数周期矩形脉冲的双边幅度谱')

axis([-80,80,0,0.12])

line([-80,80],[0,0])

line([0,0],[0,0.12])

end

function x=time_fun_e(t)

% 该函数是CTFSshbpsym.m的子函数。它由符号变量和表达式写成。

% t 是时间数组

% T 是周期 duty=tao/T=0.2

T=5;

t=-2*T:0.01:2*T;

tao=T/5;

x=rectpuls(t,tao); %产生一个宽度tao=1的矩形脉冲

subplot(2,2,2)

plot(t,x)

hold on

x=rectpuls(t-5,tao); %产生一个宽度tao=1的矩形脉,中心位置在t=5处plot(t,x)

hold on

x=rectpuls(t+5,tao); %产生一个宽度tao=1的矩形脉,中心位置在t=-5处plot(t,x)

title('周期为T=5,脉宽tao=1的矩形脉冲')

axis([-10,10,0,1.2])

function y=time_fun_s(t)

% 该函数是CTFSshbpsym.m的子函数。它由符号变量和表达式写成。

syms a a1

T=input('please Input 信号的周期T=');

M=input('周期与脉冲宽度之比M=');

A=1;

tao=T/M;

a=tao/2;

y1=sym('Heaviside(t+a1)')*A;

y=y1-sym('Heaviside(t-a1)')*A;

y=subs(y,a1,a);

y=simple(y);

实验五非周期信号的频域分析1.实验目的

理解非周期信号的频域分析方法;

●掌握典型信号的幅度谱和相位谱;

●理解信号的调制特性;

●掌握傅里叶变换的性质:尺度变换、时移、频移、卷积定理、对称性、微分特性。2.实验内容

1.试计算宽度为2、幅度为1的三角波信号在0~f m Hz范围内信号的能量。取

f m=0.1~10Hz。

syms t;

f=linspace(0.1,10,256);

N=length(f);

w=zeros(1,N);

for k=1:N

w(k)=quadl(@(t)2*sinc(t).*sinc(t).*sinc(t).*sinc(t),0,f(k));

end

y=0;

for k=1:N

y=y+w(k);

end

y

plot(f,w);

xlabel('Hz');

ylabel('E');

y =168.2699

2.试计算宽度和幅度均为1的方波信号在0~f m Hz频谱范围内所包含的信号能量。syms t;

f=linspace(0,5,256);

N=length(f);

w=zeros(1,N);

for k=1:N

w(k)=quadl(@(t)2*sinc(t).*sinc(t),0,f(k));

end

plot(f,w);

xlabel('Hz');

ylabel('E');

信号与系统matlab实验及答案

产生离散衰减正弦序列()π0.8sin 4n x n n ?? = ??? , 010n ≤≤,并画出其波形图。 n=0:10; x=sin(pi/4*n).*0.8.^n; stem(n,x);xlabel( 'n' );ylabel( 'x(n)' ); 用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。观察并分析a 和0t 的变化对波形的影响。 t=linspace(-4,7); a=1;

t0=2; y=sinc(a*t-t0); plot(t,y); t=linspace(-4,7); a=2; t0=2; y=sinc(a*t-t0); plot(t,y);

t=linspace(-4,7); a=1; t0=2; y=sinc(a*t-t0); plot(t,y);

三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移 某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1 s f T = 表示抽样频率,即单位时间内抽取样值的个数。抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。可能用到的函数为plot, stem, hold on 。 fs = 40; t = 0 : 1/fs : 1 ; % ?μ?ê·?±e?a5Hz,10Hz,20Hz,30Hz f1=5; xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;

中南大学matlab课后答案-第九章

实验指导 1, >> figure('Color',[1,0,0],'WindowButtonDownFcn','text(0.5,0.5,''Left Button Pressed'')');axis off 2, (1)默认属性 >> x=linspace(0,600,100000);y=(log(x+sqrt(1+x.*x)))/2;line(x,y) 句柄操作 >> x=linspace(0,600,100000); y=(log(x+sqrt(1+x.*x)))/2; line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(300,3.5,'文字标注') (2)默认属性 >> t=linspace(0,20,500);x=t.*t;y=5.*t.*t;line(x,y) 句柄操作 >> t=linspace(0,20,500); x=t.*t;y=5.*t.*t;line(x,y); line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(250,1600,'文字标注') 3, (1) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=x.*x+y.*y-5.*sin(x.*y); axes('view',[-37.5,30]); surf(x,y,z); light('position',[10,20,4000]); shading interp (2) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=y.*y.*y; axes('view',[-37.5,30]); surf(x,y,z); light('position',[30,20,1300000]); shading interp 4, >> x=-2*pi:0.01:2*pi; y1=sin(x); y2=cos(x); axes('position',[0.1,0.6,0.2,0.2]); plot(x,y1); axes('position',[0.6,0.6,0.2,0.2]); plot(x,y2); axes('position',[0.1,0.1,0.2,0.2]); fplot('tan(x)',[-1.5,1.5]); axes('position',[0.6,0.1,0.2,0.2]);

信号与系统 MATLAB实验报告

《信号与系统》MATLAB实验报告 院系:专业: 年级:班号: :学号: 实验时间: 实验地点:

实验一 连续时间信号的表示及可视化 实验题目: )()(t t f δ=;)()(t t f ε=;at e t f =)((分别取00<>a a 及); )()(t R t f =;)()(t Sa t f ω=;)2()(ft Sin t f π=(分别画出不同周期个数的波形)。 解题分析: 以上各类连续函数,先运用t = t1: p:t2的命令定义时间围向量,然后调用对应的函数,建立f 与t 的关系,最后调用plot ()函数绘制图像,并用axis ()函数限制其坐标围。 实验程序: (1))()(t t f δ= t=-1:0.01:3 %设定时间变量t 的围及步长 f=dirac(t) %调用冲激函数dirac () plot(t,f) %用plot 函数绘制连续函数 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的围 (2))()(t t f ε= t=-1:0.01:3 %设定时间变量t 的围及步长 f=heaviside(t) %调用阶跃函数heaviside () plot(t,f) %用plot 函数绘制连续函数 title('f(t)=heaviside(t)') %用title 函数设置图形的名称 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的围 (3)at e t f =)( a=1时:

t=-5:0.01:5 %设定时间变量t 的围及步长 f=exp(t) %调用指数函数exp () plot(t,f) %用plot 函数绘制连续函数 title('f=exp(t)') %用title 函数设置图形的名称 axis([-5,5,-1,100]) %用axis 函数规定横纵坐标的围 a=2时: t=-5:0.01:5 f=exp(2*t) % 调用指数函数exp () plot(t,f) title('f=exp(2*t)') axis([-5,5,-1,100]) a=-2时: t=-5:0.01:5 f=exp(-2*t) plot(t,f) title('f=exp(-2*t)') axis([-5,5,-1,100]) (4))()(t R t f = t=-5:0.01:5 f=rectpuls(t,2) % 用rectpuls(t,a)表示门函数,默认以零点为中心,宽度为a plot(t,f) title('f=R(t)') axis([-5 5 -0.5 1.5]) (5))()(t Sa t f ω= ω=1时: t=-20:0.01:20 f=sin(t)./t % 调用正弦函数sin (),并用sin (t )./t 实现抽 样函数 plot(t,f)

中南大学材料学院科学计算与MATLAB考试题库

练习题 1.求函数在指定点的数值导数 x=sym('x'); >> y=[x x.^2 x.^3;1 2*x 3*x.^2;0 2 6*x]; >> x=1; >> eval(diff(y)) ans = 1 2 3 0 2 6 0 0 6 >> x=2; >> eval(diff(y)) ans = 1 4 12 0 2 12 0 0 6 >> x=3; >> eval(diff(y)) ans = 1 6 27 0 2 18 0 0 6 2.求下列函数导数 (1) x=sym('x'); >> y=x^10+10^x+(log(10))/log(x); >> diff(y) ans = 10*x^9+10^x*log(10)-2592480341699211/1125899906842624/log(x)^2/x (2) x=sym('x');

>> y=log(1+x); >> x=1; >> eval(diff(y,2)) %在x=1的条件下对y表达式求两次导数后导函数的值 ans = -0.2500 3.用数值方法求下列积分 首先先讲一下trapz的用法,如下题 t=0:0.001:1; >> y=t; >> trapz(t,y) ans = 0.5000 (1) >> x=1:0.01:5; >> y=(x.^2).*sqrt(2*x.^2+3); >> trapz(x,y) ans = 232.8066 (2) x=pi/4:0.01:pi/3; >> y=x./(sin(x).^2); >> trapz(x,y) ans = 0.3810 第三题拟合曲线题 x=[0:0.1:1]; >> y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; >> a=polyfit(x,y,2); >> x=[0.05:0.2:1.05]; >> y=a(3)+a(2)*x+a(1)*x.^2 %注意x要在y前先赋值,不然y不会运行为最新的x对呀的y值 y =

中南大学matlab题目

1 求函数在指定点的导数值 () 23 2 123,1,2,3 026 x x x f x x x x x == >> syms x >> a=[x x^2 x^3;1 2*x 3*x^2;0 2 6*x]; >> f=det(a); >> diff(f,1) ans = 6*x^2 >> diff(f,2) ans = 12*x >> diff(f,3) ans = 12 2 符号法求下列函数的导数或积分 1)y=x10+10x+log x 10,求y’ f=('x^10+10^x+log(10)/log(x)') f = x^10+10^x+log(10)/log(x) >> diff(f) ans = 10*x^9+10^x*log(10)-log(10)/log(x)^2/x 2)y=ln(1+x), 求y’’∣ x=1 f=('log(1+x)/log(e)') f = log(1+x)/log(e) >> diff(f,1,2) ans = -1/(1+x)^2/log(e) 3) y=e x/cosx,求y’ f=('exp(x)/cos(x)') f = exp(x)/cos(x)

>> diff(f) ans = exp(x)/cos(x)+exp(x)/cos(x)^2*sin(x) 4) function f=fun0(t) f=t*sin(t) int('fun0','0','pi') ans = 1/2*pi^2 5) 已知函数z=sin(xy), 计算 syms x y >> z=('sin(x*y)') z = sin(x*y) >> diff(diff(z,y,2),x) ans = -cos(x*y)*y*x^2-2*sin(x*y)*x 3 用数值方法求定积分 1) function f=fun(x) f=x.^2.*sqrt(2.*x.^2+3) quad('fun',1,5) ans = 232.8057 2) function f=fun(x) f=x./sin(x).^2 quad('fun',pi/4,pi/3) ans = 0.3835 4 已知数据[x,y]如下表,试求2次拟合多项式f(x),然后求x=0.05,0.25,0.45,0.65,0.85,1.05各点的函数近似值,并绘出拟合曲线及求得

(完整word版)信号与系统matlab实验

习题三 绘制典型信号及其频谱图 1.更改参数,调试程序,绘制单边指数信号的波形图和频谱图。观察参数a对信号波形 及其频谱的影响。 程序代码: close all; E=1;a=1; t=0:0.01:4; w=-30:0.01:30; f=E*exp(-a*t); F=1./(a+j*w); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|';

E=1,a=1,波形图频谱图更改参数E=2,a=1;

更改参数a,对信号波形及其频谱的影响。(保持E=2)上图为a=1图像 a=2时

a=4时 随着a的增大,f(t)曲线变得越来越陡,更快的逼近0,而对于频谱图,随着a增大,图像渐渐向两边张开,峰值减小,陡度减小,图像整体变得更加平缓。 2.矩形脉冲信号 程序代码: close all; E=1;tao=1; t=-4:0.1:4; w=-30:0.1:30;

f=E*(t>-tao/2&tao/2)+0*(t<=-tao/2&t>=tao/2); F=(2*E./w).*sin(w*tao/2); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|') ; figure; plot(w,20*log10(abs(F))); xlabel('\omega');ylabel('|F(\omega)| in dB'); figure; plot(w,angle(F));xlabel('\omega');ylabel('\phi(\omega )');

中南大学通信原理matlab课程设计报告

通信原理课程设计报告 通信1005班

实验目的 通信原理实验是针对通信工程专业学生的实践教学环节,通过这一环节,可使学生巩固相关课程知识,增强动手能力,提高学生对通信系统的仿真技能。在强调基本原理的同时,更突出设计过程的锻炼,强化学生的实践创新能力。 选题:第二题、码型变换的仿真实现 Ⅰ、基本任务:原始PCM脉冲编码信号的AMI码型和CMI码型变换。 主要步骤和要求: (1)把原始的PCM脉冲编码信号转换成适合在信道中传输的AMI码型。要求PCM码可以是数字型也可以是字符型,要求画出AMI码型变换前后的波形图。 (2)把原始的PCM脉冲编码信号转换成适合在信道中传输的CMI码型。要求PCM码可以是数字型也可以是字符型,要求画出CMI码型变换前后的波形图。 Ⅱ、选做任务:原始PCM脉冲编码信号的HDB3码型转换。 主要步骤和要求: 把原始的PCM脉冲编码信号转换成适合在信道中传输的HDB3码型。要求PCM码可以是数字型也可以是字符型;要求保证输入的PCM脉冲编码信号中1的个数为偶数;要求画出HDB3码型变换前后的波形图。 设计原理 AMI码 AMI(Alternative Mark Inversion)码的全称是信号交替反转码,是通信编码中的一种,为极性交替翻转码,分别有一个高电平和低电平表示两个极性。 一、编码规则: 消息代码中的0 传输码中的0 ,消息代码中的1 传输码中的+1、-1交替 例如: 消息代码:1 0 1 0 1 0 0 0 1 0 1 1 1 AMI码: +1 0 -1 0 +1 0 0 0 -1 0 +1 -1 +1 二、AMI码的特点: 1 由AMI码确定的基带信号中正负脉冲交替,而0电位保持不变;所以由AMI码确定的基带信号无直流分量,且只有很小的低频分量; 2 不易提取定时信号,由于它可能出现长的连0串。 三、解码规则 从收到的符号序列中将所有的-1变换成+1后,就可以得到原消息代码

MATLAB实验报告

实验一 名称:连续时间信号分析 姓名:王嘉琦 学号:201300800636 班级:通信二班 一、实验目的 (一)掌握使用Matlab 表示连续时间信号 1、学会运用Matlab 表示常用连续时间信号的方法 2、观察并熟悉常用信号的波形和特性 (二)掌握使用Matlab 进行连续时间信号的相关运算 1、学会运用Matlab 进行连续时间信号的时移、反褶和尺度变换 2、学会运用Matlab 进行连续时间信号微分、积分运算 3、学会运用Matlab 进行连续时间信号相加、相乘运算 4、学会运用Matlab 进行连续时间信号卷积运算 二、实验条件 Matlab 三、实验内容 1、利用Matlab 命令画出下列连续信号的波形图。 (1))4/3t (2cos π+ 代码: k=2;w=3;phi=pi/4; t=0:0.01:3; ft=k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,-2.2,2.2]) title('余弦信号')

(2) )t (u )e 2(t -- 代码: k=-1;a=-1; t=0:0.01:3; ft=2-k*exp(a*t); plot(t,ft),grid on axis([0,3,2,3]) title('指数信号')

(3))]2()(u )][t (cos 1[--+t u t π 代码: k=1;w=pi;phi=0; t=0:0.01:2; ft=1+k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,0,2]) title('余弦信号')

matlab试卷合集附答案

一、填空题 1、求可逆矩阵A的逆矩阵的指令是 inv(A) 2、A=[0 2 3 0],B=[4 5 0 0],则X=A&B的显示结果为 0 1 0 0 3、求矩阵A的转置矩阵的指令是: A’ 4、x=[10 -20 30]; a=sign(x);显示结果为 1 -1 1 5、Notebook是Matlab的文字处理工具,启动Notebook有两种方法,即一 种是在 Word 中启动,另一种是在 Matlab 中启动。 6、Matlab7.3提供了非常强大的帮助系统,包括帮助命令、帮助 窗口、HTML格式帮助、pdf格式帮助和帮助演示等。 7、clc命令和clear命令的区别是 clc清除命令窗口所有显示内容; Clear清除所有显示的变量 . 8、命令窗口中的type命令的功能为显示文件的内容 . 9、matlab7.3提供了三种程序调试的工具,包括直接检测调试、专用调试命 令和使用 M文件编辑/调试器。 10、matlab除了最常用的主函数和子函数外,还提供了嵌套函数、私有函数、 重载函数和匿名函数。 11、在matlab7.3中,创建句柄图形对象的命令格式为____________ h_obj=funname(‘PropertyName’,PropertyValue,……)_ 12、计算5*e3*|cos175°|语句为 5*exp(3)*abs(cos(175*pi/180)). 13、创建随机矩阵的指令用rand,创建稀疏矩阵用sparse 14、为图形添加网格使用grid on,使用legend命令添加图例。 1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、 命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、 帮助导航/浏览器、图形窗口等。 2、MATLABInf或inf表示无穷大、NaN或nan表示不是一个数、nargout表 示函数输出宗量数目。 3、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔; 用作输入量与输入量之间的分隔符;用作数组元素分隔符号。 4、工作空间浏览器主要用于内存变量的查阅、保存和编辑。 5、MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全 下标的指令为Ind2sub。 6、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1”标识。 7、在一个元胞数组A中寻访第2行第3列元胞元素用A(2,3);寻访数组第 2行第3列元胞中的内容用A{2,3}。 8、MATLAB中clf用于清除图形窗、clc用于清除指令窗中显示内容、clear 用于清除MATLAB工作空间中保存的变量。 1.已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。 A & B 的运行结果ans= ; A ./ B 的运行结果ans= 。 2. 产生4阶全0方阵的命令为;产生3阶全1方阵的命令为。 3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为和。

信号与系统MATLAB实验

2016-2017学年第一学期 信号与系统实验报告 班级: 姓名: 学号: 成绩: 指导教师:

实验一常见信号的MATLAB 表示及运算 一.实验目的 1.熟悉常见信号的意义、特性及波形 2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法 二.实验原理 信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。 根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法。 1.连续时间信号 所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB 并不能处理连续信号。在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB 中连续信号可用向量或符号运算功能来表示。 ⑴ 向量表示法 对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t 的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。 说明:plot 是常用的绘制连续信号波形的函数。 严格说来,MATLAB 不能表示连续信号,所以,在用plot()命令绘制波形时,要对自变量t 进行取值,MATLAB 会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t 的取样间隔。t 的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。

中南大学信号与系统matlab实验报告

实验一 基本信号的生成 1.实验目的 ● 学会使用MATLAB 产生各种常见的连续时间信号与离散时间信号; ● 通过MATLAB 中的绘图工具对产生的信号进行观察,加深对常用信号的理解; ● 熟悉MATLAB 的基本操作,以及一些基本函数的使用,为以后的实验奠定基础。 2.实验内容 ⑴ 运行以上九个例子程序,掌握一些常用基本信号的特点及其MATLAB 实现方法;改变有关参数,进一步观察信号波形的变化。 ⑵ 在 k [10:10]=- 范围内产生并画出以下信号: a) 1f [k][k]δ=; b) 2f [k][k+2]δ=; c) 3f [k][k-4]δ=; d) 4f [k]2[k+2][k-4]δδ=-。 源程序: k=-10:10; f1k=[zeros(1,10),1,zeros(1,10)]; subplot(2,2,1) stem(k,f1k) title('f1[k]') f2k=[zeros(1,8),1,zeros(1,12)]; subplot(2,2,2) stem(k,f2k) title('f2[k]') f3k=[zeros(1,14),1,zeros(1,6)]; subplot(2,2,3) stem(k,f3k) title('f3[k]') f4k=2*f2k-f3k; subplot(2,2,4) stem(k,f4k) title('f4[k]') ⑶ 在 k [0:31]=范围内产生并画出以下信号:

a) ()()k k 144f [k]sin cos π π=; b) ()2k 24f [k]cos π =; c) ()()k k 348f [k]sin cos π π=。 请问这三个信号的基波周期分别是多少? 源程序: k=0:31; f1k=sin(pi/4*k).*cos(pi/4*k); subplot(3,1,1) stem(k,f1k) title('f1[k]') f2k=(cos(pi/4*k)).^2; subplot(3,1,2) stem(k,f2k) title('f2[k]') f3k=sin(pi/4*k).*cos(pi/8*k); subplot(3,1,3) stem(k,f3k) title('f3[k]') 其中f1[k]的基波周期是4, f2[k]的基波周期是4, f3[k]的基波周期是16。 实验二 信号的基本运算 1.实验目的 ● 学会使用MATLAB 完成信号的一些基本运算; ● 了解复杂信号由基本信号通过尺度变换、翻转、平移、相加、相乘、差 分、求和、微分及积分等运算来表达的方法; ● 进一步熟悉MATLAB 的基本操作与编程,掌握其在信号分析中的运用特点与 使用方式。 2.实验内容 ⑴ 运行以上三个例题程序,掌握信号基本运算的MATLAB 实现方法;改变有关参数,考察相应信号运算结果的变化特点与规律。 ⑵ 已知信号()f t 如下图所示: a) 用MATLAB 编程复现上图; %作业题2 a : t=-6:0.001:6;

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2 sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');

(2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t); >> plot(t,x); >> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');

因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]);

(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕')

MATLAB试卷

MATLAB试卷 一、选择题(每空2分,总共20分) 1.下列哪个变量的定义是不合法的() (A) abcd-3 (B) xyz_3 (C ) abcdef (D) x3yz 2.下列哪条指令是求矩阵的行列式的值() (A)inv (B) diag (C ) det (D) eig 3.在循环结构中跳出循环,执行循环后面代码的命令为() (A) return (B) break (C) continue (D) keyboard 4.已知a=2:2:8, b=2:5,下面的运算表达式中,出错的 为() (A) a'*b (B) a .*b (C) a*b (D) a-b 5.用round函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为() (A) [2 6 3 8] (B) [2 6 4

8] (C) [2 6 4 9] (D) [3 7 4 9] 6. 下面的程序执行后array的值为( ) for k=1:10 if k>6 break; else array(k) = k; end end (A) array = [1, 2, 3, 4, 5, 6] (B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] (C) array =6 (D) array =10. 7.下列关于脚本文件和函数文件的描述中不正确的是( ) A. 去掉函数文件第一行的定义行可转变成脚本文件; B. 函数文件可以在命令窗口直接运行; C. 脚本文件可以调用函数文件; D. 函数文件中的第一行必须以function开始;

8.对应MATLAB提供的绘制平面曲线、离散序列、三维曲线、三维网格曲线、等高线图的函数为( ) A. plot, stem, mesh, plot3, surf B. plot, stem, plot3, mesh, contour C. plot, hist, mesh, plot3, contour D. plot, hist, plot3, meshc, contour 9.设X=[0:0.5*pi:pi], Y=cos(X)且Z=sin(X),那么Y.*Z, Y*Z’和cat(1,Y,Z)的结果分别为( ) A. [0 0 0] 0 [1 0 -1; 0 1 0] B. [0 0 0] 0 [1 0 -1 0 1 0] C. [0 0 0] [0 1 0; 0 0 0; 0 -1 0] [1 0 -1; 0 1 0] D. [0 1 0; 0 0 0; 0 -1 0] [0 0 0] [1 0 -1 0 1 0] 10.使用下列哪一条指令可以将图形窗体分割成二行三列,并且将第二行第二列的绘图区域设置为当前的绘图区域() A.subplot(3,2,2) B.subplot(2,3,2) C.subplot(3 ,2,5) D.subplot(2,3,5)

中南大学系统仿真实验报告

实验一MATLAB 中矩阵与多项式的基本运算 实验任务 1. 了解MATLAB命令窗口和程序文件的调用。 2 ?熟悉如下MATLAB的基本运算: ①矩阵的产生、数据的输入、相关元素的显示; ②矩阵的加法、乘法、左除、右除; ③特殊矩阵:单位矩阵、“ 1 ”矩阵、“0”矩阵、对角阵、随机矩阵的产生和运算; ④多项式的运算:多项式求根、多项式之间的乘除。 基本命令训练 1、>> eye(2) ans = 1 0 0 1 >> eye(4) ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 2、>> ones(2) 1 1 ans =

1 1 >> ones(4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >> ones(2,2) ans = 1 1 1 1 >> ones(2,3) ans = 1 1 1 1 1 1 >> ones(4,3) ans = 1 1 1 1 1 1 1 1 1 1 1 1 3、>> zeros(2) ans =

0 0 0 0 >> zeros(4) ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> zeros(2,2) ans = 0 0 0 0 >> zeros(2,3) ans = 0 0 0 0 0 0 >> zeros(3,2) ans = 0 0 0 0 00 4、随机阵>> rand(2,3) ans = 0.2785 0.9575 0.1576 0.5469 0.9649 0.9706 >> rand(2,3)

中南大学matlab课后习题(1)

第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+0.34245*10^-6) w= 1.4142 (2)a=3.5;b=5;c=-9.8; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a);x x = 0.9829 (3)a=3.32;b=-7.9; y=2*pi*a^2*[(1-pi/4)*b-(0.8333-pi/4)*a]; y y= -128.4271 (4)t=[2,1-3i;5,-0.65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z= 1.0e+004* 0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 -0.3696i 1.7706 - 1.0539i 2,已知a,b,求下列表达式的值。 a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0]; (1)a+6*b ans= 4723-10 12 3726 -15 73 7 a^2-b+eye(3) ans= -18 -217 17 22 533 109 21867 526 (2)a*b ans= 14 14 16 -10 51 21 125 328 180 a.*b ans = -8 15 4 0 35 24 -9 122 0 b*a ans = -110-15 7 22853 3 -1 28 (3)a/b ans =

1.2234 -0.9255 2.9787 -0.9468 2.3511 -0.9574 4.6170 3.8723 13.8936 b\a ans = -0.5106 -8.6170 -1.1277 0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043 (4)[a,b] ans= -1 5 -4 8 3 -1 0 7 8 2 5 3 361 7 -3 2 0 [a([1,3],:);b^2] ans = -15 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3.已知a,完成下列操作。 a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; (1)输出a在[10,25]范围内的全部元素。 k=find(a>10&a<25) a(k) k = 1 ans= 23 (2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。 b=a(1:3,:) b = 23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.00005.0000 32.0000 5.0000 0 32.0000 c=a(:,1:2) c = 23.0000 10.0000 41.0000 -45.0000 32.0000 5.0000 6.0000 -9.5400 d=a(2:4,3:4) d = 65.0000 5.0000 0 32.0000 54.0000 3.1400 e=b*c e = 1.0e+003 * 0.9141 -0.2239

信号与系统MATLAB实验总汇

实验一、MATLAB 编程基础及典型实例 一、实验目的 (1)熟悉MATLAB 软件平台的使用; (2)熟悉MATLAB 编程方法及常用语句; (3)掌握MATLAB 的可视化绘图技术; (4)结合《信号与系统》的特点,编程实现常用信号及其运算。 示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。编制一个函数型m 文件,实现这个功能。function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2) a=min(min(n1),min(n2)); b=max(max(n1),max(n2)); n=a:b; f1_new=zeros(1,length(n)); f2_new=zeros(1,length(n)); tem1=find((n>=min(n1))&(n<=max(n1))==1); f1_new(tem1)=f1; tem2=find((n>=min(n2))&(n<=max(n2))==1); f2_new(tem2)=f2; 四、实验内容与步骤 (2)绘制信号x(t)=)3 2sin(2t e t ?的曲线,t 的范围在0~30s ,取样时间间隔为0.1s 。t=0:0.1:30; y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);

(3)在n=[-10:10]范围产生离散序列:?? ?≤≤?=Other n n n x ,033,2)(,并绘图。n=-10:1:10; z1=((n+3)>=0); z2=((n-3)>=0); x=2*n.*(z1-z2); stem(n,x);(4)编程实现如下图所示的波形。 t=-2:0.001:3; f1=((t>=-1)&(t<=1)); f2=((t>=-1)&(t<=2)); f=f1+f2; plot(t,f); axis([-2,3,0,3]);

电磁场 点电荷 电场线 电势 MATLAB 仿真 中南大学

电磁场理论 实验一 ——利用Matlab 模拟点电荷电场的分布 一.实验目的: 1.熟悉单个点电荷及一对点电荷的电场分布情况; 2.学会使用Matlab 进行数值计算,并绘出相应的图形; 二.实验原理: 根据库伦定律:在真空中,两个静止点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离的平方成反比,作用力的方向在两个电荷的连线上,两电荷同号为斥力,异号为吸力,它们之间的力F 满足: R R Q Q k F ? 212 = (式1) 由电场强度E 的定义可知: R R kQ E ? 2= (式2) 对于点电荷,根据场论基础中的定义,有势场E 的势函数为 R kQ U = (式3) 而 U E -?= (式4) 在Matlab 中,由以上公式算出各点的电势U ,电场强度E 后,可以用Matlab 自带的库函数绘出相应电荷的电场分布情况. 三.实验内容: 1. 单个点电荷 点电荷的平面电力线和等势线 真空中点电荷的场强大小是E=kq /r^2 ,其中k 为静电力恒量, q 为电量, r 为点电荷到场点P(x,y)的距离.电场呈球对称分布, 取电量q> 0, 电力线是以电荷为

起点的射线簇.以无穷远处为零势点, 点电荷的电势为U=kq /r,当U 取常数时, 此式就是等势面方程.等势面是以电荷为中心以r 为半径的球面. ●平面电力线的画法 在平面上, 电力线是等角分布的射线簇, 用MATLAB 画射线簇很简单.取射线的半径为( 都取国际制单位) r0=0.12, 不同的角度用向量表示( 单位为弧度) th=linspace(0,2*pi,13).射线簇的终点的直角坐标为: [x,y]=pol2cart(th,r0).插入x 的起始坐标x=[x; 0.1*x].同样插入y 的起始坐标, y=[y; 0.1*y], x 和y 都是二维数组, 每一列是一条射线的起始和终止坐标.用二维画线命令plot(x,y)就画出所有电力线. ●平面等势线的画法 在过电荷的截面上, 等势线就是以电荷为中心的圆簇, 用MATLAB 画等势 线更加简单.静电力常量为k=9e9, 电量可取为q=1e- 9; 最大的等势线的半径应 该比射线的半径小一点? r0=0.1.其电势为u0=k8q /r0.如果从外到里取7 条等势线, 最里面的等势线的电势是最外面的3 倍, 那么各条线的电势用向量表示为: u=linspace(1,3,7)*u0.从- r0 到r0 取偶数个点, 例如100 个点, 使最中心点的坐 标绕过0, 各点的坐标可用向量表示: x=linspace(- r0,r0,100), 在直角坐标系中可形成网格坐标: [X,Y]=meshgrid(x).各点到原点的距离为: r=sqrt(X.^2+Y.^2), 在乘方时, 乘方号前面要加点, 表示对变量中的元素进行乘方计算.各点的电势为 U=k8q. /r, 在进行除法运算时, 除号前面也要加点, 同样表示对变量中的元素进行除法运算.用等高线命令即可画出等势线contour(X,Y,U,u), 在画等势线后一般会把电力线擦除, 在画等势线之前插入如下命令hold on 就行了.平面电力线和 等势线如图1, 其中插入了标题等等.越靠近点电荷的中心, 电势越高, 电场强度越大, 电力线和等势线也越密.

中南大学Matlab与科学计算样题 (加主观题答案)

Matlab 与科学计算考试样题(客观题) 1 下面的MATLAB 语句中不正确的有: a) 2a =pi; b) record_1=3+4i c) a=2.0, d) c=1+6j 2. 已知水的黏度随温度的变化公式如下,其中a=0.03368,b=0.000221,计算温度t 为20,30,40度时的粘度分别是: 02 1at bt μμ=++0μ为0℃水的黏度,值为3 1.78510-?;a 、b 为常数,分别为0.03368、0.000221。 3. 请补充语句以画出如图所示的图形: [x,y]=meshgrid(-2:0.1:2, -2:0.1:2); Z=x.*exp(-x.^2-y.^2); ; a) Plot3(x,y,Z) b) plot3(x,y,Z) c) mesh(x,y,Z) d) plot3(x,y,z) 2 a) 0.4900 1.2501 0.8560 b) 0.8560 1.2501 0.4900 c) -0.6341 3.8189 -3.7749 d) 3.8189 -3.7749 2.8533 解释说明: >> x=0.5:0.5:3.0; >> y=[1.75,2.45,3.81,4.80,8.00,8.60]; >> a=polyfit(x,y,2)

a = 0.4900 1.2501 0.8560 >> x1=[0.5:0.25:3.0]; >> y1=a(1)*x1.^2+a(2)*x1+a(3) >> plot(x,y,'*') >> hold on >> plot(x1,y1,'--r') 5. 求方程在x=0.5附近的根. 21x x += a) 0.6180 b) -1.1719e-25 c) -1 d) -1.6180 6. 用Newton-Cotes 方法计算如下积分 1 5x ? (a )133.6625 (b) 23.8600 (c) 87.9027 (d) -1.6180 7. y=ln(1+x),求x=1时y" a) -0.25 b) 0.5 c) -0.6137 d) -1.6137 8. 某公司用3台轧机来生产规格相同的铝合金薄板。取样测量薄板的 厚度,精确至‰厘米。得结果如下: 轧机1:0.236 0.238 0.248 0.245 0.243 轧机2:0.257 0.253 0.255 0.254 0.261 轧机3:0.258 0.264 0.259 0.267 0.262 计算方差分析结果,并判定各台轧机所生产的薄板的厚度有无显著的差异? a) p =1.3431e-005,没有显著差异。 b) p =0.9688,没有显著差异。 c) p =0.4956,有显著差异。 d) p =0.9688,有显著差异。 22x y x y e x y e --?-=??-+=??

相关文档
最新文档