实验二MATLAB入门资料.docx
- 文档编号:12083827
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:23
- 大小:112.02KB
实验二MATLAB入门资料.docx
《实验二MATLAB入门资料.docx》由会员分享,可在线阅读,更多相关《实验二MATLAB入门资料.docx(23页珍藏版)》请在冰点文库上搜索。
实验二MATLAB入门资料
实验二MATLAB入门
一、MATLAB介绍:
MATLAB名字是由MATrix和LABoratory两个词的前三个字母组合而成的。
它是MathWorks公司于1982年推出的一套高性能的数值计算和可视化数学软件。
被誉为“巨人肩上的工具”。
现已发展为一种多学科、多工作平台的大型软件。
逐渐成为数字信号处理、动态系统仿真、自动控制等课程的基本教学工具,成为本科以上学历学生必须掌握的基本技能。
由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以不象学习其它高级语言--如Basic、Fortran和C等那样难于掌握,用Matlab编写程序犹如在演算纸上排列出公式与求解问题,所以又被称为演算纸式科学算法语言。
一般数值分析、矩阵运算、数字信号处理、建模和系统控制和优化等应用程序,并集应用程序和图形于一便于使用的集成环境中。
在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以数值或图形方式显示出来。
MATLAB的含义是矩阵实验室(MATRIXLABORATORY),主要用于方便矩阵的存取,其基本元素是无需定义维数的矩阵。
MATLAB自问世以来,就是以数值计算称雄。
MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使的MATLAB高度“向量化”。
经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。
由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。
美国许多大学的实验室都安装有MATLAB供学习和研究之用。
在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。
MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。
工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图像处理、控制系统辨识、神经网络等。
随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,成为涉及数值分析的各类工程师不可不用的工具。
MATLAB5.3中包括了图形界面编辑GUI,改变了以前单一的“在指令窗通过文本形的指令进行各种操作”的状况。
这可让使用者也可以像VB、VC、DELPHI等那样进行一般的可视化的程序编辑。
在命令窗口(matlabcommandwindow)键入simulink,就出现(SIMULINK)窗口。
以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视原因所在。
二、实验目的:
同学们熟练掌握MATLAB的基本使用方法,并能熟练使用相关专业的工具箱,将能为后继课程的学习提供很好的计算工具和仿真平台。
在经过全面的训练后,应达到下列要求:
1.基本掌握MATLAB基本语法和基本函数的用法,利用MATLAB这门工具语言联系以前所学知识,突破数学计算方面的障碍,更好地理解基本概念、基本原理。
2.能根据需要选学参考书,查阅手册,通过独立思考,深入钻研有关问题,学会自己独立分析问题、解决问题,具有一定的创新能力。
三、实验仪器:
PC机(安装Windows98、Windows2000或WindowsXP或以上),MATLAB软件
四、实验要求:
1、学生在实验操作过程中自己动手独立完成,2人为1组。
2、上机过程中由指导老师检查结果后方可做其他内容。
3、完成实验报告:
按照实验的每个题目的具体要求完成
4、实验报告的格式:
实验名称
(一)实验目的
(二)主要仪器设备
(三)内容及程序
(四)结果与分析
(五)问题讨论
五、实验内容:
掌握MATLAB基本命令与实际操作,内容包括:
基本的数学运算、关系运算、程序设计以及绘图功能。
设计题目:
1.基本题:
MATLAB的基本运算和绘图
2.综合题:
绘制2维高斯函数的3-D图形
设计要求:
1.基本题:
1)在同一幅图上创建
和
两条曲线图。
2)曲线f用红色;曲线g用蓝色。
3)在区间[0,1]用等间距的30个数据点。
4)曲线f上的取值点用红色的“*”表示;曲线g上的取值点用蓝色的“o”表示。
5)用楷体GB2312字标注:
水平轴标注为“时间”,垂直轴标注为“幅度”,字号均为18磅。
图题标注为“MATLAB入门/姓名,日期”,字号为24磅。
6)用图例标注语句legend给曲线加说明。
2.综合题:
1)绘制二维高斯函数
的3维线性图、网眼图和表面图,并对它们分别加图题和标注坐标轴。
2)绘制
的三维线形图、网眼图、表面图和混合图,并加图题。
X的范围[-2,2],y的范围[-2,2],以0.05为间隔。
预期目标:
A.通过基本题,学习Matlab的基本使用方法,包括基本的数学运算,图形绘制等。
B.通过综合题,学会绘制三维图形的基本方法,巩固数学预算的表示方法。
此外,因为高斯函数在图像滤波中是一个基本函数,通过综合题还可进一步熟悉高斯函数的特性。
3.报告要求:
提交源程序和绘制的图形
MATLAB工作环境
运行MATLAB的可执行文件,自动创建MATLAB5.3指令窗(CommandWindow)。
这种指令窗如图所示:
◆而在它的功能选单一共有File,Edit,Options,Windows,Help五个主要功能,每一个之下各又有下一层的功能。
◆说明:
程序在Win98和Win2000下运行,出现的提示号有可能不同。
◆如果你是个初学者,可以在指令窗键入demo,这可是学习的好帮手。
>>demo
◆一旦发现指令不知如何使用时,help命令将告诉你使用。
例:
>>helpsin
SINSine.
SIN(X)isthesineoftheelementsofX.
Overloadedmethods
helpsym/sin.m
◆在MATLAB下进行基本数学运算,只需将运算式直接打入提示号“>>”之后,并按入Enter键即可。
例如:
(10*19+2/4-34)/2*3
ans
=234.7500
MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算后的答案,并显示其数值屏幕上。
如果在上述的例子结尾加上”;”,则计算结果不会显示在指令视窗上,要得知计算值只须键入该变数值即可
◆MATLAB利用了↑↓二个游标键可以将所下过的指令叫回来重复使用。
按下↑则前一次指令重新出现,之后再按Enter键,即再执行前一次的指令。
而↓键的功用则是往后执行指令。
其它在键盘上的几个键,如:
→←,Delete,Insert,其功能则显而易见,试用即知无须多加说明。
【例】指令行操作过程示例。
(1)若用户想计算
的值,那末用户应依次键入以下字符
y1=2*sin(0.3*pi)/(1+sqrt(5))
(2)按【Enter】键,该指令便被执行,并给出以下结果
y1=
0.5000
在以上操作和计算结束后,操作指令和计算结果都记录在MATLAB工作内存中。
因此,假如用户希望调回前面输入的指令重新运行,或希望对前面输入的指令加以修改后再运行,那末只要反复按动键盘上的箭头键,就可从内存中把以前输入的那指令调回到当前行,以供重新运行或修改后运行。
新的计算结果,只可能被此后运行的指令所使用,而绝不会影响以前生成的(非同名)变量的“内容”。
(3)利用指令回调,进行新的计算。
若又想计算
,用户当然可以像前一个算例那样,通过键盘把相应字符一个一个“敲入”。
但也可以较方便地用操作键获得该指令,具体办法是:
先用键调回已输入过的指令y1=2*sin(0.3*pi)/(1+sqrt(5));然后移动光标,把y1改成y2;把sin改成cos便可。
即得
y2=2*cos(0.3*pi)/(1+sqrt(5))
y2=
0.3633
◆Ctrl+C可以用来中止执行中的MATLAB的工作。
◆有三种方法可以结束MATLAB
1.在命令窗口键入exit或quit
2.Ctrl+Q
2.直接关闭MATLAB的命令视窗(Commandwindow)
◆系统的在线帮助
1help命令:
1.当不知系统有何帮助内容时,可直接输入help以寻求帮助:
>>help(回车)
2.当想了解某一主题的内容时,如输入:
>>helpsyntax(了解Matlab的语法规定)
3.当想了解某一具体的函数或命令的帮助信息时,如输入:
>>helpsqrt(了解函数sqrt的相关信息)
2lookfor命令
现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:
>>lookforline(查找与直线、线性问题有关的函数)
MATLAB基本操作
变量及其命名规则
●变量
1.变量名的大小写是敏感。
2.变量的第一个字符必须为英文字母,而且不能超过31个字符。
3.变量名可以包含下连字符、数字,但不能为空格符、标点。
预定义的变量
ans
预设的计算结果的变量名
eps
MATLAB定义的正的极小值=2.2204e-16
pi
内建的π值
inf
∞值,无限大(
)
NaN
无法定义一个数目(
)
i或j
虚数单位i=j=√-1
nargin
函数输入参数个数
nargout
函数输出参数个数
realmax
最大的正实数
realmin
最小的正实数
flops
浮点运算次数
而键入clear则是去除所有定义过的变量名称。
MATLAB赋值语句
●表达式
MATLAB书写表达式的规则与“手写算式”差不多相同。
如果一个指令过长可以在结尾加上...(代表此行指令与下一行连续),例如
?
3*...
6
ans=
18
MATLAB常用数学函数
●三角函数和双曲函数
名称
含义
名称
含义
名称
含义
sin
正弦
csc
余割
atanh
反双曲正切
cos
余弦
asec
反正割
acoth
反双曲余切
tan
正切
acsc
反余割
sech
双曲正割
cot
余切
sinh
双曲正弦
csch
双曲余割
asin
反正弦
cosh
双曲余弦
asech
反双曲正割
acos
反余弦
tanh
双曲正切
acsch
反双曲余割
atan
反正切
coth
双曲余切
atan2
四象限反正切
acot
反余切
asinh
反双曲正弦
sec
正割
acosh
反双曲余弦
●指数函数
名称
含义
名称
含义
名称
含义
exp
E为底的指数
log10
10为底的对数
pow2
2的幂
log
自然对数
log2
2为底的对数
sqrt
平方根
●复数函数
名称
含义
名称
含义
名称
含义
abs
绝对值
conj
复数共轭
real
复数实部
angle
相角
imag
复数虚部
●圆整函数和求余函数
名称
含义
名称
含义
ceil
向+∞圆整
rem
求余数
fix
向0圆整
round
向靠近整数圆整
floor
向-∞圆整
sign
符号函数
mod
模除求余
●矩阵变换函数
名称
含义
名称
含义
fiplr
矩阵左右翻转
diag
产生或提取对角阵
fipud
矩阵上下翻转
tril
产生下三角
fipdim
矩阵特定维翻转
triu
产生上三角
Rot90
矩阵反时针90翻转
●其他函数
名称
含义
名称
含义
min
最小值
max
最大值
mean
平均值
median
中位数
std
标准差
diff
相邻元素的差
sort
排序
length
个数
norm
欧氏(Euclidean)长度
sum
总和
prod
总乘积
dot
内积
cumsum
累计元素总和
cumprod
累计元素总乘积
cross
外积
MATLAB系统命令
命令
含义
help
在线帮助
helpwin
在线帮助窗口
helpdesk
在线帮助工作台
demo
运行演示程序
ver
版本信息
readme
显示Readme文件
who
显示当前变量
whos
显示当前变量的详细信息
clear
清空工作间的变量和函数
pack
整理工作间的内存
load
把文件调入变量到工作间
save
把变量存入文件中
quit/exit
退出MATLAB
what
显示指定的matlab文件
lookfor
在HELP里搜索关键字
which
定位函数或文件
path
获取或设置搜索路径
echo
命令回显
cd
改变当前的工作目录
pwd
显示当前的工作目录
dir
显示目录内容
unix
执行unix命令
dos
执行dos命令
!
执行操作系统命令
computer
显示计算机类型
MATLAB语言中的关系与逻辑运算
在执行关系及逻辑运算时,MATLAB将输入的不为零的数值都视为真(True)而为零的数值则视为否(False)。
运算的输出值将判断为真者以1表示而判断为否者以0表示。
各个运算元须用在二个大小相同的阵列或是矩阵中的比较
●关系运算
指令
含义
<
小于
<=
小于等于
>
大于
>=
大于等于
==
等于
~=
不等于
?
a=1:
2:
11;
?
b=2:
1:
7;
?
a>b
ans=
001111
?
a==b
ans=
010000
?
a>=b
ans=
011111
?
a-(b>4)
ans=
1356810
●逻辑运算
指令
含义
&
逻辑and
|
逻辑or
~
逻辑not
(a<2)|(b>6)
ans=
100001
c=a+(a>3)|(b<6)
c=
111111
●逻辑关系函数
指令
含义
xor
不相同就取1,否则取0
any
只要有非0就取1,否则取0
all
全为1取1,否则为0
isnan
为数NaN取1,否则为0
isinf
为数inf取1,否则为0
isfinite
有限大小元素取1,否则为0
ischar
是字符串取1,否则为0
isequal
相等取1,否则取0
ismember
两个矩阵是属于关系取1,否则取0
isempty
矩阵为空取1,否则取0
isletter
是字母取1,否则取0(可以是字符串)
isstudent
学生版取1
isprime
质数取1,否则取0
isreal
实数取1,否则取0
isspace
空格位置取1,否则取0
isequal(a,b)
ans=
0
isreal(a)
ans=
1
isstudent
ans=
0
MATLAB基本绘图
小整理:
MATLAB基本绘图函数
plot:
x轴和y轴均为线性刻度(Linearscale)
loglog:
x轴和y轴均为对数刻度(Logarithmicscale)
semilogx:
x轴为对数刻度,y轴为线性刻度
semilogy:
x轴为线性刻度,y轴为对数刻度
若要画出多条曲线,只需将座标对依次放入plot函数即可:
plot(x,sin(x),x,cos(x));
若要改变颜色,在座标对后面加上相关字串即可:
plot(x,sin(x),'c',x,cos(x),'g');
若要同时改变颜色及图线型态(Linestyle),也是在座标对后面加上相关字串即可:
plot(x,sin(x),'co',x,cos(x),'g*');
小整理:
plot绘图函数的参数
字元颜色字元图线型态
y黄色.点s正方形
k黑色o圆d菱形
w白色xx标记v倒三角
b蓝色++标记^正三角
g绿色**<左三角
r红色-实线>右三角
c青色:
点线p五角星
m洋红-.点虚线h六角星
--虚线
图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:
axis([0,6,-1.2,1.2]);
此外,MATLAB也可对图形加上各种注解与处理:
xlabel('InputValue');%x轴注解
ylabel('FunctionValue');%y轴注解
title('TwoTrigonometricFunctions');%图形标题legend('y=sin(x)','y=cos(x)');%图形注解
gridon;%显示格线
我们可用subplot来同时画出数个小图形于同一个视窗之中:
subplot(2,2,1);plot(x,sin(x));
subplot(2,2,2);plot(x,cos(x));
subplot(2,2,3);plot(x,sinh(x));
subplot(2,2,4);plot(x,cosh(x));
MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。
小整理:
其他各种二维绘图函数
bar长条图
errorbar图形加上误差范围
fplot较精确的函数图形
polar极座标图
hist累计图
rose极座标累计图
stairs阶梯图
stem针状图
fill实心图
feather羽毛图
compass罗盘图
quiver向量场图
以下我们针对每个函数举例。
当资料点数量不多时,长条图是很适合的表示方式:
closeall;%关闭所有的图形视窗
x=1:
10;
y=rand(size(x));
bar(x,y);
如果已知资料的误差量,就可用errorbar来表示。
下例以单位标准差来做资料的误差量:
x=linspace(0,2*pi,30);
y=sin(x);
e=std(y)*ones(size(x));
errorbar(x,y,e)
对于变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进行较密集的取样,如下例:
fplot('sin(1/x)',[0.020.2]);%[0.020.2]是绘图范围
若要产生极座标图形,可用polar:
theta=linspace(0,2*pi);
r=cos(4*theta);
polar(theta,r);
对于大量的资料,我们可用hist来显示资料的分类情况和统计特性。
下面几个命令可用来验证randn产生的高斯乱数分类:
x=randn(5000,1);%产生5000个高斯乱数
hist(x,20);%20代表长条的个数rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离
用极座标绘制表示:
x=randn(1000,1);
rose(x);
stairs可画出阶梯图:
x=linspace(0,10,50);
y=sin(x).*exp(-x/3);
stairs(x,y);
stems可产生针状图,常被用来绘制数位讯号:
x=linspace(0,10,50);
y=sin(x).*exp(-x/3);
stem(x,y);
stairs将资料点视为多边行顶点,并将此多边行涂上颜色:
x=linspace(0,10,50);
y=sin(x).*exp(-x/3);
fill(x,y,'b');%'b'为蓝色
feather将每一个资料点视复数,并以箭号画出:
theta=linspace(0,2*pi,20);
z=cos(theta)+i*sin(theta);
feather(z);
compass和feather很接近,只是每个箭号的起点都在圆点:
theta=linspace(0,2*pi,20);
z=cos(theta)+i*sin(theta);
compass(z);
部分三维图形绘制函数:
函数功能
plot3(x,y,z)三维线形图(3Dlineplot)
mesh(x,y,z)网眼图(meshplot,3-Dmeshsurface)
surf(x,y,z)表面图(surfaceplot)
contour(x,y,z)轮廓图(contourplot)
surfc(x,y,z)表面与轮廓混合图(surface+contourplot)
一些例子:
最简单的计算器使用法
【例1】求
的算术运算结果。
(1)用键盘在MATLAB指令窗中输入以下内容
>>(12+2*(7-4))/3^2
(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果。
ans=
2
【例2】简单矩阵
的输入步骤。
(1)在键盘上输入下列内容
A=[1,2,3;4,5,6;7,8,9]
(2)按【Enter】键,指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果:
A=
123
456
789
【例3】矩阵的分行输入
A=[1,2,3
4,5,6
7,8,9]
(以下是显示结果)
A=
123
456
789
计算结果的图形表示
【例1】画出衰减振荡曲线
及其它的包络线
。
的取值范围是
。
t=0:
pi/50:
4*pi;%定义自变量取值数组
y0=exp(-t/3);%计算与自变量相应的y0数组
y=exp(-t/3).*sin(3*t);%计算与自变量相应的y数组
plot(t,y,'-r',t,y0,':
b',t,-y0,':
b')%用不同颜色、线型绘制曲线
grid%在“坐标纸”画小方格
图1衰减振荡曲线与包络
【例2】画出
所表示的三维曲面。
的取值范围是
。
clear;x=-8:
0.5:
8;%定义自变量x的一维刻度向量
y=x';%定义自变量y的一维刻度向量
X=ones(size(y))*x;%计算自变量平面上取值点
坐标的二维数组
Y=y*ones(size(x));%计算自变量平面上取值点
坐标的二维数组
R=sqrt(X.^2+Y.^2)+eps;%计算中间变量
Z=sin(R)./R;%计算与自变量二维数组相应的函数值
mesh(Z);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 MATLAB 入门 资料