- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab平台的使用
1.总论
Matlab是信号处理中功能强大且广泛使用的工具。本实验的主要目标是使你们熟悉使用Matlab。我们假定你们有过其他某种语言的编程经验,应该已经了解变量,循环和函数等基本概念。这里介绍一下Matlab的基本编程结构。
本实验的三个目标:
1.学习基本的Matlab命令和语法,包括“帮助”系统
2.学习编写你自己的Matlab的脚本文件,并像命令一样运行它们
3.学习一点Matlab的高级编程技术,例如向量化
2. 初识Matlab
1. 启动Matlab,运行Matlab的帮助。在命令窗口输入“doc”,或在菜单中选“help”。
2. 在命令窗口中,试试:
helpwin
helpwin plot
helpwin colon %--- a VERY IMPORTANT notation
helpwin ops
helpwin zeros
helpwin ones
lookfor filter %--- keyword search
3.运行Matlab的demo:在命令窗口输入“demo”
4.把Matlab当计算器用,试试:
pi*pi - 10
sin(pi/4)
ans ? 2 %--- ans holds the last result
5.在Matlab???给变量赋值,试试:
xx = sin( pi/5 );
cos( pi/5 ) %--- assigned to what?
yy = sqrt( 1 - xx*xx )
ans
注意观察语句末尾有分号和无分号有什么差别。
6.Matlab中的复数运算的基本操作,试试:
zz = 3 + 4i, ww = -3 + 4j
real(zz), imag(zz)
abs([zz,ww]) %-- Vector constructor
conj(zz+ww)
angle(zz)
exp( j*pi )
exp(j*[ pi/4, 0, -pi/4 ])
3. 再识Matlab
3.1Matlab数组索引
(a).冒号的含义
试试如下命令的结果:
jkl = 0 : 6
jkl = 2 : 4 : 17
jkl = 99 : -1 : 88
ttt = 2 : (1/9) : 4
tpi = pi * [ 0:0.1:2 ]; %注意这里有分号
(b).从向量提取数字和/或插入数字,思考如下xx的定义:
xx = [ zeros(1,3), linspace(0,1,5), ones(1,4) ]
xx(4:6)
size(xx)
length(xx)
xx(2:2:length(xx))
xx(2:2:end))
解释以上代码最后4行的结果
(c).观察如下赋值的结果:
yy = xx; yy(4:6) = pi*(1:3)
现在写一条语句,xx用(b)中定义的方法,把xx的偶数索引的元素(即xx(2),xx(4)等)的值替换为常数??。使用向量替换,不要用循环。
3.2Matlab脚本文件
(a)看看关于向量的实验。把向量看作一个数字集合,试试:
xk = cos( pi*(0:11)/4 ) %---comment: compute cosines
解释一下余弦函数的值是怎样存储在向量xk中的。xk(1)是什么意思?有定义xk(0)吗?
注:语句后没有分号,所以语句会把xk的计算结果依次显示在命令窗口,在百分号%后面的文字是注释,可以忽略。
(b)Matlab中可以写循环,但是这不是最有效率的解决办法。尽量避免循环,并使用冒号会提高效率。下面的代码是用一个循环来计算余弦函数的值的:
yy = [ ]; %--- initialize the yy vector to be empty
for k=-5:5
yy(k+6) = cos( k*pi/3 )
end
yy
解释为什么需要写yy(k+6)。如果用yy(k)会发生什么?
不使用循环,而用3.1的方法,利用冒号,重新实现这个功能。
(c)Matlab中实数和复数的绘制都很容易。基本绘图命令绘制向量yy和向量xx的关系,试试:
xx = [-3 -1 0 1 3];
yy = xx.*xx - 3*xx;
plot( xx, yy )
zz = xx + yy*sqrt(-1)
plot( zz ) %---- complex values: plot imag vs. real
在命令窗口输入“helpwin arith”,了解当xx是一个向量时,操作xx.*xx是如何工作的。当xx是一个矩阵时,操作xx.*xx又是如何工作的。
当你没把握某个命令时,可随时使用帮助系统。
(d)使用Ma
文档评论(0)