Matlab实验报告
精选文库 — 实验环境 MATLAB 7.0 实验名称 实验一:熟悉 MATLAB 环境及 Matlab 基本操作
实 验 目 的 1、熟悉 MATLAB 环境及各种基本 Matlab 操作
实验原理实验原理 MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。
利用 FILE 菜单可方便对文件或窗口进行管理。其中 FILE|NEW 的各子菜单,M-FILE(M 文件)、FIGURE(图形窗口)、或 MODEL(SIMULINK 编辑界面)分别可创建对应文件或模块。EDIT 菜单允许用户和 WINDOWS 的剪切板交互信息。
MATLAB 语言最基本的赋值语句结构为:变量名列表=表达。表达式由操作符或其它字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。如果变量名和“=”省略,则 ANS 变量将自动建立,例如键入:1900/81,得到输出结果:ans =23.4568。
在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")]);
if x*y<10
term=[term,"
"];
else
term=[term," "];
end
a=[a,term];
end
disp(a)
end
实
验
结
果
及
分
析 实验 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;
end
end
sum
仿真结果:
n5 sum = 120
实验名称 实验二:
Matlab 在通信原理中的应用
实 验 目 的
1、掌握通信原理课程中基本知识的 Matlab 编程、仿真方法
实验原理实验原理
实验 1 程序:
dt = 0.001;
fm = 2;
fc = 10;
T = 5;
t = 0:dt:T;
mt = sqrt(2) * cos(2 * pi * fm * t);
A = 0.5;
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 分别等于 0.5、1、1.5,试画出:
(1)AM 调制信号; (2)调制信号的功率谱密度; (3)相干解调后的信号波形 (选做)
(4)研究调制深度与失真的关系。
(选做)
< 设计性实验> (选做)
2、消息 ( ) m t 是周期为 2s 的周期信号,它在区间 [0,2] 的定义如下:
0.1 1( ) 2 1 1.90t tm t t t 其它 该信号用 DSB 方案调制 50Hz 的载波。
(1)绘出调制信号。
(2)绘出调制信号的频谱。
(3)比较调制信号和未调制信号的频谱。
实
验
结
果
及
分
析 1、 A=0.5
2、 A=1
实
验
结
果
及
分
析 A=1.5
实验名称 实验三 Matlab 在信号与系统中的应用
实 验 目 的 1、掌握信号与系统课程中基本知识的 Matlab 编程、仿真方法
实
验
原
理 实验1程序 :
b=[1];
a=[1 1];
p=0.5;
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 仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
实
验
结
果
及
分
析 实验 1 仿真结果:
simulink 仿真环境下 冲激响应
阶跃响应
实验名称实验名称
实验四 Matlab 在数字信号处理中的应用 实 验 目 的 1、掌握数字信号处理课程中基本知识的 Matlab 编程、仿真方法 实
验
原
理 验 实验 1 程序:
t1=0:1/6000:0.004;
x1=1+cos(2*pi*5000*t1);
subplot(4,1,1);
plot(t1,x1);
title(" 采样频率为6 千赫兹 ");
xlabel(" 时间");
t2=0:1/12000:0.004;
x2=1+cos(2*pi*5000*t2);
subplot(4,1,2);
plot(t2,x2);
title(" 采样频率为12 千赫兹");
xlabel(" 时间");
F1=fft(x1,1024);
n=0:1023;
f=6000*n/1024;
subplot(4,1,3);
plot(f,abs(F1));title("6000Hz 频谱");
F2=fft(x2,1024);
n=0:1023;f=12000*n/1024;
subplot(4,1,4);
plot(f,abs(F2));title("12000Hz 频谱");
实
验
内
容 < 设计性 实验> 1、对于连续信号 x(t)=1+cos(2πft),其中 f=5kHz,分别以采样频率 fs=6 kHz 和 fs=12kHz 对其进行采样,
(1)分别绘出对应的采样信号。
(2)对信号进行傅里叶变换,绘出对应的曲线。
(3)在 simulink 仿真环境下,设计系统框图,观察信号的频谱成分。
< 设计性实验> (选做)
2、对于连续信号 ) 2 cos( ) 2 cos( 5 ) 2 ( cos ) (3 2 1 at f t f t f t x ,其中 kHz 5 . 61 f ,kHz 72 f ,对信号进行傅里叶变换。设计合适的采样频率对信号进行采样。对信号进行快速傅里叶变换 FFT,分析信号的频谱成分。在 simulink 仿真环境下,设计系统框图,分析信号的频谱成分。
实
验
结
果
及
分
析 实验 1 仿真结果:
6khz
12kHZ
实
验
总
结 学习了 MATLAB 这门课程,我了解该软件的基本功能,也知道了该软件在我们生活中的重要地位。随着社会的不断发展,科技的不断进步,计算机的普及,它也被应用在越来越多的方面。
MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用 MATLAB 来解算问题要比用 C,FORTRAN 等语言完成相同的事情简捷得多,MATLAB 的最突出的特点就是简洁。
MATLAB 的功能是非常强大的,MATLAB 不仅有强大的运算功能,它还有强大的绘图功能,我对它的了解也仅仅就是一点点,或许说还没有入门。比如说它含有丰富的内建函数,例如数学函数中的三角函数、复函数、多项式函数、数据分析函数的求平均值、最大最小值、排序等,以及逻辑/选择函数如 if-else 等,还有用来模拟随机发生事件的随机函数。这些我都不了解。
虽学习 MATLAB 的时间虽然很短,但却让我了解到了它的强大和它的功能。我想就算时间足够,老师也不能把所有的都讲解给我们,因为一个软件的功能需要我们自己不断的去摸索。老师只是个指路的明灯,最终的学习还是要靠自己。而且在摸索过程中,我们能够发现和体会学习的快乐!
上一篇:Labview,实验报告
下一篇:【推荐】护士述职报告