MATLAB通信系统仿真实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一、MATLAB的基本使用与数学运算
目的:学习MATLAB的基本操作,实现简单的数学运算程序。
内容:
1-1 要求在闭区间[0,2π]上产生具有10个等间距采样点的一维数组。试用两种不同的指令实现。
运行代码:x=[0:2*pi/9:2*pi]
运行结果:
1-2 用M文件建立大矩阵x
x=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]
代码:x=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]
m_mat
运行结果:
1-3已知A=[5,6;7,8],B=[9,10;11,12],试用MATLAB分别计算
A+B,A*B,A.*B,A^3,A.^3,A/B,A\B.
代码:A=[5 6;7 8] B=[9 10;11 12] x1=A+B X2=A-B X3=A*B X4=A.*B X5=A^3 X6=A.^3 X7=A/B X8=A\B
运行结果:
1-4任意建立矩阵A,然后找出在[10,20]区间的元素位置。
程序代码及运行结果:
代码:A=[12 52 22 14 17;11 10 24 03 0;55 23 15 86 5 ] c=A>=10&A<=20
运行结果:
1-5 总结:实验过程中,因为对软件太过生疏遇到了些许困难,不过最后通过查书与同学交流都解决了。例如第二题中,将文件保存在了D盘,而导致频频出错,最后发现必须保存在MATLAB文件之下才可以。第四题中,逻辑语言运用到了ij,也出现问题,虽然自己纠正了问题,却也不明白错在哪了,在老师的讲解下知道位置定位上不能用ij而应该用具体的整数。总之第一节实验收获颇多。
实验二、MATLAB程序的编写
目的:掌握顺序结构、选择结构、循环结构程序设计方法。学会编写函数。
内容:
2-1编写程序,建立向量N=[1,2,3,4,5],然后利用向量N产生下列向量;(1)2,4,6,8,10
(2)1/2,1,3/2,2,5/2
(3)1,1/2,1/3,1/4,1/5
(4)1,1/4,1/9,1/16,1/25
代码:N=[1,2,3,4,5] X1=N*2 X2=N/2 X3=1./N X4=X3*X3
运行结果:
2-2从键盘输入一个三位整数,将他反向输出,如输入为639,输出为936.输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:
(1)分别用if语句
代码:clear
m=input('请输入一个三位数:')
m1=fix(m/100);
m2=rem(fix(m/10),10);
m3=rem(m,10);
n=m1+m2*10+m3*100;
disp(n);
(2)clear;
Mark=input('请输入成绩:');
Rank=cell(1,5);
S=struct('Marks',Mark, 'Rank',Rank);
for i=1:10;
a{i}=89+i;
b{i}=79+i;
c{i}=69+i;
d{i}=59+i;
e{i}=0+i;
q{i}=9+i;
g{i}=19+i;
h{i}=29+i;
m{i}=39+i;
n{i}=49+i;
end;
for i=1:5;
switch S(i).Marks
case 100
S(i).Rank='A';
case a
S(i).Rank='A';
case b
S(i).Rank='B';
case c
S(i).Rank='C';
case d
S(i).Rank='D';
case e
S(i).Rank='E';
case q
S(i).Rank='E';
case g
S(i).Rank='E';
case h
S(i).Rank='E';
case m
S(i).Rank='E';
case n
S(i).Rank='E';
otherwise
S(i).Rank='成绩输入错误';
end
end
disp([num2str(S(i).Marks),blanks(3),S(i).Rank]);disp('');
运行结果:
2—3输入20个两位随机数,求其中的最大数最小数。要求分别用循环结构和调用MATLAB的max函数、min函数实现。
(1)a=fix(rand(1,20)*100) ma=max(a) mi=min(a)
运行结果:
(2)a=fix(rand(1,20)*100);
for i=1:20;
max=a(1);
min=a(1);