您的位置:首页 > 编程语言 > MATLAB

matlab中基本数学函数

2009-12-21 20:30 351 查看
(一)基本数学函数 1.  三角函数与双曲函数
函数 sin、sinh
功能  正弦函数与双曲正弦函数
格式  Y = sin(X)   %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的正弦值Y,所有分量的角度单位为弧度。
Y = sinh(X)  %计算参量X的双曲正弦值Y
注意:sin(pi)并不是零,而是与浮点精度有关的无穷小量eps,因为pi仅仅是精确值π浮点近似的表示值而已;对于复数Z= x+iy,函数的定义为:sin(x+iy) = sin(x)*cos(y) + i*cos(x)*sin(y), ,
函数  asin、asinh
功能  反正弦函数与反双曲正弦函数
格式  Y = asin(X)   %返回参量X(可以是向量、矩阵)中每一个元素的反正弦函数值Y。若X中有的分量处于[-1,1]之间,则Y = asin(X)对应的分量处于[-π/2,π/2]之间,若X中有分量在区间[-1,1]之外,则Y= asin(X)对应的分量为复数。
Y = asinh(X)   %返回参量X中每一个元素的反双曲正弦函数值Y
函数 cos、cosh
功能  余弦函数与双曲余弦函数
格式  Y = cos(X)   %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的余弦值Y,所有角度分量的单位为弧度。我们要指出的是,cos(pi/2)并不是精确的零,而是与浮点精度有关的无穷小量eps,因为pi仅仅是精确值π浮点近似的表示值而已。
Y = sinh(X)  %计算参量X的双曲余弦值Y
说明  若X为复数z= x+iy,则函数定义为:cos(x+iy) = cos(x)*cos(y) + i*sin(x)*sin(y), ,
函数  acos、acosh
功能  反余弦函数与反双曲余弦函数
格式  Y = acos(X)   %返回参量X(可以是向量、矩阵)中每一个元素的反余弦函数值Y。若X中有的分量处于[-1,1]之间,则Y = acos(X)对应的分量处于[0,π]之间,若X中有分量在区间[-1,1]之外,则Y = acos(X)对应的分量为复数。
Y = asinh(X)   %返回参量X中每一个元素的反双曲余弦函数Y
说明  反余弦函数与反双曲余弦函数定义为: ,
 
函数 tan、tanh
功能  正切函数与双曲正切函数
格式  Y = tan(X)   %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的正切值Y,所有角度分量的单位为弧度。我们要指出的是,tan(pi/2)并不是精确的零,而是与浮点精度有关的无穷小量eps,因为pi仅仅是精确值π浮点近似的表示值而已。
Y = tanh(X)  %返回参量X中每一个元素的双曲正切函数值Y
函数  atan、atanh
功能  反正切函数与反双曲正切函数
格式  Y = atan(X)    %返回参量X(可以是向量、矩阵)中每一个元素的反正切函数值Y。若X中有的分量为实数,则Y = atan(X)对应的分量处于[-π/2,π/2]之间。
Y = atanh(X)   %返回参量X中每一个元素的反双曲正切函数值Y。
函数 cot、coth
功能  余切函数与双曲余切函数
格式  Y = cot(X)    %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的余切值Y,所有角度分量的单位为弧度。
Y = coth(X)    %返回参量X中每一个元素的双曲余切函数值Y
函数 acot、acoth
功能  反余切函数与反双曲余切函数
格式  Y = acot(X)   %返回参量X(可以是向量、矩阵)中每一个元素的反余切函数Y
Y = acoth(X)  %返回参量X中每一个元素的反双曲余切函数值Y
函数  sec、sech
功能  正割函数与双曲正割函数
格式  Y = sec(X)   %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的正割函数值Y,所有角度分量的单位为弧度。我们要指出的是,sec(pi/2)并不是无穷大,而是与浮点精度有关的无穷小量eps的倒数,因为pi仅仅是精确值π浮点近似的表示值而已。
Y = sech(X)  %返回参量X中每一个元素的双曲正割函数值Y
函数  asec、asech
功能  反正割函数与反双曲正割函数
格式  Y = asec(X)   %返回参量X(可以是向量、矩阵)中每一个元素的反正割函数值Y
Y = asech(X)   %返回参量X中每一个元素的反双曲正割函数值Y
函数 csc、csch
功能  余割函数与双曲余割函数
格式  Y = csc(X)    %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的余割函数值Y,所有角度分量的单位为弧度。
Y = csch(X)    %返回参量X中每一个元素的双曲余割函数值Y
函数  acsc、acsch
功能  反余割函数与反双曲余割函数。
格式  Y = asec(X)    %返回参量X(可以是向量、矩阵)中每一个元素的反余割函数值Y
Y = asech(X)   %返回参量X中每一个元素的反双曲余割函数值Y
2  其他常用函数
函数  fix
功能  朝零方向取整
格式  B = fix(A)   %对A的每一个元素朝零的方向取整数部分,返回与A同维的数组。对于复数参量A,则返回一复数,其分量的实数与虚数部分分别取原复数的、朝零方向的整数部分。
例2-14
   >>A = [-1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i];
   >>B = fix(A)
计算结果为:
   B =
      Columns 1 through 4
          -1.0000              0             3.0000             5.0000
      Columns 5 through 6
          7.0000             2.0000 + 3.0000i
函数 roud
功能  朝最近的方向取整。
格式  Y = round(X)   %对X的每一个元素朝最近的方向取整数部分,返回与X同维的数组。对于复数参量X,则返回一复数,其分量的实数与虚数部分分别取原复数的、朝最近方向的整数部分。
函数  floor
功能  朝负无穷大方向取整
格式  B = floor(A)   %对A的每一个元素朝负无穷大的方向取整数部分,返回与A同维的数组。对于复数参量A,则返回一复数,其分量的实数与虚数部分分别取原复数的、朝负无穷大方向的整数部分。
函数 rem
功能  求作除法后的剩余数
格式  R = rem(X,Y)   %返回结果X - fix(X./Y).*Y,其中X、Y应为正数。若X、Y为浮点数,由于计算机对浮点数的表示的不精确性,则结果将可能是不可意料的。fix(X./Y)为商数X./Y朝零方向取的整数部分。若X与Y为同符号的,则rem(X,Y)返回的结果与mod(X,Y)相同,不然,若X为正数,则rem(-X,Y) = mod(-X,Y) - Y。该命令返回的结果在区间[0,sign(X)*abs(Y)],若Y中有零分量,则相应地返回NaN。
函数  ceil
功能  朝正无穷大方向取整
格式  B = floor(A)   % 对A的每一个元素朝正无穷大的方向取整数部分,返回与A同维的数组。对于复数参量A,则返回一复数,其分量的实数与虚数部分分别取原复数的、朝正无穷大方向的整数部分
函数 exp
功能  以e为底数的指数函数
格式  Y = exp(X)   %对参量X的每一分量,求以e为底数的指数函数Y。X中的分量可以为复数。对于复数分量如,z = x +i*y,则相应地计算:e^z = e^x*(cos(y) + i*sin(y))
函数 expm
功能  求矩阵的以e为底数的指数函数
格式  Y = expm(X)   %计算以e为底数、x的每一个元素为指数的指数函数值。若矩阵x有小于等于零的特征值,则返回复数的结果。
说明  该函数为一内建函数,它有三种计算算法:
(1)使用文件expm1.m中的用比例法与二次幂算法得到的Pad近似值;
(2)使用Taylor级数近似展开式计算,这种计算在文件expm2.m中。但这种一般计算方法是不可取的,通常计算是缓慢且不精确的;
(3)在文件expm3.m中,先是将矩阵对角线化,再把函数计算出相应的的特征向量,最后转换过来。但当输入的矩阵没有与矩阵阶数相同的特征向量个数时,就会出现错误
函数 log
功能  自然对数,即以e为底数的对数。
格式  Y = log(X)   %对参量X中的每一个元素计算自然对数。其中X中的元素可以是复数与负数,但由此可能得到意想不到的结果。若z = x + i*y,则log对复数的计算如下:log (z) = log (abs (z)) + i*atan2(y,x)
函数 log10
功能  常用对数,即以10为底数的对数。
格式  Y = log10(X)   %计算X中的每一个元素的常用对数,若X中出现复数,则可能得到意想不到的结果。
函数 sort
功能  把输入参量中的元素按从小到大的方向重新排列
格式  B = sort(A)   %沿着输入参量A的不同维的方向、从小到大重新排列A中的元素。A可以是字符串的、实数的、复数的单元数组。对于A中完全相同的元素,则按它们在A中的先后位置排列在一块;若A为复数的,则按元素幅值的从小到大排列,若有幅值相同的复数元素,则再按它们在区间[-π,π]的幅角从小到大排列;若A中有元素为NaN,则将它们排到最后。若A为向量,则返回从小到大的向量,若A为二维矩阵,则按列的方向进行排列;若A为多维数组,sort(A)把沿着第一非单元集的元素象向量一样进行处理。
函数  abs
功能  数值的绝对值与复数的幅值
格式  Y = abs(X)   %返回参量X的每一个分量的绝对值;若X为复数的,则返回每一分量的幅值:abs(X) = sqrt(real(X).^2+imag(X).^2)
函数 conj
功能  复数的共轭值
格式  ZC = conj(Z)   %返回参量Z的每一个分量的共轭复数:
conj(Z) = real(Z) - i*imag(Z)
函数 imag
功能  复数的虚数部分
格式  Y = imag(Z)    %返回输入参量Z的每一个分量的虚数部分
函数 real
功能  复数的实数部分。
格式  Y = real(Z)   %返回输入参量Z的每一个分量的实数部分
函数  angle
功能  复数的相角
格式  P = angle(Z)   %返回输入参量Z的每一复数元素的、单位为弧度的相角,其值在区间[-π,π]上
函数  complex
功能  用实数与虚数部分创建复数
格式  c = complex(a,b)   %用两个实数a,b创建复数c=a+bi。输出参量c与a、b同型(同为向量、矩阵、或多维阵列)。该命令比下列形式的复数输入更有用:a + i*b 或a + j*b因为i和j可能被用做其他的变量(不等于sqrt(-1)),或者a和b不是双精度的。
c = complex(a)    %输入参量a作为输出复数c的实部,其虚部为0:c = a+0*i
函数  mod
功能  模数(带符号的除法余数)
用法  M = mod(X,Y)   %输入参量X、Y应为整数,此时返回余数X -Y.*floor(X./Y),若Y≠0,或者是X。若运算数x与y有相同的符号,则mod(X,Y)等于rem(X,Y)。总之,对于整数x,y,有:mod(-x,y) = rem(-x,y)+y。若输入为实数或复数,由于浮点数在计算机上的不精确表示,该操作将导致不可预测的结果。 
函数 nchoosek
功能  二项式系数或所有的组合数。该命令只有对n<15时有用。
函数  C = nchoosek(n,k)   %参量n,k为非负整数,返回n! / ( (n-k)! k!),即一次从n个物体中取出k个的组合数
函数  rand
功能  生成元素均匀分布于(0,1)上的数值与阵列
用法  Y = rand(n)   %返回n*n阶的方阵Y,其元素均匀分布于区间(0,1)。若n不是一标量,在显示一出错信息。
Y = rand(m,n)、Y = rand([m n])          %返回阶数为m*n的,元素均匀分布于区间(0,1)上矩阵Y。
Y = rand(m,n,p,…)、Y = rand([m n p…])    %生成阶数m*n*p*…的,元素服从均匀分布的多维随机阵列Y。
Y = rand(size(A))   %生成一与阵列A同型的随机均匀阵列Y
rand            %该命令在每次单独使用时,都返回一随机数(服从均匀分布)。
s = rand('state')    %返回一有35元素的列向量s,其中包含均匀分布生成器的当前状态。该改变生成器的当前的状态,见下表1。
   表1
命   令
含   义
Rand(’state’,s)
设置状态为s
Rand(’state’,0)
设置生成器为初始状态
Rand(’state’,k)
设置生成器第k个状态(k为整数)
Rand(’state’,sum(100*clock))
设置生成器在每次使用时的状态都不同(因为clock每次都不同)
函数  randn
功能  生成元素服从正态分布(N(0,1))的数值与阵列
格式  Y = randn(n)    %返回n*n阶的方阵Y,其元素服从正态分布N(0,1)。若n不是一标量,则显示一出错信息。
Y = randn(m,n)、Y = randn([m n])   %返回阶数为m*n的,元素均匀分布于区间(0,1)上矩阵Y。
Y = randn(m,n,p,…)、Y = randn([m n p…])    %生成阶数m*n*p*…的,元素服从正态分布的多维随机阵列Y。
Y = randn(size(A))    %生成一与阵列A同型的随机正态阵列Y
randn    %该命令在每次单独使用时,都返回一随机数(服从正态分布)。
s = randn('state')      %返回一有2元素的向量s,其中包含正态分布生成器的当前状态。该改变生成器的当前状态,见表2。
表2
命    令
含    义
randn(’state’,s)
设置状态为s
randn(’state’,0)
设置生成器为初始状态
rand(’state’,k)
设置生成器第k个状态(k为整数)
rand(’state’,sum(100*clock))
设置生成器在每次使用时的状态都不同(因为clock每次都不同)
 
from:http://shumozxf.blog.sohu.com/60523107.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: