(完整版)MATLAB基本语法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在MATLAB中,变量和常量的标识符最长允许19个字符,标识符中第一个字符必须是英文字母。MATLAB区分大小写,默认状态下,A和a被认为是两个不同的字符。(case sensitive)

一、数组和矩阵

(一)数组的赋值

数组是指一组实数或复数排成的长方阵列。它可以是一维的“行”或“列”,可以是二维的“矩形”,也可以是三维的甚至更高的维数。在MATLAB中的变量和常量都代表数组,赋值语句的一般形式为

变量=表达式(或数)

如键入a=[1 2 3; 4 5 6; 7 8 9]则将显示结果:

a=

1 2 3

4 5 6

7 8 9

数组放置在[ ]中;数组元素用空格或逗号“,”分隔;数组行用分号“;”或“回车”隔离。

(二)复数

MATLAB中的每一个元素都可以是复数,实数是复数的特例。复数的虚部用i或j表示。

复数的赋值形式有两种:

z=[1+1i ,2+2i ;3+3i ,4+4i]

z=[1,2;3,4]+[1,2;3,4]*i

得 z=1.000+1.000i 2.000+2.000i

3.000+3.000i

4.000+4.000i

以上两式结果相同。注意,在第二式中“*”不能省略。

在复数运算中,有几个运算符是常用的。运算符“′”表示把矩阵作共轭转置,即把矩阵的行列互换,同时把各元素的虚部反号。函数conj表示只把各元素的虚部反号,即只取共轭。若想求转置而不要共轭,就把conj和“′”结合起来完成。例如键入

w=z′,u=conj(z),v=conj(z)′

可得 w=1.000-1.000i 3.000-3.000i

2.000-2.000i 4.000-4.000i

u=1.000-1.000i 2.000-2.000i

3.000-3.000i

4.000-4.000i

v=1.000+1.000i 3.000+3.000i

二、逻辑判断与流程控制 (一)关系运算

关系运算是指两个元素之间数值的比较,一共有六种可能。如表M-8所列。

关系运算的结果只有两种可能,即0或1。

0表示该关系式为“假”,1表示该关系式为“真”。

(三)基本的流程控制语句

⑴if条件执行语句

格式: if 表达式语句, end

if 表达式1 语句组A, else 语句组B, end

if 表达式1 语句组A, elseif 表达式2 语句组B, else 语句组C, end 执行到该语句时,计算机先检验if后的逻辑表达式,为1则执行语句A;如为0则跳过A 检验下一句程序,直到遇见end,执行end后面的一条语句。

⑵while循环语句

格式: while 表达式语句组A, end

执行到该语句时,计算机先检验while后的逻辑表达式,为1则执行语句A;到end处,它就跳回到while的入口,再检验表达式,如仍为1则再执行语句A,直到结果为0,就跳过语句组A,直接执行end后面的一条语句。

⑶for循环语句

格式: for k=初值:增量:终值语句组A, end

将语句组A重复执行N次,但每次执行时程序中k值不同。增量缺省值为1。

⑷switch多分支语句

格式: switch 表达式(标量或字符串)

case 值1

语句组A

case 值2

语句组B

……………

otherwise

语句组N

end

当表达式的值与某case语句中的值相同时,它就执行该case语句后的语句组,然后直接跳到终点的

保留的常数

eps—机器的浮点运算误差限。PC机上eps的默认值为2.2204*10^-16,若某个量的绝对值小于eps,则可以认为这个量为0。

i和j—若i或j量不被改写,则它们表示纯虚数量j。但在MATLAB程序编写过程中经常事先改写这两个变量的值,如在循环过程中常用这两个变量来表示循环变量,所以应该确认使用这两个变量时没被改写。如果想恢复该变量,则可以用语句i=sqrt(-1)设置,即对-1求平方根。

Inf—无穷大量+∞的MATLAB表示,也可以写成inf。同样地,-∞可以表示为-Inf。在MATLAB程序执行时,即使遇到了以0为除数的运算,也不会终止程序的运行,而只给出一个“除0”警告,并将结果赋成Inf,这样的定义方式符合IEEE的标准。从数值运算编程角度看,这样的实现形式明显优于C这样的非专业语言。

NaN—不定式(not a number),通常由0/0运算、Inf/Inf及其他可能的运算得出。NaN 是一个很奇特的量,如NaN与Inf的乘积仍为NaN。

pi—圆周率π的双精度浮点表示。

lasterr—存放最新一次的错误信息。此变量为字符串型,如果在本次执行过程中没出现这错误,则此变量为空字符串。

lastwarn—存放最新的警告信息。若未出现过警告,则此变量为空字符串。

保留的变量

ans—存放最近一次无赋值变量语句的运算结果。

end—最后一行(列)

nargin—函数输入变量的实际个数

nargout—函数返回变量的实际个数

保留字

%—后接注释

数据结构

一、数值型结构

MATLAB语言中最常用的数值量为双精度浮点数,占8个字节(PS:与JAVA的double 型相同)(64位),遵从IEEE记数法,有11个指数位、53位尾数及一个符号位,值域的近似范围为-1.7*10^308至1.7*10^308,其MATLAB表示为double()。考虑到一些

相关文档
最新文档