实验二MATLAB入门资料.docx

上传人:b****7 文档编号:25042440 上传时间:2023-06-04 格式:DOCX 页数:23 大小:112.02KB
下载 相关 举报
实验二MATLAB入门资料.docx_第1页
第1页 / 共23页
实验二MATLAB入门资料.docx_第2页
第2页 / 共23页
实验二MATLAB入门资料.docx_第3页
第3页 / 共23页
实验二MATLAB入门资料.docx_第4页
第4页 / 共23页
实验二MATLAB入门资料.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

实验二MATLAB入门资料.docx

《实验二MATLAB入门资料.docx》由会员分享,可在线阅读,更多相关《实验二MATLAB入门资料.docx(23页珍藏版)》请在冰豆网上搜索。

实验二MATLAB入门资料.docx

实验二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);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1