Matlab与通信仿真 学生程序三: % 学生程序 B=rot90(A',3) %水平翻转 B=rot90(A',1) %垂直翻转 学生程序四: A=ones(10);
n=linspace(1,10,10); for m=1:10 A(m,?=n+linspace(1,1,10); End
% 学生程序 B=rot90(A',3) %水平翻转 B=rot90(A',1) %垂直翻转
3.建立.m文件,随机产生一个10×10的矩阵,元素值为从0到255,要求用0和255对该矩阵进行标记,元素值大于128的标记为255,元素值小于128的标记为0。
解:
% 实验一的第三个实验 exp0103.m
% 建立.m文件,随机产生一个50×50的矩阵,元素值为从0到255,要求用0和255对该矩阵进行标记,
% 元素值小于128的标记为0。 clear all n=5;
%A=fix((90-10+1)*rand(n)+10)
A=fix((255)*rand(5)) % 产生产生一个50×50的,元素值为从0到255随机矩阵 a=128*ones(n,n) % 产生产生一个50×50的,元素值全为128随机矩阵
B=A>a % 产生产生一个50×50的矩阵,元素值元素值大于128的标记为1,元素值小于128的标记为0
C=A
D=255*B % 产生产生一个50×50的矩阵,元素值元素值小于128的标记为255,元素值大于128的标记为0 % 实现的另一个方法 % a=find(A>128) % b=find(A<128) 学生程序: clear all
A=255*rand(10) for i=1:10 for j=1:10
if A(i,j)>128 A(i,j)=255; elseif A(i,j)<128 A(i,j)=0;
4
Matlab与通信仿真 end end end A A =
51.7051 106.7556 128.2173 177.9641 168.3580 179.1987 249.8355 168.6679 57.6172 144.7963
50.6740 215.7865 180.9152 96.4851 87.2025 139.3756 69.2191 72.5242 147.8508 202.5237
153.9671 133.9139 109.3676 219.3030 73.8801 113.4445 193.8931 15.0916
69.4079 51.6751 77.6774 217.6821 87.0044 177.1146 135.1049 153.7316
50.6976 171.3951 48.3617 151.3585 136.1901 158.4341 163.3343 12.8185
3.8949 213.7202 49.3249 126.6209 185.4139 202.6794 53.3127 105.9206
190.4303 5.0081 173.9669 229.4411 78.8690 243.9951 96.8537 77.7747
113.4996 173.7257 77.2049 209.5154 213.8165 133.2605 199.7488 222.9636
237.6127 96.7677 138.1268 164.4521 144.8585 224.4363 173.6157 3.8274
118.8286 212.1080 38.4726 208.5835 94.4555 44.1038 117.5793 195.8273 A =
0 0 255 255 255 255 255 255 0 255 0 255 255 0 0 255 0 0 255 255 255 255 0 255 0 0 0 0 255 0 0 0 0 255 0 255 255 0 255 255 0 255 0 255 255 255 255 255 255 0 0 255 0 0 255 255 0 255 0 0 255 0 255 255 0 255 0 0 0 0 0 255 0 255 255 255 255 255 255 255 255 0 255 255 255 255 0 0 255 0 0 255 0 255 0 0 0 0 0 255
4.产生一个均值为2.4方差为0.2大小为3×4的随机矩阵。
解:
% 实验一的第四个实验 exp0104.m
% 产生一个均值为2.4方差为0.2大小为3×4的随机矩阵。 % clear all close all
a=2.4+sqrt(0.2)*randn(1000,4)
5
64.3440 223.3142 188.0130 34.8123 2.9980 227.9440 50.7802 76.1744 119.6522 16.5192 252.0254 148.6119 107.9915 131.4555 85.1576 110.3912 Matlab与通信仿真 mean(a) var(a)
mean(a)=
2.3807 2.4204 2.4079 2.4118 var(a)=
0.1780 0.2127 0.2100 0.1965
5.(选做)编写函数使用0.618搜索法(近似黄金分割法)求给定函数的极值:搜索法求解min?(t)的基本过程:给出[a,b],使得t*在[a,b]中。[a,b]称为搜索区间。
t?0迭代缩短[a,b]的长度。当[a,b]的长度小于某个预设的值,或者导数的绝对值小于某个预设的正数,则迭代终止。
% 学生程序
function f=factor(a,b) t1=a+0.382*(b-a); t2=a+0.618*(b-a);
if t1^3-2*t1+1<=t2^3-2*t2+1 if t2-a<=0.5 disp(t1); %break; else
factor(a,t2); end else
if b-t1<=0.5 disp(t2); %break; else
factor(t1,b); end end
三、实验问题:
1.第一个实验的A矩阵是一个近似奇异的矩阵,因此导致其求逆不确定 2.第二个实验,将50*50改为10*10 3.
实验二 绘图和确知信号分析实验
一、实验目的
? 掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理 ? 理解周期信号的傅里叶级数展开的物理意义 ? 掌握信号的傅里叶变换及其反变换
6
Matlab与通信仿真 二、实验原理 1.周期信号的傅里叶级数
若一周期信号f?t??f?t?kT?,其中k为整数,T成为信号的周期。若周期信号在一个周期内可积,则可通过傅里叶级数对该信号进行展开。其傅里叶展开式如下:
f?t??n????Fen?j2?nfst1T/2f?t?e?j2?nfstdt ,Fn??T?T/2其中,T为信号最小周期;fs?1/T为信号的基波;Fn为傅里叶展开系数,其物理意义为频率分量nfs的幅度和相位。 2.信号的傅里叶变换及其反变换
对于非周期信号s?t?,满足绝对可积的条件下,可利用傅里叶变换对其进行频域分析。
S?f???s?t?e????j2?ftdt,s?t???S?f?ej2?ftdf
???其中,S?f?称为信号s?t?傅里叶变换,表示了该信号的频谱特性。
三、实验内容
1.二维平面图形的绘制(任选3个)
① 假设N=12.对于M=4,5,7,10,在0≤n≤2N-1区间上画出xM[n]?sin(当标注。用plot和stem分别绘制该信号,并比较。
② 考虑信号xk[n]?sin(?kn),式中?k=2πk/5.给出k=1,2,4,6,用stem画出每个信号在区间0≤n≤9内的图。利用subplot在同一幅图上用单独的坐标轴画出全部符号。
③ N=6,试画出x1[n]?cos(2?Mn),并添上适N2n3n2?n3?n)?2cos();x2[n]?2cos()?cos()
NNNN2?n5?nx3[n]?cos()?3sin()的图形。
N2N④ 在0≤n≤31内画出下面每一个信号:
x1[n]?sin(?n4)cos(?n4); x2[n]?cos2(?n4); x3[n]?sin(?n4)cos(?n8)。
⑤ 用stem画出信号
?2,n?0?1,n?2??x[n]???1,n?3
?3,n?4???0,其余n定义:y1[n]=x[n-2], y2[n]=x[n+1],y3[n]=x[-n], y4[n]=x[-n+1], 用stem分别画出y1~y4,并用legend 命令给出图例。
7
Matlab与通信仿真 2.设周期信号一个周期的波形为f?t????1,t?T/4?0,其他,求该信号傅里叶级数展开式,并用
MATLAB画出傅里叶技术展开后的波形,并通过展开式项数的变化考察其对f?t?的逼近程度,考察其物理意义。 3.设非周期信号s?t????1,t?T/4?0,其他,求该信号的傅里叶变换,MATLAB画出傅里叶变换后
的频谱,并对频谱进行反变换,画出s?t?的波形。
四、实验程序,实验结果及分析
1.二维平面图形的绘制(任选3个)
① 假设N=12.对于M=4,5,7,10,在0≤n≤2N-1区间上画出xM[n]?sin(当标注。用plot和stem分别绘制该信号,并比较。 % 程序
M=[4,5,7,10]; N=12; n=0:2*N-1; for i=1:length(M)
xn=sin(2*pi*M(i)*n/N); subplot(length(M),1,i) plot(n,xn);hold on s=int2str(M(i)) title(['M=' s]); stem(n,xn,'r'); end 结果:
M=410-110-110-110-105101520250510M=101520250510M=71520250510M=51520252?Mn),并添上适N
8