Matlab实验报告
- 格式:doc
- 大小:198.00 KB
- 文档页数:19
实验环境 MATLAB
实验名称 实验一:熟悉MATLAB环境及Matlab基本操作
实
验
目
的 1、熟悉MATLAB环境及各种基本Matlab操作
实验原理 MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。
利用FILE菜单可方便对文件或窗口进行管理。其中FILE|NEW的各子菜单,M-FILE(M文件)、FIGURE(图形窗口)、或MODEL(SIMULINK编辑界面)分别可创建对应文件或模块。EDIT菜单允许用户和WINDOWS的剪切板交互信息。
MATLAB语言最基本的赋值语句结构为:变量名列表=表达。表达式由操作符或其它字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。如果变量名和“=”省略,则ANS变量将自动建立,例如键入:1900/81,得到输出结果:ans =。
在MATLAB中把数据绘成图形可有多种命令一供选择。下面列出了这些命令:
绘图命令
Plot 线性X-Y坐标图
Loglog 双对数坐标图
Semilogx X轴对数半对数坐标图
Semilogy Y轴对数半对数坐标图
Polar 极坐标图
Mesh 三维消隐图
Contour 等高线图
Bar 条形图
Stairs 阶梯图
实
验
原
理 除了可以在屏幕上显出图形外,还可以对屏幕上已有的图形加注释、题头或坐标网格。
图形加注
Title 画题头
Xlabel x轴标注
Ylabel y轴标注
Text 任意定位的标注
Gtext 鼠标定位标注
Dgrid 网格
关于坐标轴尺寸的选择和图形处理等控制命令:
图形控制命令
Axis 人工选择坐标轴尺寸
Clg 清除图形窗口
Ginput 利用鼠标的十字准线输入
Hold 保持图形
Shg 显示图形窗口
Subplot 将图形窗口分成N块子窗
实 验 内 容
1、将Matlab当前目录变更到D:\自己姓名拼音文件夹下,并建立新文件画出y=2 * x的曲线,并将曲线图形保存在当前目录下。
2、使用for语句及while语句求解1至100整数中奇数的和。
3、用MATLAB程序建立九九乘法表。
4、求连续自然数的和,当和大于等于1000时,求最后一个自然数以及自然数的和。
5、MATLAB函数是可以递归调用的,即在函数的内部调用函数自身,试用递归方式编写n!函数。 实
验
结
果
及
分
析 实验1:程序如下
x=1:10
y=2*x;
plot(x,y)仿真结果:
实验结果分析:
仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。所以用Maltab 软件很方便地画出规则的直线,方便研究。 实
验
结
果 及 分 析 实验2:程序如下:
clear all
sum=0;
for n=1:2:97
sum=sum+n;
end
sum=sum+99
disp('程序运行结束!')
实验结果如下。
实验2结果分析:
这道题有多种方法,例如如下程序:
clear all
sum=0;
for i=1:2:100
sum=sum+i;
end
sum
这道题需要注意的一点是语句sum=sum+i 后要加分号。这样就不会出现i每赋值一次窗口就显示一次sum 值。
实验3:程序如下:
clear all
for x=1:9
a=[];
for y=1:x
term=([num2str(y),'*',num2str(x),'=',num2str(x*y,'%2d')]); 实 验
结
果
及
分
析 实验3仿真结果:
实验4程序如下:
clear all
n=0;
sum=0;
while(sum<1000)
n=n+1;
sum=sum+n;
end
str1 = ['最后一个自然数为:',num2str(n)];
str2 = ['计算结果为:',num2str(sum)];
disp(str1)
disp(str2)
实验4结果为:
实验5程序:
n=input('n');
sum=1;
if(n==0)
break;
else
for m=1:n
sum=sum*m; 实验名称 实验二: Matlab在通信原理中的应用
实
验
目 的
1、掌握通信原理课程中基本知识的Matlab编程、仿真方法
实验原理
实验1程序:
dt = ; fm = 2; fc = 10; T = 5; t = 0:dt:T;
mt = sqrt(2) * cos(2 * pi * fm * t);
A = ;
s_am = (A + mt).* sin(2 * pi * fc * t);
B = 2 * fm;
figure(1)
subplot(311)
plot(t,s_am);hold on;
plot(t,A + mt,'r--');
title('AM调制信号及其包络');
xlabel('t');
rt = s_am.*cos(2 * pi * fc * t);
rt = rt - mean(rt);
[f,rf] = T2F(t,rt);
[t,rt] = lpf(f,rf,2 * fm);
subplot(312)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title('相干解调后的信号波形与输入信号的比较');
xlabel('t')
subplot(313)
[f,sf]=T2F(t,s_am);
psf = (abs(sf).^2)/T;
plot(f,psf);
axis([ -2*fc 2*fc 0 max(psf)]);
title(AM信号功率谱');
xlabel('f');
实
验
内
容
1、用Matlab产生一个频率为2Hz、功率为1的正弦信源m(t),设载波频率为10Hz,A分别等于、1、,试画出:
(1)AM调制信号;
(2)调制信号的功率谱密度;
(3)相干解调后的信号波形(选做)
(4)研究调制深度与失真的关系。(选做)
(选做)
2、消息()mt是周期为2s的周期信号,它在区间[0,2]的定义如下:
0.11()211.90ttmttt其它
该信号用DSB方案调制50Hz的载波。
(1)绘出调制信号。
(2)绘出调制信号的频谱。
(3)比较调制信号和未调制信号的频谱。
实
验
结
果
及 分 析 1、 A=
2、 A=1
实 验 结 果
及
分
析 A=
实验名称 实验三 Matlab在信号与系统中的应用
实
验
目 的 1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法 实 验 原 理 实验1程序:
b=[1];
a=[1 1];
p=;
t=0:p:5;
x=exp(-3*t);
subplot(1,2,1);
impulse(b,a,0:p:5);
title('冲激响应');
subplot(1,2,2);
step(b,a,0:p:5);
title('阶跃响应');
实
验
内
容
1、用MATLAB在时域中编程求解 y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
(选做)
2、用MATLAB在时域中编程求解 y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。