MATLAB讲义.docx

上传人:b****0 文档编号:17173803 上传时间:2023-07-22 格式:DOCX 页数:30 大小:503.39KB
下载 相关 举报
MATLAB讲义.docx_第1页
第1页 / 共30页
MATLAB讲义.docx_第2页
第2页 / 共30页
MATLAB讲义.docx_第3页
第3页 / 共30页
MATLAB讲义.docx_第4页
第4页 / 共30页
MATLAB讲义.docx_第5页
第5页 / 共30页
MATLAB讲义.docx_第6页
第6页 / 共30页
MATLAB讲义.docx_第7页
第7页 / 共30页
MATLAB讲义.docx_第8页
第8页 / 共30页
MATLAB讲义.docx_第9页
第9页 / 共30页
MATLAB讲义.docx_第10页
第10页 / 共30页
MATLAB讲义.docx_第11页
第11页 / 共30页
MATLAB讲义.docx_第12页
第12页 / 共30页
MATLAB讲义.docx_第13页
第13页 / 共30页
MATLAB讲义.docx_第14页
第14页 / 共30页
MATLAB讲义.docx_第15页
第15页 / 共30页
MATLAB讲义.docx_第16页
第16页 / 共30页
MATLAB讲义.docx_第17页
第17页 / 共30页
MATLAB讲义.docx_第18页
第18页 / 共30页
MATLAB讲义.docx_第19页
第19页 / 共30页
MATLAB讲义.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB讲义.docx

《MATLAB讲义.docx》由会员分享,可在线阅读,更多相关《MATLAB讲义.docx(30页珍藏版)》请在冰点文库上搜索。

MATLAB讲义.docx

MATLAB讲义

第一章基础准备及入门

什么是MATLAB?

MATLAB是MathWorks公司于1984年推出的数学软件,是一种用于科学工程计算的高效率的高级语言。

MATLAB最初作为矩阵实验室(MatrixLaboratory),主要向用户提供一套非常完善的矩阵运算命令。

随着数值运算的演变,它逐渐发展成为各种系统仿真、数字信号处理、科学可是化的通用标准语言。

在科学研究和工程应用的过程中,往往需要大量的数学计算,传统的纸笔和计算机已经不能从根本上满足海量计算的要求,一些技术人员尝试使用Basic,Fortran,C\C++等语言编写程序来减轻工作量。

但编程不仅需要掌握所用语言的语法,还需要对相关算法进行深入分析,这对大多数科学工作者而言有一定的难度。

与这些语言相比,MATLAB的语法更简单,更贴近人的思维方式。

用MATLAB编写程序,犹如在一张演算纸上排列公式和求解问题一样高效率,因此被称为“科学便笺式”的科学工程计算语言。

MATLAB由主包和功能各异的工具箱组成,其基本数据结构是矩阵。

正如其名“矩阵实验室”,MATLAB起初主要是用来进行矩阵运算。

经过MathWorks公司的不断完善,时至今日,MATLAB已经发展成为适合多学科、多工作平台的功能强大的大型软件。

本章有两个目的:

一是讲述MATLAB正常运行所必须具备的基础条件;二是简明系统地介绍高度集成的Desktop操作桌面的功能和使用方法。

本章的前两节分别讲述:

MATLAB的正确安装方法和MATLAB环境的启动。

因为指令窗是MATLAB最重要的操作界面,所以本章用第1.3、1.4两节以最简单通俗的叙述、算例讲述指令窗的基本操作方法和规则。

这部分内容几乎对MATLAB各种版本都适用。

MATLAB6.x不同于其前版本的最突出之处是:

向用户提供前所未有的、成系列的交互式工作界面。

了解、熟悉和掌握这些交互界面的基本功能和操作方法,将使新老用户能事半功倍地利用MATLAB去完成各种学习和研究。

为此,本章特设几节用于专门介绍最常用的交互界面:

历史指令窗、当前目录浏览器、工作空间浏览器、内存数组编辑器、交互界面分类目录窗、M文件编辑/调试器、及帮助导航/浏览器。

本章是根据MATLAB6.5版编写的,但大部分内容也适用于其他6.x版。

.1MATLAB的安装和内容选择

图1.1-1

.2Desktop操作桌面的启动

.2.1MATLAB的启动

.2.2Desktop操作桌面简介

10一操作桌面的缺省外貌

下图是6.5版的Desktop操作界面的默认外形。

该桌面的上层摆放着最常用的界面:

命令窗口(指令窗)、历史指令窗、工作空间浏览器,在窗口的左下角新增加了“开始按钮”。

在缺省情况下,还有一个只能看到“窗名”的常用交互界面:

当前目录窗。

它们被铺放在桌面的下层。

图1.2-1

10二通用操作界面

下面所列的9个交互界面最为常用。

1指令窗(CommandWindow)

2历史指令窗(CommandHistory)

3当前目录浏览器(CurrentDirectoryBrowser)

4工作空间浏览器(WorkspaceBrower)

5内存数组编辑器(ArrayEditor)

6开始按钮(Start)

7交互界面分类目录窗(LauchPad)

8M文件编辑/调试器(Editor/Debugger)

9帮组导航/浏览器(HelpNavigator/Browser)

.3CommandWindow运行入门

.3.1CommandWindow指令窗简介

图1.3-1

.3.2最简单的计算器使用法

【例1.3.2-1】求

的算术运算结果。

(1)用键盘在MATLAB指令窗中输入以下内容

>>(12+2*(7-4))/3^2

(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。

(3)在指令执行后,MATLAB指令窗中将显示以下结果。

ans=

2

【例1.3.2-2】简单矩阵

的输入步骤。

(1)在键盘上输入下列内容

A=[1,2,3;4,5,6;7,8,9]

(2)按【Enter】键,指令被执行。

(3)在指令执行后,MATLAB指令窗中将显示以下结果:

A=

123

456

789

【例1.3.2-3】矩阵的分行输入。

A=[1,2,3

4,5,6

7,8,9]

A=

123

456

789

【例1.3.2-4】指令的续行输入

S=1-1/2+1/3-1/4+...

1/5-1/6+1/7-1/8%...为续行号,它把其下的物理行看作该行的“”逻辑继续,以构成一个“较长”的完整指令。

S=

0.6345

.3.3数值、变量和表达式

10一数值的记数

MATLAB的数值采用的是常用的十进制数表示法,可以带小数点或者负号。

以下记数都是合法的。

10二变量命名规则

1变量名、函数名是对字母大小写敏感的。

变量名的第一个字母必须是英文字母。

2对于6.5版,变量名最多可包含63个字符(英文、数字和下连符);而对6.5以前的版本,变量名的字符不超过31个。

3变量名中不得包含空格(Backspace)、标点,但可以包含下划线。

变量名my_var_201是合法的。

而my,var201由于逗号的分隔,表示的就不是一个变量名。

10三MATLAB默认的预定义变量

10四运算符和表达式

MATLAB中书写表达式的规则和“手写算式”几乎完全相同。

表达式由变量名、运算符和函数名组成,按照与常规相同的优先级从左至右执行计算。

优先级的规定是:

指数运算级别最高,乘除运算次之,加减运算最低,但括号可以改变运算次序。

书写表达式时,允许“=”运算符两侧有空格,用于增加可读性。

注:

MATLAB用左斜杠或者右斜杠分别表示“左除”或者“右除”运算。

对于标量而言,这两者的作用没有什么区别,但对矩阵而言,两种运算将产生不同的结果。

10五复数和复数矩阵

MATLAB最强大的功能之一就是它对复数不需要作特殊处理。

MATLAB认识复数,并用预定义变量i和j作为虚数单位。

在MATLAB中,复数可用几种方式表示。

①>>a1=2+4i↙%附加的i表示虚部

a1=

2.0000+4.0000i

>>a1=2-3j↙%附加的也可以表示虚部

a1=

2.0000+4.0000i

②还可以用MATLAB默认值i=j=sqrt(-1)来表示虚部。

>>a3=2*(4-sqrt(-1)*2)↙

a3=

8.0000-4.0000i

③注意下面例子的表达式

>>a4=5+sin(.5)*i↙

a4=

5.0000+0.4794i

若将sin(.5)*i中的*去掉,会得到下列信息:

>>a4=5+sin(.5)i↙

?

?

?

a4=5+sin(.5)i

Error:

MissingMATLABoperator.

原因是sin(.5)i对MATLAB而言没有意义,因此需要在i和j之前加乘法符号。

综上所述,直接以字符i和j结尾,只适用于简单数值,不适用于表达式。

【例1.3.3-1】复数

表达,及计算

(1)

z1=3+4i

z1=

3.0000+4.0000i

(2)

z2=1+2*i

z3=2*exp(i*pi/6)

z=z1*z2/z3

z2=

1.0000+2.0000i

z3=

1.7321+1.0000i

z=

0.3349+5.5801i

【例1.3.3-2】复数矩阵的生成及运算

A=[1,3;2,4]-[5,8;6,9]*i

B=[1+5i,2+6i;3+8*i,4+9*i]

C=A*B

A=

1.0000-5.0000i3.0000-8.0000i

2.0000-6.0000i4.0000-9.0000i

B=

1.0000+5.0000i2.0000+6.0000i

3.0000+8.0000i4.0000+9.0000i

C=

1.0e+002*

0.99001.1600-0.0900i

1.1600+0.0900i1.3700

【例1.3.3-3】求上例复数矩阵C的实部、虚部、模和相角。

C_real=real(C)

C_imag=imag(C)

C_magnitude=abs(C)

C_phase=angle(C)*180/pi%以度为单位计算相角

C_real=

99116

116137

C_imag=

0-9

90

C_magnitude=

99.0000116.3486

116.3486137.0000

C_phase=

0-4.4365

4.43650

注:

MATLAB中有许多内建函数本例中real、imag、abs、angle都是内建函数。

【例1.3.3-4】用MATLAB计算

能得到–2吗?

(1)直接计算时,得到的处于第一象限的方根。

a=-8;

r=a^(1/3)

r=

1.0000+1.7321i

(2)计算

的全部方根。

m=[0,1,2];%为3个方根而设

R=abs(a)^(1/3);%模的开三次方

Theta=(angle(a)+2*pi*m)/3;%-pi

rrr=R*exp(i*Theta)

rrr=

1.0000+1.7321i-2.0000+0.0000i1.0000-1.7321i

(3)

t=0:

pi/20:

2*pi;x=R*sin(t);y=R*cos(t);

plot(x,y,'b:

'),grid%画一个半径为R的圆

holdon

plot(rrr

(1),'.','MarkerSize',50,'Color','r')%画第一象限的方根

plot(rrr([2,3]),'o','MarkerSize',15,'Color','b')%画另两个根

axis([-3,3,-3,3]),axissquare%保证屏幕显示呈真圆

holdoff

图1.3-2

.3.4计算结果的图形表示

【例1.3.4-1】画出衰减振荡曲线

及其它的包络线

的取值范围是

(图1.3-3)

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.3-3

【例1.3.4-2】画出

所表示的三维曲面(图1.3-4)。

的取值范围是

clear;x=-8:

0.5:

8;%定义自变量x的一维刻度向量

y=x';%定义自变量x的一维刻度向量

X=ones(size(y))*x;%计算自变量平面上取值点x坐标的二维数组

Y=y*ones(size(x));%计算自变量平面上取值点y坐标的二维数组

R=sqrt(X.^2+Y.^2)+eps;%计算中间变量

<5>

Z=sin(R)./R;%计算与自变量二维数组相应的函数值

<6>

surf(X,Y,Z);%绘制三维网格图

colormap(cool)%指定网格图用hot色图绘制

xlabel('x'),ylabel('y'),zlabel('z')

说明:

①本例中第5条指令中引入eps的目的是:

一是避免第6条指令进行除法运算时产生

现象;二是在R=0处获得

的计算结果。

②第5条指令中的“.^”称为“数组幂”,第6条指令的“./”称为“数组除”

这两种运算都是对参与运算的数组的元素逐个进行的。

图1.3-4

.4CommandWindow操作要旨

.4.1指令窗显示方式的操作

10一缺省显示方式

在缺省的情况下,像if、for等关键词采用蓝色字体;输入的指令、表达式以及计算结果等采用黑色字体;字符串采用赭(zhe)红色字体。

在指令窗中,数值计算结果都以简洁的“短(Short)”格式显示。

注意:

用户不要把数值的显示精度错误的理解为数值在MATLAB中的表示精度。

MATLAB仅仅是为了显示简洁才采用较少的数位显示,实际存储和运作时都以双精度进行。

10二显示方式的设置

用户根据需要,可以对指令窗的字体风格、大小、颜色和数值计算结果显示格式进行设置。

设置方法是:

选中桌面或指令窗的[File:

preferences]下拉菜单项,引出一个参数设置对话框;在此弹出的对话框的左栏中选中“CommandWindow”项或其展开项“Font&Colors”,对话框的右边就出现相应的选择内容;用户根据需要和对话框提示对数据显示格式,或字体等进行选择;最后,点击[ok]健完成设置。

注意:

该设置将立即生效,并且将被永久保留,即这种设置不因MATLAB关闭和开启而改变,除非用户进行重新设置。

.4.2数值计算结果的显示格式

指令

含义

举例说明

format

formatshort

通常保证小数点后4位有效数字,最多不超过7位;

对于大于1000的实数用5位有效数字的

科学记数形式显示

314.159被显示为314.1590;

用5位有效数字的科学记数形式显示

3141.59被显示为3.1416e+003

formatlong

15位数字表示

3.14159265358979

formatshorte

5位科学记数表示

3.1416e+00

formatlonge

15位科学记数表示

3.14159265358979e+00 

formatshortg

从formatshort和formatshorte中

自动选择最佳记述方式

(缺省设置)

3.1416

formatlongg

从formatlong和formatlonge中

自动选择最佳记述方式

(缺省设置)

3.14159265358979

formatrat

近似有理数表示

355/113

formathex

十六进制表示

400921fb54442d18

format+

显示大矩阵用;正数、负数、零分别用+,—,

空格表示

+

formatbank

(金融)元、角、分表示

3.14

formatcompact

显示变量之间没有空行

formatloose

显示变量之间有空行

 

见上表。

.4.3指令行中的标点符号

MATLAB中用“%”实现注释功能,可以利用这一特性对所做工作进行文档注释。

可以把多条命令放在同一行,只需在中间用逗号或者分号隔开。

>>total=500,apple=300;orange=200↙

total=

500

orange=

200

逗号告诉MATLAB显示结果;分号说明除这一条命令以外还有下一条命令等候输入,MATLAB这时不会显示中间结果。

如果想在下一行继续注释,必须在行头再加“%”,否则会报错。

注:

为确保指令正确执行,以上符号一定要在英文状态下输入。

因为MATLAB不能识别中文标点。

.4.4指令窗的常用控制指令

.4.5指令窗中指令行的编辑

操作方便,MATLAB不但允许用户在命令窗口中对输入命令进行各种编辑和运行操作,而且允许用户对过去已经输入的命令进行回调、编辑和重新运行。

MATLAB可以使用方向键来调用前面的命令。

例如:

①按一下[↑]键会在提示符处调用上一次的命令,重复按[↑]键则遍历前面所有的命令;②以相同的方式按[↓]键则向后遍历所有的命令。

在任何时刻都可以用[←]键和[→]键在命令行移动光标,这样可以编辑命令。

按[PageUp]键可以前寻式翻阅当前窗口中的内容;按[PageDown]键可以后寻式翻阅当前窗口中的内容;按[Home]键能将光标移到当前行的最前面;按[End]键能将光标移到当前行的末尾;按[Delete]键会删除光标右边的字符;按[Backspace]键会删去光标左边的字符;按[Esc]键会清除当前行的全部内容。

注:

MATLAB命令窗口中输入的所有命令都被记录在内存中专门开辟的“命令历史窗口”中,只要用户对它们不进行专门的删除操作,它们将不会因为用户对命令窗口的清屏操作(即运行clc指令)而消失,也不会因为用户对“workspace”进行“清除内存变量”(即运行clear指令)而消失。

【例1.4.5-1】指令行操作过程示例。

计算的值。

>>y1=2*sin(0.5*pi)/(1+sqrt(3))↙

y1=

0.7321

利用命令回调,进行新的计算。

方法:

先用[↑]键调回已输入过的命令

y1=2*sin(0.5*pi)/(1+sqrt(3));然后移动光标,把y1换成y2;把sin换成cos;再按[Enter]键,就可以得到一下结果。

>>y2=2*cos(0.5*pi)/(1+sqrt(3))↙

y2=

4.4825e-017

.5CommandHistory和实录指令diary

.5.1CommandHistory历史指令窗简介

通常历史指令窗口位于MATLAB操作作=桌面的左下侧前台,此窗口属性为可浮动窗口,只要单击该指令窗口右上角的↗按钮,就可以获得浮动窗口。

单击浮动窗口右上角的↘按钮,使独立的浮动窗口复原。

图1.5-1

.5.2历史指令行的再运行

用户通过历史指令窗口执行历史指令的方法有以下两种:

①用鼠标双击一条指令,即可发送到指令窗口立即执行;

②选中指令,单击鼠标右键选择[Copy]菜单,在指令窗口单击[Paste]按钮即可。

对于选择执行多条历史指令,可先利用组合操作[Ctrl+鼠标左键]选择浮动菜单中多条指令,当鼠标光标停在高亮度区时,单击鼠标右键,弹出浮动菜单,选中浮动菜单,选中浮动菜单中“EvaluateSelection”选项,计算结果就会出现在指令窗口中。

【例1.5.2-1】再运行图1.5-2所示历史指令窗中的三行指令。

具体操作过程:

先利用组合操作[Ctrl+鼠标左键]分别点亮如图所示历史指令窗中的那3行指命令;当鼠标光标在点亮区时,点击鼠标右键,引出现场菜单;选中现场菜单项[EvaluateSelection],计算结果就出现在指令窗中。

图1.5-2

.5.3指令窗实录指令diary

diary指令能产生“日志”文件,即把当前指令窗口中所有内容(包括指令、计算结果等)如实地记录为ASCII文件加以保存。

.6CurrentDirectory、路径设置器和文件管理

.6.1CurrentDirectory当前目录浏览器简介

在缺省情况下,当前当前目录浏览器位于MATLAB桌面的左下方后台。

点击窗标“CurrentDirectory”可使目录浏览器在前台展现。

再点击该窗口的键“↗”,可以引出如图1.6.1所示脱离操作桌面的几何独立的当前目录浏览器。

图1.6-1

10一用户目录和当前目录设置

应尽量为自己建立一个专门的工作目录,即“用户目录”用来存放自己创建的文件。

尽管,matlab\work允许用户存放文件,但用户最好把它仅作为临时工作目录使用。

在MATLAB开始工作时,就应该把用户自己的“用户目录”设置为当前目录。

用户目录设置成当前目录的方式有两种。

1.交互式界面设置法

在MATLAB操作界面的右上方,或者当前目录浏览器的左上方,都有一个当前目录设置区。

它包括:

目录设置栏和浏览建。

用户或者在目录设置栏中直接填写待设置的目录名,或者借租浏览键和鼠标选择待设置目录。

2.命令设置法

通过指令设置当前目录是各种MATLAB版本都适用的基本方法。

它不仅能在命令窗口执行,而且可以在M文件中使用。

假设待设置的用户目录是D:

\mat_dir,那么把它设置成当前目录的命令是cdD:

\mat_dir.

10二借助当前目录浏览器获取M和MAT文件信息

【例1.6.1-1】从图1.2-1所示MATLAB缺省桌面开始,叙述引出图1.6-1所示面貌的当前目录浏览器的操作过程。

Matlab6p5\toolbox\matlab\elmat

.6.2MATLAB的搜索路径

.6.3MATLAB搜索路径的扩展和修改

10一何时需要修改搜索路径

10二利用设置路径对话框修改搜索路径

图1.6-2

10三利用指令path设置路径

.7WorkspaceBrowser和ArrayEditor

.7.1WorkspaceBrowser工作空间浏览器简介

图1.7-1

.7.2现场菜单用于内存变量的查阅和删除

10一内存变量查阅、删除的指令操作法

【例1.7.2-1】在指令窗中运用who,whos查阅MATLAB内存变量。

who

Yourvariablesare:

ABnumberDRXYZZy

BCDDXYx

whos

NameSizeBytesClass

A2x2230cellarray

B1x1264structarray

Bnumber1x18doublearray

C2x2408symobject

D1x24chararray

DD2x28chararray

R33x338712doublearray

X33x338712doublearray

XYZ33x33x326136doublearray

Y33x338712doublearray

Z33x338712doublearray

x1x33264doublearray

y33x1264doublearray

Grandtotalis7722elementsusing62434bytes

注:

①who,whos指令操作对MATLAB的所有版本都使用。

②本例两条指令的差别仅在于获取内存变量信息的简单和详细程度不同。

③读者运行who,whos指令后的变量列表随具体情况不同。

本例的变量列表是在本书作者进行特定操作后产生的。

【例1.7.2-2】在指令窗中运用clear指令可以删除内存中的变量。

clearBnumber

who

Yourvariablesare:

ABCDDDRXXYZYZxy

10二内存变量查阅和删除的现场菜单操作法

图1.7-2

【例1.7.2-3】通过“工作空间浏览器”的运作,采用图形显示内存变量Z。

图1.7-3

【例1.7.2-4】通过“工作空间浏览器”删除内存变量。

.7.3ArrayEditor数组编辑器和大数组的输入

在指令窗中输入较大规模数组的操作方

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2