(二)数值、变量和表达式
- 命名规则:
- 变量名对大小写敏感,即区分大小写
- 变量名必须以字母开头,后面可以采用数字、下划线和字母,但不能使用空格、标点符号和运算符
- 变量名最长可以采用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 | 向量点乘 |
转载于:https://www.cnblogs.com/mayyzym/p/10397177.html