MATLAB应用第2章第4版MATLAB数据及运算.doc
文本预览下载声明
第2章 MATLAB数据及运算
2.1 变量及其操作
一、变量命名规则
1.变量名、函数名对字母大小写是敏感的
myfile与MyFile表示不同的变量
sin是MATLAB定义的正弦函数名,但SIN、Sin都不是
2.变量名的第一个字符必须是英文字母
3.变量名最多可包含63个字符(英文、数字和下划线)
4.变量名中不能包含空格、标点
my_exemple12是合法的变量名,12exemple、_exemple12、my exemple12、my.exemple12是非法变量名
二、MATLAB默认的预定义变量
每当MATLAB启动时,不经定义和赋值就会产生一些变量,称为MATLAB默认的预定义变量
这些变量都可以重新赋值。但最好不要对这些变量名重新赋值
预定义变量 含义 预定义变量 含义 ans 计算结果的缺省变量名 nargin 函数输入参数个数 eps 机器零阈值(机器的浮点运算误差限) narout 函数输出参数个数 Inf或inf 无穷大,如1/0 realmax 最大正浮点数 i或j 虚数单位 realmin 最小正浮点数 pi 圆周率? lasterr 存放最新的错误信息 NaN或nan 不是一个数(Not a Number),如0/0,∞/∞ lastwarn 存放最新的警告信息
例1 用键盘在MATLAB指令窗中输入以下内容
eps
eps —— 机器的浮点运算误差限。PC机上eps的默认值为 2.2204×10-16 ,若某个量的绝对值小于eps,则可以认为这个量为0。
∞ 的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运算符和表达式
运算符
操作 数学表达式 MATLAB运算符 MATLAB表达式 加 a+b + a+b 减 a-b - a-b 乘 a(b * a*b 除 a(b /或\ a/b或b\a 幂 ab ^ a^b
注意
所有运算都定义在复数域上
例1 用键盘在MATLAB指令窗中输入以下内容
u=sqrt(-4)
注意
对于方根,运算只给出处于第1象限的解
例2 用左除(\)和右除(/)计算表达式的值
用键盘在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
表达式
?直角坐标表示与极坐标表示之间的转换
real(z):给出复数z的实部a=rcos?
imag(z):给出复数z的虚部b=rsin?
abs(z):给出复数z的模r=sqrt(a2+b2)
angle(z):以弧度为单位给出复数z的相角?=arctg(b/a)
例1 写出复数表达式,计算
用键盘在MATLAB指令窗中输入以下内容
z1= 3 + 4i %书写格式1
z2 = 1 + 2 * i %书写格式2
z3=2*exp(i*pi/6) %书写格式2
z=z1*z2/z3
A=[1,3;2,4]-[5,8;6,9]i
A=[1,3;2,4]-[5,8;6,9]*i
B=[
显示全部