文档库 最新最全的文档下载
当前位置:文档库 › MATLAB应用-MATLAB数据及运算【精品毕设、无需降重】

MATLAB应用-MATLAB数据及运算【精品毕设、无需降重】

第2章MATLAB数据及运算

2.1 变量及其操作

一、变量命名规则

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

myfile与MyFile表示不同的变量

sin是MA TLAB定义的正弦函数名,但SIN、Sin都不是

2.变量名的第一个字符必须是英文字母

3.变量名最多可包含63个字符(英文、数字和下划线)

4.变量名中不能包含空格、标点

my_exemple12是合法的变量名,12exemple、_exemple12、my exemple12、my.exemple12是非法变量名

二、MATLAB默认的预定义变量

每当MATLAB启动时,不经定义和赋值就会产生一些变量,称为MATLAB 默认的预定义变量

这些变量都可以重新赋值。但最好不要对这些变量名重新赋值

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

eps

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

例2 用键盘在MATLAB指令窗中输入以下内容

1/0,1.e1000,log(0)

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

例3 用键盘在MATLAB指令窗中输入以下内容

0/0,inf/inf,inf*0

注意

在MATLAB 中,即使遇到以0为除数的运算,程序也不会终止运行。这时只给出一个警告,并将结果赋给inf 或NaN

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

例4 用键盘在MATLAB 指令窗中输入以下内容

n= realmax ,n= 1.7977e+309

例5 用键盘在MATLAB 指令窗中输入以下内容

m= realmin ,m=2.2251e-309

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

注意

所有运算都定义在复数域上

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

u=sqrt(-4) 注意

对于方根,运算只给出处于第1象限的解 例2 用左除(\)和右除(/)计算表达式

i

27147cos 5-+

?+的值

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

(5+cos(47*pi/180))/(1+sqrt(7)-2*i)、(1+sqrt(7)-2*i) \(5+cos(180 \47*pi)) 注意

对于标量,左除(\)或右除(/)所得到的结果是一样的 对于矩阵,左除(\)和右除(/)所得到的结果是不一样的 AX=B → A -1AX= A -1B → X=A -1B=A\B ,

XA=B → XA A -1=B A -1 →X= BA -1= B/A 表达式

表达式由变量名、运算符、函数名组成 表达式按优先级和自左向右的顺序运算

优先级从高向低的排序是:指数运算、乘除运算、加减运算 括号可以改变运算的顺序

赋值符“=”和运算符的两侧允许有空格 复数和复数矩阵

MATLAB 把复数看成一个整体来处理(不像其它程序,把实部和虚部分开处理)

虚数单位用预定义变量i 或j 表示

复数z=a+bi=re i θ直角坐标表示与极坐标表示之间的转换 real(z):给出复数z 的实部a=rcos θ imag(z):给出复数z 的虚部b=rsin θ abs(z):给出复数z 的模r=sqrt(a 2+b 2)

angle(z):以弧度为单位给出复数z 的相角θ=arctg(b/a)

例1 写出复数i

e

z i z i z 6

3212,21,43π

=+=+=表达式,计算3

21z z z z =

用键盘在MATLAB 指令窗中输入以下内容 z1= 3 + 4i %书写格式1

z2 = 1 + 2 * i %书写格式2 z3=2*exp(i*pi/6) %书写格式2 z=z1*z2/z3 注意

%是注释号,在它后面及回车之前的输入部分是非执行的注释 在格式1中,4i 表示一个完整的虚数,4和i 之间不能有空格 在格式2中,i 被看作一个预定义变量参与运算

格式1的运算速度要比格式2快,宜于在循环中采用 例2 复数矩阵的生成及运算

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

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

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

格式1仅用于复数标量的表达,不能表达复数矩阵 例3 求上例复数矩阵C 的实部、虚部、模和相角 用键盘在MATLAB 指令窗中输入以下内容 C_real=real(C) C_imag=imag(C) C_magnitude=abs(C)

C_phase=angle(C)*180/pi %以度为单位计算相角 四、MATLAB 的数据结构

数据型、符号型、字符串型、多维数组、单元数组、类 数据型:可以单独输入,也可以赋值给数值变量

符号型:可用于公式推导,得到数学问题解析解

字符串型:C语言中字符串是用双引号括起来的,而MA TLAB字符串是用单引号括起来的

1.数据型:

双精度浮点数,占8字节(64位),指数11位,尾数53位,符号1位。

在一般情况下,数据的存储和计算都是以双精度进行的。

但是,可以用format命令改变数据在屏幕上的显示格式

例1:用format和format short格式显示π的数值

输入:format(或format short)回车

输入:pi 回车

例2:用format和format short格式显示1000π的数值

输入:format(或format short)回车

输入:1000*pi 回车

例3:分别用format long、format short e、format long e、format short g、format long g、format rat和format bank格式显示π的数值

例4:用format +格式分别显示π、π-2π和π-π的数值

五、MATLAB常用函数

例:求- 的绝对值

输入:abs(-pi)

相关文档
相关文档 最新文档