(二)数值、变量和表达式
- 命名规则:
- 变量名对大小写敏感,即区分大小写
- 变量名必须以字母开头,后面可以采用数字、下划线和字母,但不能使用空格、标点符号和运算符
- 变量名最长可以采用63个字符,之后的字符串都将被忽略
- 关键字(或保留字)不能作为变量名称,
- 可以通过iskeyword命令来查询保留字(keywords)
- 通过isvarname来查询所定义的变量名是否位关键字
- 表2-6 预定义变量
预定义变量 |
变量的意义 |
ans |
默认的计算结果变量名,answers的缩写形式 |
beep |
计算机自动发出声音 |
pi |
圆周率π |
eps |
浮点数的精度(2.2204e—016),最小数值,和数值相加后,产生大于该数值的最小的那个数 |
inf |
无穷大数的表示(1/0产生) |
NaN |
书之不能确定,不是一个数(Not a Number),通常由0/0、∞/∞等不能确定数值的时候产生 |
i或j |
虚数的单位,即 i=j=√-1 |
nargin |
在调用函数时,函数变量的输入个数 |
nargout |
函数调用时,由函数输出的变量个数 |
realmin |
可用的最小正实数 |
realmax |
可用的最大正实数 |
bitmax |
可用的最大正整数(用双精度来表示,9.0072e+015) |
varargin |
函数输入的变量中,可变变量的输入个数 |
varargout |
可变的函数输出个数 |
-
- 如果用户对预定义的特殊变量赋值,那么该特殊变量的数值将会被临时覆盖
- 运算过程中,被0除不会导致程序的终止,系统会根据情况给出警告信息,并相应的用Inf或NaN来表示这些计算结果
(三)数值数据类型
数据类型 |
说明 |
uint8 |
8位无符号整数,数值范围为0~255(0~28-1) |
int8 |
8位有符号整数,数值范围为-128~127(-27~27-1) |
uint16 |
16位无符号整数,数值范围为0~65535(0~216-1) |
int16 |
16位有符号整数,数值范围为-32768~32767(-215~215-1) |
uint32 |
32位无符号整数,数值范围为0~4294967295(0~232-1) |
int32 |
32位有符号整数,数值范围为-2147483648~2147483647(-231~231-1) |
uint64 |
64位无符号整数,数值范围为0~18446744073709551615(0~264-1) |
int64 |
64位有符号整数,数值范围为-9223372036854775808~9223372036854775807(-263~263-1) |
-
- 上表定义的整数数据类型不同,但是具有相同的性质,这些数据都可以通过函数 intmax 和 intmin 来查询此种数据类型的上下限
- 整型数据的定义(e_two_4.m)
- 整型数据数据运算(e_two_5.m)
- 进行除法运算时,先将向量中的整数元素作为双精度类型的数据进行计算,然后根据四舍五入原则得到整型数据相除的结果
- 整型数据的转化(e_two_6.m)
- 不同类型的整型数据之间不能进行数学运算;支持双精度标量和整型数据之间的数学运算(原因在于MATLAB先将双精度类型的标量数据转化成整型数据再进行计算)
- 整型数据运算的溢出(e_two_7.m)
- 当运算过程中产生溢出问题时,MATLAB采用饱和处理,即将计算结果设定为溢出方向的上下限数值
- 浮点数
- 默认类型数据:双精度类型(double)
- 为了节省存储空间,支持单精度类型(single)的数组
- 单精度和双精度类型的取值范围可以选择函数realmin、realmax来得到。单精度类型浮点数的精度可以通过函数eps来得到。(e_two_8.m)
- 单精度数据创建及混合运算(e_two_9.m)
- 存在特殊的浮点数Inf(无穷大)和NaN(被零除),特殊的双精度数(e_two_10.m)
- 整型浮点数间的操作函数
- 表2-8 常见的数值数据函数(表中,type为numeric、integer、float及其它类型的数据类型)
函数名称 |
描述 |
double |
创建或转化为双精度类型的数据 |
single |
创建或转化为单精度数据 |
int8,int16,int32,int64 |
创建或转化为有符号的整型数据 |
uint8,unit16,unit32,unit64 |
创建或转化为无符号的整型数据 |
isnumeric |
数据类型判断函数,如果为整型数据或浮点数,那么函数返回true |
isinteger |
整型数据判断函数,如果为整型数据,那么返回true |
isfloat |
浮点数类型判断函数,如果为单精度或双精度数据,则返回true |
isa(x, \'type\') |
判断x是否为指定的type类型数据,若是则返回true |
cast(x, \'type\') |
将x的数据类型转化为type类型数据 |
intmax(\'type\') |
返回整型数据的最大数值 |
intmin(\'type\') |
返回整型数据的最小数值 |
realmax(\'type\') |
返回浮点数的最大数值 |
realmin(\'type\') |
返回浮点数的最小数值 |
eps(\'type\') |
返回type类型数据的eps数值(浮点数值,即精度) |
eps(\'x\') |
x的eps数值 |
- 复数
- 在matlab中能够直接在复数域上进行运算,采用提供的命令进行复数的极坐标形式和直角坐标形式之间的转化
- 欧拉公式
real(z) |
计算复数的实部z=rcosθ |
imag(z) |
计算复数的虚部z=rsinθ |
abs(z) |
计算复数的模√(a2+b2) |
angle(z) |
以弧度为单位给出复数的幅角arctan(b/a) |
-
- 复数的表达和书写(e_two_11.m),复数可通过以下几种方式来进行定义:
- 直接定义法:根据复数经典的直角坐标和极坐标方式来进行定义
- 通过函数complex来进行定义
- 在数值运算过程中产生复数
- 在定义过程中,如果复数单位 i 和 j 直接和表达式相连接,则不能够进行复数的定义,只有通过相乘方式才能够进行定义
- 复数通过“数值标量”的方式进行定义时不适用于“数值矩阵”形式(尽量少用)
- 复数的实部、虚部、模和幅角的计算(e_two_12.m)
- 求解复数的根,并将这些根用图形表达(e_two_13.m)
- 常见的数学函数
- MATLAB提供了大量的数学函数,角度都是用弧度来表示
- 表2-9 三角函数表
三角函数名 |
说明 |
acos |
反余弦函数 |
acosh |
反双曲余弦函数 |
acot |
反余切函数 |
acoth |
反双曲余切函数 |
acsc |
反余割函数 |
asec |
反正割函数 |
asin |
反正弦函数 |
asinh |
反双曲正弦函数 |
atan |
反正切函数 |
atan2 |
4个象限内反正切 |
atanh |
反双曲正切函数 |
cos |
余弦函数 |
cosh |
双曲余弦函数 |
cot |
余切函数 |
coth |
双曲余切函数 |
csc |
余割函数 |
csch |
双曲余割函数 |
sec |
正割函数 |
sech |
双曲正割函数 |
sin |
正弦函数 |
sinh |
双曲正弦函数 |
tan |
正切函数 |
tanh |
双曲正切函数 |
指数函数名 |
说明 |
^ |
乘方 |
exp |
幂 |
ln |
自然对数 |
lg |
以10为底的对数 |
lb |
以2为底的对数,分割浮点数 |
pow2 |
以2为底的幂,比例浮点数 |
sqrt |
平方根 |
nextpow2 |
最小的P,是的2P不小于给定的N |
复数函数名 |
说明 |
abs |
绝对值或复数的模 |
angle |
用弧度表示的相角度 |
conj |
共轭复数函数 |
imag |
虚部 |
real |
实部 |
unwrap |
相角展开 |
isreal |
如果是实数,则返回true |
cplxpair |
将矢量按共轭复数对重新排列 |
complex |
由实部和虚部组成复数 |
舍入和余数函数名 |
说明 |
fix |
向0舍入 |
floor |
向负无穷舍入 |
ceil |
向正无穷舍入 |
round |
向最接近的整数舍入 |
mod |
模数取余 |
rem |
对数法取余数 |
sign |
符号函数 |
坐标变换函数名 |
说明 |
cart2sph |
笛卡尔坐标到球坐标变换函数 |
cartpol |
笛卡尔坐标到柱坐标或极坐标变换函数 |
pol2cart |
柱坐标或极坐标到球坐标变换函数 |
sph2cart |
球坐标到笛卡尔坐标变换函数 |
数理函数名 |
说明 |
factor |
质数因子 |
isprime |
如果是质数,则返回true |
primes |
产生质数列数 |
gcd |
最大公因数 |
lcm |
最小公倍数 |
rat |
有理逼近 |
rats |
有理数输出 |
perms |
所有可能的组合 |
nchoosek |
从N个元素中一次取K个的所有组合数 |
专用函数名 |
说明 |
airy |
airy函数 |
besselj |
第一类贝赛尔函数 |
bessely |
第二类贝塞尔函数 |
besselh |
第三类贝塞尔函数 |
besseli |
经过修正后的第一类贝塞尔函数 |
besselk |
经过修正后的第二类贝赛尔函数 |
beta |
beta函数 |
betainc |
不完全beta函数 |
betaln |
beta函数的对数 |
ellipj |
Jacobi椭圆函数 |
ellipke |
完全椭圆积分 |
erf |
误差函数 |
erfc |
互补误差函数 |
erfinv |
比例互补误差函数 |
expint |
误差函数的逆函数 |
gamma |
gamma函数 |
gammainc |
不完全gamma函数 |
gammaln |
gamma函数的对数 |
legendre |
legendre伴随函数 |
cross |
向量叉乘 |
dot |
向量点乘 |
|