MATLAB实验报告信号与线性系统分析.docx
- 文档编号:7622058
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:19
- 大小:2.25MB
MATLAB实验报告信号与线性系统分析.docx
《MATLAB实验报告信号与线性系统分析.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告信号与线性系统分析.docx(19页珍藏版)》请在冰豆网上搜索。
MATLAB实验报告信号与线性系统分析
实验一MATLAB的基本使用
【一】实验目的
1.了解MATALB程序设计语言的基本特点,熟悉MATLAB软件的运行环境;
2.掌握变量、函数等有关概念,掌握M文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力;
3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。
【二】MATLAB的基础知识
通过本课程的学习,应基本掌握以下的基础知识:
一.MATLAB简介
二.MATLAB的启动和退出
三.MATLAB使用界面简介
四.帮助信息的获取
五.MATLAB的数值计算功能
六.程序流程控制
七.M文件
八.函数文件
九.MATLAB的可视化
【三】上机练习
1.仔细预习第二部分内容,关于MATLAB的基础知识。
2.熟悉MATLAB环境,将第二部分所有的例子在计算机上练习一遍
3.已知矩阵
。
求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
A.*B
两者结果不相同A*B=302418
846954
13811490
A.*B=91621
242524
21169
求A矩阵的行和列:
[M,N]=size(A)
M=
3
N=
3
求A矩阵的长度:
x=length(A)
x=
3
元素和:
sum(sum(A))
ans=
45
最大值:
max(max(A))
ans=
9
4.Fibonacci数组的元素满足Fibonacci规则:
;且
。
现要求该数组中第一个大于10000的元素。
1)在命令窗口中完成;
2)利用M文件完成;
3)自己定义一个函数文件,并在命令窗口中调用该函数完成。
解:
(1)代码:
b=1;
s=2;
whiles<10000
c=s;
s=s+b;
b=c;
end
结果:
s
s=
10946
(2)M文件中代码:
(保存文件名为Untitled)
结果:
Untitled
s=
10946
(3)代码:
结果:
Fibon
s=
10946
5.在同一个图形窗口的两个子窗口中分别画出
(红色、虚线)和
(蓝色、星号)的波形。
要求有标题,x、y轴有标注。
解:
代码:
x=0:
0.05*pi:
4*pi;
figure
(1);
subplot(1,2,1);
plot(x,(cos((pi/4)*x)),'r:
');
title('cos((pi/4)*x)');
xlabel('X');
ylabel('Y');
subplot(1,2,2);
plot(x,(cos((pi/8)*x)),'b*');
title('cos((pi/8)*x)');
xlabel('X');
ylabel('Y');
结果:
【四】思考题
1.在语句末加分号“;”和不加分号有什么区别?
2.M文件和函数文件有什么异同之处?
3.矩阵乘(*)和数组乘(.*)有何不同?
实验二信号的表示及可视化
【一】实验目的
1.掌握连续信号的MATLAB表示方法(表达式及图形描述);
2.掌握离散序列的MATLAB表示方法(表达式及图形描述);
【二】实验原理
在MATLAB中通常用两种方法来表示信号,一种是向量表示信号,另一种则是用符号运算的方法来表示信号。
用适当的MATLAB语句表示出信号后,我们就可以利用MATLAB的绘图命令绘出直观的信号波形。
【三】上机练习
1.认真预习实验原理的内容,将所有例题在计算机上练习一遍。
2.用MATLAB命令绘制单边指数信号e-1.5tε(t)在时间0 要求有标题,在(3.1,0.05)处标注’t’,利用axis调整坐标轴在一个合适的范围,便于观察波形。 解: 代码: symstf f=sym(heaviside(t)*eps^(1.5*t)) ezplot(f,[0,3]) text(3.1,0.05,'t') 结果: 3.绘制δ(t-2),-1 解: M文件: 结果: chongji(-1,5,-2) 4.绘制ε(k-3),-1≤k≤5及ε(k+1),-5≤k≤2。 解: M文件: 结果: (1): jyxulie(-1,5,-3) (2)jyxulie(-5,2,1) 5.考虑下面3个信号: f1(n)=cos(2πn/N)+2cos(3πn/N) f2(n)=2cos(2n/N)+2cos(3n/N) f3(n)=cos(2πn/N)+3cos(5πn/N) 假设对每个信号N=6。 试确定上述信号是否是周期的。 如果是,则确定信号的周期,并画图表示出该信号的两个周期;如果不是周期的,在[0,4N]的范围内画出该信号,并说明原因。 解: 代码: k=0: 40; subplot(3,1,1) stem(k,cos(2*pi*k/6)+2*cos(3*pi*k/6),'filled') title('cos(2*pi*k/6)+2*cos(3*pi*k/6)') subplot(3,1,2) stem(k,2*cos(2*k/6)+2*cos(3*k/6),'filled') title('2*cos(2*k/6)+2*cos(3*k/6))') subplot(3,1,3) stem(k,cos(2*pi*k/6)+3*cos(5*pi*k/6),'filled') title('cos(2*pi*k/6)+3*cos(5*pi*k/6)') 结果: 可得1,3是周期信号 2是非周期信号 【四】思考题 1.观察例2-1的执行结果,当把时间间隔p取得更小(例如为0.02)时,观察执行结果,比较两结果用何不同,为什么? 2.例2-3中的holdon和holeoff命令的作用是什么? 实验三信号的时域运算、时域变换及MATLAB实现 【一】实验目的 1.掌握信号时域运算的MATLAB实现方法 2.掌握信号时域变换的MATLAB实现方法 【二】实验原理 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 一.连续信号的时域运算与时域变换 MATLAB可以有两种方法来表示连续信号。 用这两种方法均可实现连续信号的时域运算和变换,但用符号运算的方法则较为简便。 二.离散序列的时域运算及时域变化 对于离散序列来说,序列相加、相乘是将两序列对应时间序号的值逐项相加或相乘,平移、反折及倒相变化与连续信号的定义完全相同,这里就不再赘述。 但需要注意,与连续信号不同的是,在MATLAB中,离散序列的时域运算和变换不能用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的相加、相乘,因而参加运算的两序列向量必须具有相同的维数。 【三】上机练习 将实验原理中提到的例子在计算机上全部练习一遍; 1.已知信号 ,画出 的波形; 解: 代码: symstf f=sym('1/4*(t+1)*(heaviside(t+4)-heaviside(t))+(heaviside(t-2)-heaviside(t))') subplot(2,1,1),ezplot(f,[-4,5]) y=subs(f,t,-2*t-4) subplot(2,1,2),ezplot(y) 结果: 2.已知两个连续信号 ,用MATLAB绘出下列信号的波形: 1) 2) 3) 4) 解: 代码: symstf f1=-t*(heaviside(t)-heaviside(t+1)) f2=sin(2*pi*t) y=subs(f1,t,-t) f3=f1+y subplot(2,2,1),ezplot(f3) ylabel('f3'); f4=-1*f3 subplot(2,2,2),ezplot(f4) ylabel('f4'); f5=f2*f3 subplot(2,2,3),ezplot(f5) ylabel('f5'); f6=f1*f2 subplot(2,2,4),ezplot(f6) ylabel('f6'); 结果: 3.已知离散序列 ,用MATLAB绘出下列序列的波形。 1) 2) 3) 4) 代码: M文件 向量相乘: 向量反折: 向量平移: f1=[0,1,2,3,3,3,3,0]; k1=-3: 4; stem(k1,f1); axis([-4,5,-0.5,3.5]); (1)f1=[0,1,2,3,3,3,3,0]; k1=-3: 4; f1l=lsyw(f1,k1,2); k11=k1; stem(k1,f1); k2=k1 f2=Heaviside(k2) [f,k]=lsxc(f11,f2,k11,k2) (2)lsfz(f1,k1) (3)lsyw(f1,-k1,2) (4)f1=[0,1,2,3,3,3,3,0]; k1=-3: 4; f1l=lsyw(f1,k1,2); k11=k1; stem(k1,f1); k2=k1 f2=Heaviside(k2) f22=lsyw(f2,k2,2); k22=k2; [f,k]=lsxc(f11,f22,k11,k22) 结果: 【四】思考题 在对信号进行平移、反折和尺度变换时,运算顺序对结果是否有影响? 在运算中应该注意什么? 选做题: 实验五周期信号傅里叶级数 【三】上机练习 1.将例5-1在计算机上练习一遍,观察运行结果是否正确; 2.修改例5-1,将周期信号分解为前10次谐波的叠加,观察运行结果,能得出什么结论? 解: M文件: 结果: 运行CTFShchsym 3.观察例5-1运行结果中脉冲宽度与频谱的关系; 答: 当周期不变,信号的频带宽度与脉冲宽度成反比。 4.观察例5-1运行结果中周期与频谱的关系; 答: 当脉冲宽度不变,周期愈长,相邻谱线的间隔减小,频谱变密。 【四】思考题 试用MATLAB绘出周期矩形脉冲信号的振幅频谱。 解: 代码: x1=ones(1,2); x2=[x1,zeros(1,6)]; x=10*x2;%所求的周期脉冲信号 N=8;%长度为8 n=[0: 1: N-1]; k=[0: 1: N-1]; k1=[-N/2: N/2]; WN=exp(-j*2*pi/N); nk=n'*k; WNnk=WN.^nk; Xk=x*WNnk; magXk=abs([Xk(N/2+1: N),Xk(1: N/2+1)]); subplot(2,1,1); stem(n,x);%画出周期脉冲信号 subplot(2,1,2); stem(k1,magXk); xlabel('k1'); ylabel('Xtilde(k)'); title('DFSofSQ.wave: L=2,N=8')%该信号频谱图 结果: 总结和建议
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实验 报告 信号 线性 系统分析