信号与系统——MATLAB基本实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信号与系统MATLAB实践》第一次上机作业
实验一、熟悉MATLAB基本操作
三、基本序列运算
1.数组的加减乘除和乘方运算
A=[1 2 3];
B=[4 5 6];
C=A+B;
D=A-B;
E=A.*B;
F=A./B;
G=A.^B;
subplot(2,4,1);stem(A)
subplot(2,4,2);stem(B)
subplot(2,4,3);stem(C)
subplot(2,4,4);stem(D)
subplot(2,4,5);stem(E)
subplot(2,4,6);stem(F)
subplot(2,4,7);stem(G)
2.绘制函数波形
(1)t=0:0.001:10
x=3-exp(-t);
plot(t,x)
ylabel('f(t)');
xlabel('t');
title('(1)');
(2)t=0:0.001:10
x=5*exp(-t)+3*exp(-2*t);
plot(t,x)
ylabel('f(t)');
xlabel('t');
title('(2)');
(3)t=0:0.001:3
x=exp(-t).*sin(2*pi*t); plot(t,x)
ylabel('f(t)');
xlabel('t');
title('(3)');
(4)t=0:0.001:3
x=sin(3*t)./(3*t);
plot(t,x) ylabel('f(t)'); xlabel('t'); title('(4)');
(5)k=1:1:6 x=(-2).^(-k); stem(k) xlabel('k'); ylabel('f(k)'); title('(5)');
(6)k=0:1:4 x=exp(k); stem(k) xlabel('k'); ylabel('f(k)'); title('(6)');
(7)k=1:1:99 x=k;
stem(k)
ylabel('f(k)');
title('(7)');
四、利用MATLAB求解线性方程组。
1. a=[2 3 1;1 1 1;3 -1 -1];
b=[11 6 -2]';
x=inv(a)*b
x =
1.0000
2.0000
3.0000
2. a=[1 1 1;1 -2 1;1 2 3];
b=[2 -1 -1]';
x=inv(a)*b
x =
3.0000
1.0000
-2.0000
3. a=[1 1 0;0 1 1;1 0 1];
b=[27 33 30]';
x=inv(a)*b
x =
15
18
实验二、信号的运算
二、编写实现下列离散信号运算函数的程序,并画出波形。
1. k=0:100
x=sin(k);
stem(x)
xlabel('k');
ylabel('f(k)');
title('2');
2. k=0:100
x=sin(k)+sin(pi*k);
stem(x)
xlabel('k');
ylabel('f(k)');
title('2');
3. k=3:103 x=k.*sin(k); stem(x) xlabel('k'); ylabel('f(k)'); title('3');
4. function f=fun(k)
for i=1:100
k(i)=i-50;
if k(i)<0
f(i)=(-1).^k(i);
else f(i)=(-1).^k(i)+0.5.^k(i);
end
end
stem(k,f)
xlabel('k');
ylabel('f(k)');
title('4');
七、编写一个计算两个离散序列的卷积和的程序,并用其计算下列卷积的和。
1. f1=[1 1 1 1];
f2=[1 0.5 0.25 0.125 0.0625];
conv(f1,f2)
ans =
1.0000 1.5000 1.7500 1.8750 0.9375 0.4375 0.1875 0.0625
2. f1=[1 1 1 1];
f2=[3 2 1];
conv(f1,f2)
ans =
3 5 6 6 3 1
实验三、信号的谱分析
二、1. clc; clear all;
x=[1,2,3,4,5,6,6,5,4,3,2,1]; dtft=zeros(70); for i=1:70
w(i)=(i-35)/10; for k=1:12
dtft(i)=dtft(i)+x(k)*exp(-j*(k-1)*w(i)); end end
subplot(1,2,1);
plot(w,abs(dtft));xlabel('w');ylabel('DTFT');title('幅频特性'); subplot(1,2,2);
plot(w,angle(dtft));xlabel('w');ylabel('DTFT');title('相频特性');
-4
-2
024051015202530
3540
45w
D T F T
幅频特性
-4
-2
024
-4-3-2-101
2
3
4w
D T F T
相频特性
2. clc; clear all; for i=1:120 if i==10 x(i)=1; elseif i==20