第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx

上传人:b****3 文档编号:8138138 上传时间:2023-05-10 格式:DOCX 页数:50 大小:1.11MB
下载 相关 举报
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第1页
第1页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第2页
第2页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第3页
第3页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第4页
第4页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第5页
第5页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第6页
第6页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第7页
第7页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第8页
第8页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第9页
第9页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第10页
第10页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第11页
第11页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第12页
第12页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第13页
第13页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第14页
第14页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第15页
第15页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第16页
第16页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第17页
第17页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第18页
第18页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第19页
第19页 / 共50页
第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx

《第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx(50页珍藏版)》请在冰点文库上搜索。

第一章 基础准备及入门matlab基础教程Word文档下载推荐.docx

2.最常选的通用性工具包组件

SymbolicMathToolbox

符号类数据的操作和计算。

ExtendedSymbolicMathToolbox

更丰富的符号计算函数和指令

3.其他通用性工具包组件

Simulink

不用编写程序,利用方块图实现建模和仿真;

主要用于研究微分和差分方程描写的非线性动态系统。

OptimizationToolbox

包含求函数零点、极值、规划等优化程序。

MatlabCompiler

把MATLAB的M文件编译成独立应用程序。

MatlabbuilderforExcel

与MATLABCompiler配合使用,生成Excel插件。

4.常用专业性工具包组件

ControlSystemToolbox

MATLAB涉及控制的工具包有10多个,而本栏工具包是最基本的,是解决控制问题所必选的。

至于其他控制工具包则是用户根据需要选择的。

SignalProcessingToolbox

是MATLAB信号处理中的基本工具包。

SplineToolbox

内含样条和插值函数。

StatisticsToolbox

包含进行复杂统计分析所需的程序。

5.其他专业性工具包组件(举例)

Stateflow

与Simulink配合使用,主要用于较大型、复杂的(离散事件)动态系统的建模、分析、仿真。

SystemIdentificationToolbox

动态系统辨识。

......

.2Desktop操作桌面的启动

.2.1MATLAB的启动

(1)方法一

当MATLAB安装到硬盘上以后,一般会在Windows桌面上自动生成MATLAB程序图标。

在这种情况下,只要直接点击那图标即可启动MATLAB,打开如图1.2-1的MATLAB操作桌面(Desktop)。

本书作者建议用户优先采用启动“方法一”。

(2)方法二

假如Windows桌面上没有MATLAB图标,那么点击matlab\文件夹下的快捷方式图标

(3)方法三

点击matlab\bin\win32文件夹中的matlab.exe(它的图标是

),也会自动创建类似图1.2-1所示的Desktop操作桌面。

唯一的区别是:

采用这种方式创建的MATLAB工作环境以MATLAB所在的根目录为当前目录。

.2.2Desktop操作桌面简介

MATLABR2007a版的Desktop操作桌面,是一个高度集成的MATLAB工作界面。

其默认形式,如图1.2-1所示。

该桌面的上层铺放着三个最常用的界面:

指令窗(CommandWindow)、当前目录(CurrentDirectory)浏览器、历史指令(CommandHistory)窗。

在当前目录窗的后面还铺放一个MATLAB内存工作空间(Workspace)浏览器。

图1.2-1Desktop操作桌面的默认外貌

●指令窗

该窗是进行各种MATLAB操作的最主要窗口。

在该窗内,可键入各种送给MATLAB运作的指令、函数、表达式;

显示除图形外的所有运算结果;

运行错误时,给出相关的出错提示。

●历史指令窗

该窗记录已经运作过的指令、函数、表达式,及它们运行的日期、时间。

该窗中的所有指令、文字都允许复制、重运行及用于产生M文件。

●当前目录浏览器

在该浏览器中,展示着子目录、M文件、MAT文件和MDL文件等。

对该界面上的M文件,可直接进行复制、编辑和运行;

界面上的MAT数据文件,可直接送入MATLAB工作内存。

此外,对该界面上的子目录,可进行Windows平台的各种标准操作。

●工作空间浏览器

该浏览器默认地位于当前目录浏览器的后台。

该窗口罗列出MATLAB工作空间中所有的变量名、大小、字节数;

在该窗中,可对变量进行观察、图示、编辑、提取和保存。

●捷径(Start)键

引出通往本MATLAB所包含的各种组件、模块库、图形用户界面、帮助分类目录、演示算例等的捷径,以及向用户提供自建快捷操作的环境。

.3CommandWindow运行入门

MATLAB的使用方法和界面有多种形式。

但最基本的,也是入门时首先要掌握的是:

MATLAB指令窗(CommandWindow)的基本表现形态和操作方式。

本书作者相信,通过本节的文字解释,读者将对MATLAB使用方法有一个良好的初始感受。

.3.1CommandWindow指令窗简介

MATLAB指令窗默认地位于MATLAB桌面的右方(见图1.2-1)。

假如,用户希望得到脱离操作桌面的几何独立指令窗,只要点击该指令窗右上角的

键,就可获得如图1.3-1所示的指令窗。

图1.3-1几何独立的指令窗

〖说明〗

●图1.3-1指令窗表现了例1.3-1运行的情况。

●若用户希望让独立指令窗嵌放回桌面,则只要点击CommandWindow右上角的

按钮,或选中指令窗菜单{Desktop:

DockCommandWindow}便可。

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

为易于学习,本节以算例方式叙述,并通过算例归纳一些MATLAB最基本的规则和语法结构。

建议读者,在深入学习之前,先读一读本节。

【例1.3-1】求

的算术运算结果。

本例演示:

最初步的指令输入形式和必需的操作步骤。

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

>

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

(2)在上述表达式输入完成后,按[Enter]键,该指令被执行,并显示如下结果。

ans=

2

●本例在指令窗中实际运行的情况参见图1.3-1。

●指令行“头首”的“>

”是“指令输入提示符”,它是自动生成的。

本书在此后的输入指令前将不再带提示符“>

”。

理由是:

(A)为使本书简洁;

(B)本书用MATLAB的M-book写成,而在M-book中运行的指令前是没有提示符的。

●MATLAB的运算符(如+、-等)都是各种计算程序中常见的习惯符号。

●一条指令输入结束后,必须按[Enter]键,那指令才被执行。

●由于本例输入指令是“不含赋值号的表达式”,所以计算结果被赋给MATLAB的一个默认变量“ans”。

它是英文“answer”的缩写。

【例1.3-2】“续行输入”法。

或由于指令太长,或出于某种需要,输入指令行必须多行书写时,该如何处理。

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

1/5-1/6+1/7-1/8

S=

0.6345

●MATLAB用3个或3个以上的连续黑点表示“续行”,即表示下一行是上一行的继续。

●本例指令中包含“赋值号”,因此表达式的计算结果被赋给了变量S。

●指令执行后,变量S被保存在MATLAB的工作空间(Workspace)中,以备后用。

如果用户不用clear指令清除它,或对它重新赋值,那么该变量会一直保存在工作空间中,直到本MATLAB指令窗被关闭为止。

.3.3数值、变量和表达式

前节算例只是表演了“计算器”功能,那仅是MATLAB全部功能中小小一角。

为深入学习MATLAB,有必要系统介绍一些基本规定。

本节先介绍关于变量的若干规定。

10一数值的记述

MATLAB的数值采用习惯的十进制表示,可以带小数点或负号。

以下记述都合法。

3-990.0019.4561.3e-34.5e33

在采用IEEE浮点算法的计算机上,数值通常采用“占用64位内存的双精度”表示。

其相对精度是eps(MATLAB的一个预定义变量),大约保持有效数字16位。

数值范围大致从

10二变量命名规则

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

如变量myvar和MyVar表示两个不同的变量。

sin是MATLAB定义的正弦函数名,但SIN,Sin等都不是。

●变量名的第一个字符必须是英文字母,最多可包含63个字符(英文、数字和下连符)。

如myvar201是合法的变量名。

●变量名中不得包含空格、标点、运算符,但可以包含下连符。

如变量名my_var_201是合法的,且读起来更方便。

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

10三MATLAB默认的预定义变量

在MATLAB中有一些所谓的预定义变量(PredefinedVariable),见表1.3-1。

每当MATLAB启动,这些变量就被产生。

这些变量都有特殊含义和用途。

建议:

用户在编写指令和程序时,应尽可能不对表1.3-1所列预定义变量名重新赋值,以免产生混淆。

表1.3-1MATLAB中最常用的预定义变量

预定义变量

含义

ans

计算结果的默认变量名

NaN或nan

不是一个数(NotaNumber),如0/0,

eps

机器零阈值

Inf或inf

无穷大,如1/0

nargin

函数输入宗量数目

i或j

虚单元

nargout

函数输出宗量数目

pi

圆周率

realmax

最大正实数

realmin

最小正实数

●假如用户对表中任何一个预定义变量中进行赋值,则那个变量的默认值将被用户新赋的值“临时”覆盖。

所谓“临时”是指:

假如使用clear指令清除MATLAB内存中的变量,或MATLAB指令窗被关闭后重新启动,那么所有的预定义变量将被重置为默认值,不管这些预定义变量曾被用户赋过什么值。

●在遵循IEEE算法规则的机器上,被0除是允许的。

它不会导致程序执行的中断,只是在给出警告信息的同时,用一个特殊名称(如Inf,NaN)记述。

这个特殊名称将在以后的计算中以合理的形式发挥作用。

【例1.3-3】运用以下指令,以便初步了解预定义变量。

预定义变量已经存在的事实;

若干预定义变量的数量级概念。

formatlong

1.797693134862316e+308

realmin

2.225073858507201e-308

eps

2.220446049250313e-016

pi

3.141592653589793

10四运算符和表达式

(1)经典教科书上的算术运算符在MATLAB中的表达方式,见表1.3-2。

表1.3-2MATLAB表达式的基本运算符

数学表达式

矩阵运算符

数组运算符

a+b

a-b

a*b

a.*b

a/b或b\a

a./b或b.\a

a^b

a.^b

圆括号

()

●因为MATLAB面向复数设计,其所有运算定义在复数域上。

所以对于方根问题,运算只返还一个“主解”。

要得复数的全部方根,必须专门编写程序(见例1.3-6)。

●因为MATLAB面向矩阵/数组设计,标量被看作

的矩阵/数组。

●数组运算的“乘、除、幂”规则与相应矩阵运算根本不同。

前者的算符比后者多一个“小黑点”。

(参见例1.3-9,例1.3-10。

更详细说明请看第3章)

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

对标量而言,“左除”和“右除”的作用结果相同。

但对矩阵来说,“左除”和“右除”将产生不同的结果。

(2)MATLAB书写表达式的规则与“手写算式”几乎完全相同。

●表达式由变量名、运算符和函数名组成。

●表达式将按与常规相同的优先级自左至右执行运算。

●优先级的规定是:

指数运算级别最高,乘除运算次之,加减运算级别最低。

●括号可以改变运算的次序。

●书写表达式时,赋值符“=”和运算符两侧允许有空格,以增加可读性。

10五面向复数设计的运算——MATLAB特点之一

MATLAB的所有运算都是定义在复数域上的。

这样设计的好处是:

在进行运算时,不必像其他程序语言那样把实部、虚部分开处理。

为描述复数,虚数单位用预定义变量i或j表示。

复数

直角坐标表示和极坐标表示之间转换的MATLAB指令如下。

real(z)给出复数

的实部

imag(z)给出复数

的虚部

abs(z)给出复数

的模

angle(z)以弧度为单位给出复数

的幅角

【例1.3-4】复数

表达,及计算

正确的复数输入法;

涉及复数表示方式的基本指令。

(1)经典教科书的直角坐标表示法

z1=4+3i%合法,但建议少用或不用

z1=

4.0000+3.0000i

●本书建议读者不要使用这种输入格式。

因为这种书写格式,只适用于“数值标量”复数,而不适用于“数值矩阵”。

●在这种书写格式中,4i是一个完整的虚数,在4和i之间不许“空格”存在。

(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=

1.8840+5.2631i

(3)复数的实虚部、模和幅角计算

real_z=real(z)

image_z=imag(z)

magnitude_z=abs(z)

angle_z_radian=angle(z)%弧度单位

angle_z_degree=angle(z)*180/pi%度数单位

real_z=

1.8840

image_z=

5.2631

magnitude_z=

5.5902

angle_z_radian=

1.2271

angle_z_degree=

70.3048

【例1.3-5】图示复数

的和(配图1.3-2)。

MATLAB的运算在复数域上进行;

指令后“分号”的作用;

复数加法的几何意义;

展示MATLAB的可视化能力(让读者感受,但不要求理解)。

z1=4+3*i;

z2=1+2*i;

%在一个物理行中,允许输入多条指令。

%但各指令间要用“分号”或“逗号”分开。

%指令后采用“分号”,使运算结果不显示。

z12=z1+z2

%以下用于绘图

clf,holdon%clf清空图形窗。

逗号用来分隔两个指令。

plot([0,z1,z12],'

-b'

'

LineWidth'

3)

plot([0,z12],'

-r'

plot([z1,z12],'

ob'

MarkerSize'

8)

holdoff,gridon,

axisequal

axis([0,6,0,6])

text(3.5,2.3,'

z1'

text(5,4.5,'

z2'

text(2.5,3.5,'

z12'

xlabel('

real'

ylabel('

image'

shg

z12=

5.0000+5.0000i

图1.3-2两个复数相加

【例1.3-6】用MATLAB计算

能得到–2吗(配图1.3-3)?

MATLAB运算定义在复数域的实质;

指令后“分号”抑制运算结果的显示;

MATLAB的方根运算规则;

更复杂指令的表示方式;

展现MATLAB的图形表现力。

(对于本例指令,读者能有体验就可,不必强求理解。

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

a=-8;

r_a=a^(1/3)%求3次根

r_a=

1.0000+1.7321i

(2)

的全部方根计算如下

%先构造一个多项式

p=[1,0,0,-a];

%p是多项式

的系数向量

%指令末尾的“英文状态分号”使该指令运行后,不显示结果。

R=roots(p)%求多项式的根

R=

-2.0000

1.0000+1.7321i

1.0000-1.7321i

(3)图形表示

MR=abs(R

(1));

%计算复根的模

t=0:

pi/20:

2*pi;

%产生参变量在0到2*pi间的一组采样点

x=MR*sin(t);

y=MR*cos(t);

plot(x,y,'

b:

'

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

%注意“英文状态逗号”在不同位置的作用

holdon

plot(R

(2),'

.'

30,'

Color'

r'

)%画第一象限的方根

plot(R([1,3]),'

o'

15,'

b'

)%画另两个方根

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

holdoff

图1.3-3(-8)的全部三次方根分布

●本例有助于理解MATLAB的计算特点。

●对复数进行方根运算时,MATLAB只给出处于“第一象限”的那个根。

10六面向数组设计的运算——MATLAB特点之二

在MATLAB中,标量数据被看作

的数组(Array)数据。

所有的数据都被存放在适当大小的数组中。

为加快计算速度(运算的向量化处理),MATLAB对以数组形式存储的数据设计了两种基本运算:

一种是所谓的数组运算;

另一种是所谓的矩阵运算。

在此仅以算例展示MATLAB的计算特点,更详细的叙述请见第3章。

【例1.3-7】实数数组

的“一行”输入法。

二维数组的最基本、最常用输入法;

二维数组输入的三大要素。

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

AR=[1,3;

2,4]

(2)按[Enter]键,指令被执行。

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

AR=

13

24

在MATLAB中,不必事先对数组维数及大小做任何说明,内存将自动配置。

二维数组输入的三大要素:

数组标识符“[]”;

元素分隔符空格或逗号“,”;

数组行间分隔符分号“;

”或“回车键”。

所有标点符号都是“英文状态的符号”。

●MATLAB对字母大小写是敏感的。

比如本例中的数组赋给了变量AR,而不是Ar,aR,或ar。

在全部键入一个指令行内容后,必须按下[Enter]键,该指令才会被执行。

请读者务必记住此点。

出于叙述简明的考虑,本书此后将不再重复提及此操作。

【例1.3-8】实数数组

的“分行”输入法。

AI=[5,7

6,8]

AI=

57

68

●本例采用这种输入法是为了视觉习惯。

当然,对于较大的数组也可采用此法。

●在这种输入方法中,“回车”符用来分隔数组中的行。

【例1.3-9】对复数数组

进行求实部、虚部、模和幅角的运算。

复数数组的生成;

MATLAB指令对数组元素“并行操作”的实质。

(1)创建复数数组

AR=[1,3;

2,4];

AI=[5,7;

6,8];

A=AR-AI*i%形成复数矩阵

A=

1.0000-5.0000i3.0000-7.0000i

2.0000-6.0000i4.0000-8.0000i

(2)求复数数组的实部和虚部

A_real=real(A)

A_image=imag(A)

A_real=

24

A_image=

-5-7

-6-8

(3)求复数数组中各元素的模和幅角——循环法(笨拙!

form=1:

2

forn=1:

Am1(m,n)=abs(A(m,n));

Aa1(m,n)=angle(A(m,n))*180/pi;

%以度为单位计算幅角

end

end

Am1,Aa1

Am1=

5.09907.6158

6.32468.9443

Aa1=

-78.6901-66.8014

-71.5651-63.4349

(4)求复数数组中各元素的模和幅角——直接法

Am2=abs(A)

Aa2=angle(A)*180/pi

Am2=

A

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

当前位置:首页 > 农林牧渔 > 林学

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

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