收藏 分销(赏)

-MatLab常用函数大全.doc

上传人:天**** 文档编号:4681869 上传时间:2024-10-09 格式:DOC 页数:16 大小:91.39KB
下载 相关 举报
-MatLab常用函数大全.doc_第1页
第1页 / 共16页
-MatLab常用函数大全.doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述
1、求组合数 求,则输入: nchoosek(n,k) 例:nchoosek(4,2) = 6. 2、求阶乘 求n!.则输入: Factorial(n). 例:factorial(5) = 120. 3、求全排列 perms(x). 例:求x = [1,2,3]; Perms(x),输出结果为: ans = 3 2 1 3 1 2 2 3 1 2 1 3 1 2 3 1 3 2 4、求指数 求a^b:Power(a,b) ; 例:求2^3 ; Ans = pow(2,3) ; 5、求行列式 求矩阵A的行列式:det(A); 例:A=[1 2;3 4] ; 则det(A) = -2 ; 6、求矩阵的转置 求矩阵A的转置矩阵:A’ 转置符号为单引号. 7、求向量的指数 求向量p=[1 2 3 4]'的三次方:p.^3 例: p=[1 2 3 4]' A=[p,p.^2,p.^3,p.^4] 结果为: 注意:在p与符号”^”之间的”.”不可少. 8、求自然对数 求ln(x):Log(x) 例:log(2) = 0.6931 9、求矩阵的逆矩阵 求矩阵A的逆矩阵:inv(A) 例:a= [1 2;3 4]; 则 10、多项式的乘法运算 函数conv(p1,p2)用于求多项式p1和p2的乘积。这里,p1、p2是两个多项式系数向量。 例2-2 求多项式和的乘积。 命令如下: p1=[1,8,0,0,-10]; p2=[2,-1,3]; c=conv(p1,p2) 11、多项式除法 函数[q,r]=deconv(p1,p2)用于多项式p1和p2作除法运算,其中q返回多项式p1除以p2的商式,r返回p1除以p2的余式。这里,q和r仍是多项式系数向量。 例2-3 求多项式除以多项式的结果。 命令如下: p1=[1,8,0,0,-10]; p2=[2,-1,3]; [q,r]=deconv(p1,p2) 12、求一个向量的最大值 求一个向量x的最大值的函数有两种调用格式,分别是: (1)max(x):返回向量x的最大值,如果x中包含复数元素,则按模取最大值。 (2)[y, i]=max(x):返回向量x的最大值存入y,最大值的序号存入i,如果x中包含复数元素,则按模取最大值。 求向量x的最小值函数是min(x),用法与max(x)完全相同。 13、求矩阵的最大值和最小值 求矩阵A的最大值的函数有三种调用格式,分别是: (1)max(A):返回一个行向量,向量的i个元素是矩阵A的第i列的最大值。 (2)[y,u]=max(A):返回行向量y和u,y纪录A的每列的最大值,u纪录每列最大值的行号。 求矩阵A的最小值的函数min(A),用法与max(A)完全相同。 14、求和与求积 数据序列求和与求积函数是sum和prod,其使用方法类似。设x是一个向量,A是一个矩阵,函数的调用格式为: sum(x):返回向量x各元素之和。 Sum(A,1):返回矩阵A的列求和后的行向量 Sum(A,2):返回矩阵A的行求和后的列向量 prod(x):返回向量x各元素的乘积。 sum(A):返回一个行向量,其第i个元素是A的第i列的元素之和。 prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。 sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的元素之和。 prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的元素乘积。 15、平均值、标准方差 MATLAB提供了mean,std函数来计算平均值、标准方差或方差。这些函数的调用方法如下: mean(x):返回向量x的算术平均值。 std(x):返回向量x的标准方差。 对于矩阵A,mean函数的一般调用格式为: y=mean(A,dim) 这里,dim取1或2。当dim=1时,返回一个行向量y,y的第i个元素是A的第i列元素的平均值;当dim=2时,返回一个列向量y,y的第i个元素是A的第i行元素的平均值。 对于矩阵A,std函数的一般调用格式为: y=std(A,flag,dim) 这里,dim取1或2。当dim=1时,求各列元素的标准方差;当dim=2时,求各行元素的标准方差。flag取0或1,当flag=0时,按计算标准方差;当flag=1时,按计算方差。缺省flag=0,dim=1。 16、相关系数 对于两组数据序列,,其相关系数的计算, MATLAB提供了corrcoef函数来计算相关系数,corrcoef函数的调用格式为: r=corrcoef(x,y) 17、排序 对向量元素的进行排序是一种经常性的操作,MATLAB提供了sort函数对向量x进行排序。 y=sort(x):返回一个对x中元素按升序排列后的向量y。 [y,i]=sort(x):返回一个对x中的元素按升序排列的向量y,而i记录y中元素在x中的位置。 18、多项式的求导 对多项式求导数的函数是: p=polyder(p1):求多项式p1的导函数。 p=polyder(p1,p2):求多项式p1和p2乘积的导函数。 [p,q]=polyder(p1,p2):求多项式p1和p2之商的导函数,p、q是导函数的分子、分母。 例: 求有理分式的导函数。 命令如下: p1=[1,-1]; p2=[1,-1,3]; [p,q]=polyder(p1,p2) 19、多项式的求值 polyval函数用来求代数多项式的值,其调用格式为: y=polyval(p,x) 若x为一数值,则求多项式在该点的值;若x为向量,则对向量中的每个元素求其多项式的值。 例: 求多项式在点1,2,3,4的值。 命令如下: p=[1,2,1]; x=1:4; y=polyval(p,x) y = 4 9 16 25 roots函数用来求代数多项式的根,其调用格式为: x=roots(p) 如果x为向量,则p=poly(x)可以建立一个以x为其根的多项式。 20、多项式的求根 roots函数用来求代数多项式的根,其调用格式为: x=roots(p) 如果x为向量,则p=poly(x)可以建立一个以x为其根的多项式。 例:求多项式的根。 命令如下: p=[1,-6,11,-6]; x=roots(p) x = 3.0000 2.0000 1.0000 如果键入命令p=poly(x),则可得到以3,2,1为根的三次多项式的系数 p = 1.0000 -6.0000 11.0000 -6.0000 21、单变量非线性方程的求根 MATLAB还提供了一个fzero函数,可以用来求单变量非线性方程的求根。该函数的调用格式为: z=fzero(‘fname’,x0) 其中fname是待求根的函数文件名,x0为搜索的起点。一个函数可能有多个根,但fzero函数只能给出离x0最近的那个根。 例: 求函数在附近的根。 命令如下: fzero('x-10^x+2',0.5) ans = 0.3758 22、求单变量函数的最小值点 其调用格式为: x=fminbnd(‘fname’,x1,x2) 这里,fname是目标函数名,x1和x2限定自变量的取值范围,而x0是搜索起点的坐标。 例:求一元函数在[0,5]内的最小值点。 命令如下: fminbnd('x^3-2*x-5', 0, 5) ans = 0.8165 23、求多变量函数的最小值点 其调用格式为: x=fminsearch(‘fname’,x0) 例: 求多元函数在附近的最小值。 建立函数文件f.m。 function w=f(p) x=p(1); y=p(2); z=p(3); w=x+y^2/(4*x)+z^2/y+2/z; 调用fminsearch函数求多元函数在[1/2,1/2,1/2]附近的最小值点。 w=fminsearch('f ',[1/2,1/2,1/2]) w = 0.5000 1.0000 1.0000 计算多元函数的最小值。 f(w) ans = 4.0000 24、求函数的最大值点 MATLAB没有专门提供求函数最大值点的函数,当需要求函数在区间(a,b)上最大值点时,可将它转化为求-f(x)在(a,b)上的最小值点。 25、建立单个符号量(sym函数) sym函数用来建立单个符号量,一般调用格式为: 符号变量名=sym(‘符号字符串’) 该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。 例如,a=sym(‘a’)将建立符号变量a,此后,用户可以在表达式中使用变量a进行各种运算。符号变量a和在其他过程中建立的非符号变量a是不同的。一个非符号变量在参与运算前必须赋值,变量的运算实际上是该变量所对应值的运算,其运算结果是一个和变量类型对应的值,而符号变量参与运算前无须赋值,其结果是一个由参与运算的变量名组成的表达式。下面的命令及其运算结果,说明了符号变量与非符号变量的差别。 在MATLAB命令窗口,输入以下命令: a=sym('a'); %定义符号变量a,b b=sym('b'); p1=sym('pi'); %定义符号常量 a=sym('3'); b=sym('4'); p2=pi; %定义数值常量 x=3; y=4; sin(p1/3) %符号计算 ans = 1/2*3^(1/2) sin(p2/3) %数值计算 ans = 0.8660 cos((a+b)^2)-sin(pi/4) %符号计算 ans = cos(49)-1/2*2^(1/2) cos((x+y)^2)-sin(pi/4) %数值计算 ans = -0.4065 26、建立多个符号量(syms函数) 函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为: syms 符号变量名1 符号变量2 … 符号变量n 用这种格式定义符号变量时,变量间用空格而不要用逗号分隔。例如,用syms函数定义4个符号变量a,b,命令如下: syms a b 27、建立符号表达式 含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法: (1)利用单引号来生成符号表达式。例如 y='1/sqrt(2*x)' y = 1/sqrt(2*x) (2)利用sym函数建立符号表达式。例如 z=sym('3*x^2-5*y+2*x*y+6') z = 3*x^2-5*y+2*x*y+6 A=sym('[a,b;c,d]') A = [ a, b] [ c, d] 第一条命令建立一个符号函数表达式,第二条命令生成一个符号矩阵。 (3)利用已经定义的符号变量组成符号表达式。例如 syms x y; z=3*x^2-5*y+2*x*y+6 z = 3*x^2-5*y+2*x*y+6 28、符号表达式中变量的确定 利用函数findsym(s)可以确定符号表达式s中的全部符号变量。例如: syms a b x y; %定义4个符号变量 c=sym('3'); %定义1个符号常量 s=3*x+y; findsym(s) ans = x, y findsym(5*x+2) ans = x findsym(a*x+b*y+c) %符号变量c不会出现在结果中 ans = a, b, x, y 29、符号表达式四则运算 符号表达式的加、减、乘、除和幂运算可分别由函数symadd、symsub、symmul、symdiv和sympow来实现。例如 f='2*x^2+3*x-5' f = 2*x^2+3*x-5 g='x^2-x+7' g = x^2-x+7 symadd(f,g) %加法运算 ans = 3*x^2+2*x+2 sympow(f,'2*x') %乘幂运算 ans = (2*x^2+3*x-5)^(2*x) 30、符号表达式的因式分解与展开 符号表达式的因式分解和展开运算,可用函数factor和expand来实现,其调用格式为: factor(s):对符号表达式s分解因式。 expand(s):对符号表达式s进行展开。 例如: syms x y; s1=x^3-6*x^2+11*x-6 s1 = x^3-6*x^2+11*x-6 factor(s1) ans = (x-1)*(x-2)*(x-3) s2=(x-y)*(x+y) s2 = (x-y)*(x+y) expand(s2) ans = x^2-y^2 31、符号表达式与数值表达式之间的转换 利用函数sym可以将数值表达式转换成符号表达式。例如: sym(1.5) ans = 3/2 利用函数eval可以将符号表达式转换成数值表达式。例如: x='(1+sqrt(5))/2' x = (1+sqrt(5))/2 eval (x) ans = 1.6180 y='3/2' y = 3/2 eval (y) ans = 1.5000 32、符号极限 MATLAB中求函数极限的函数是limit,可用来求函数在指定点的极限值和左右极限值。对于极限值为“没有定义”的极限,MATLAB给出的结果为NaN,极限值为无穷大时,MATLAB给出的结果为inf。limit函数的调用格式为: (1)limit(f, x, a):求符号函数的极限值。 (2)limit(f, x, a, 'left'):求符号函数的右极限值。 (3)limit(f, x, a, 'right'):求符号函数的右极限值。 33、符号导数 diff函数用于对符号表达式求导数。该函数的一般调用格式为: diff(s, x, n):对符号表达式或符号函数s关于x求n阶导数,当n缺省时,表示求一阶导数。 例: 求下列函数导数 (1),求。 导数: syms x a; diff(‘exp(-a*x^2)+x’,x) ans = 34、符号积分 符号积分由函数int来实现。该函数的一般调用格式为: int(s,x):以符号表达式或符号函数s为被积函数,x为积分变量,计算不定积分。 int(s, x, a, b):以符号表达式或符号函数s为被积函数,a,b为积分的下限和上限,x为积分变量,计算定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷大。 例:求 积分: syms x; y=exp(-x^2); int(y, x, 0, inf) ans = pi^(1/2)/2 35、符号级数 symsum函数用于求无穷级数的和。该函数的一般调用格式为: symsum(s, x, n, m) s是一个符号函数,它是级数通项,x是求和变量,n和m是求和的开始项和未项。 例: 求下列级数之和 (1) (2) 级数1: syms n; s=1/n^2; symsum(s, n, 1, inf) ans = 1/6*pi^2 级数2: syms n; s=(-1)^(n-1)/(2*n-1); symsum(s, n, 1, inf) ans = 1/4*pi 36、函数的泰勒展开 taylor函数用于将一个函数展开为幂级数,其调用格式为: taylor(f , x, n, a) f是一个符号表达式或符号函数,它表示需要被展开的函数,x是函数自变量,n指需要展开的项数,其缺省值为6,a指定将函数f在x = a处展开,其缺省值为0。 例:求以下函数的泰勒级开式 (1)求函数在处的泰勒展开式的前5项。 展开式: syms x; f=log(x); taylor(f, x, 5, 1) ans = x-1-1/2*(x-1)^2+1/3*(x-1)^3-1/4*(x-1)^4 37、符号方程求解 求解用符号表达式的代数方程可由函数solve实现,其调用格式为: x=solve(s, ' x '):求解符号表达式s组成的代数方程,求解变量为x。 [x1,x2,…,xn ]=solve(s1,s2,…,sn, ' x 1', ' x2 ',…, ' x n'):求解符号表达式s1,s2,…,sn组成的方程组,求解变量分别为x1,x2,…,xn。 例2-15 求解方程组 (为已知的互异实数) 在MATLAB命令窗口,输入命令: [x,y,z]=solve('x+a*y+a^2*z=a^3','x+b*y+b^2*z=b^3','x+c*y+c^2*z=c^3','x','y','z') x = b*c*a y = -b*a-c*b-c*a z = a+b+c 38、符号常微分方程求解 符号微分方程求解可以通过函数dsolve来实现,其调用格式为: dsolve(e, c, 'x') 求解符号表达式构成的常微分方程e,在由符号表达式给出的初值条件c下的特解,x是微分方程的自变量;如果没有给出初值条件c,则求方程的通解。 dsolve(e1, e2, …,en, c1, c2, …,cn, 'x1', 'x2', …, 'xn') 求解符号表达式构成的常微分方程组e1, e2, …,en,在由符号表达式给出的初值条件c1, c2, …,cn下的特解,x1, x2, …,xn是微分方程组的自变量;如果没有给出初值条件,则求方程组的通解。 例:求下列微分方程的解 (1)求的通解。 方程: [x,y]=dsolve('Dx=4*x-2*y','Dy=2*x-y','t') x = -1/3*C1+4/3*C1*exp(3*t)-2/3*C2*exp(3*t)+2/3*C2 y = 2/3*C1*exp(3*t)-2/3*C1+4/3*C2-1/3*C2*exp(3*t) (2)求在下的特解。 方程2: y=dsolve('Dy=2*x*y^2','y(0)=1','x') y = -1/(x^2-1) 39、测量字符串向量的维数 例:s='this', dim=size(s),得 dim= 1 4 40、给出字符串中各个字符的ASCⅡ代码的值 例如:s='this', ascCode=abs(s),得 ascCode= 116 104 105 115 41、使整数型向量、字符向量必须以字符形式显示 例如:键入setstr(ascCode),则显示结果为 ans= this 注:ascCode为上题中的ascCode 42、将数值转化成字符串 num2str函数 例如:num2str(2);结果为’2’ 43、字符串的联接 在MATLAB中,字符串的联接十分方便,其一般格式为: [字符串变量1,字符串变量2,'字符集1', '字符集2',…] 例如:若键入['圆周率为',num2str(pi)],屏幕上显示出 ans = 圆周率为3.1416 44、使用solve函数求解一般的符号代数方程组 >>[x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0') 1. 特殊变量与常数 主题词 意义 主题词 意义 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 inputname 输入参数名 NaN 非数 nargin 输入参数个数 nargout 输出参数的数目 pi 圆周率 nargoutchk 有效的输出参数数目 realmax 最大正浮点数 realmin 最小正浮点数 varargin   实际输入的参量 varargout 实际返回的参量     2. 操作符与特殊字符 主题词 意义 主题词 意义 + 加 - 减 * 矩阵乘法 .* 数组乘(对应元素相乘) ^ 矩阵幂 .^ 数组幂(各个元素求幂) \ 左除或反斜杠 / 右除或斜面杠 ./ 数组除(对应元素除) kron Kronecker张量积 : 冒号 () 圆括号 [] 方括 . 小数点 .. 父目录 ... 继续,下一行接着上一行 , 逗号(分割多条命令) ; 分号(禁止结果显示),矩阵行分割 % 注释 ! 感叹号 ' 转置或引用 = 赋值 == 相等 <>或~= 不等于 & 逻辑与 | 逻辑或   ~ 逻辑非 xor 逻辑异或          3、基本数学函数 主题词 意义 主题词 意义 abs 绝对值和复数模长 acos,acosh 反余弦,反双曲余弦 acot,acoth 反余切,反双曲余切 acsc,acsch 反余割,反双曲余割 angle 复数z的相角(Phase angle) asec,asech 反正割,反双曲正割 secant 正切 asin,asinh 反正弦,反双曲正弦 atan,atanh 反正切,双曲正切 tangent 正切 atan2 四象限反正切 ceil 向着无穷大舍入 complex   建立一个复数 conj 复数z的共轭复数 cos,cosh 余弦,双曲余弦 csc,csch 余切,双曲余切 cot,coth 余切,双曲余切 exp 指数 fix 朝0方向取整  gcd 最大公因数 lcm 最小公倍数 log 自然对数 log2 以2为底的对数 log10 常用对数 mod   有符号的求余 nchoosek 二项式系数和全部组合数 real 复数的实部 imag 复数值的虚部 rem 相除后求余 round 取整为最近的整数 sec,sech 正割,双曲正割 sign 符号数 sin,sinh 正弦,双曲正弦 sqrt 平方根 tan,tanh 正切,双曲正切 floor 朝负无穷取整        4、基本矩阵和矩阵操作 主题词 意义 主题词 意义 blkding 从输入参量建立块对角矩阵 eye 单位矩阵   linespace 产生线性间隔的向量 logspace 产生对数间隔的向量 numel 元素个数 cat 连接数组 zeros 建立一个全0矩阵 colon 等间隔向量 ones   产生全为1的数组 rand 均匀颁随机数和数组 randn 正态分布随机数和数组 diag 对角矩阵和矩阵对角线 fliplr 从左自右翻转矩阵 flipud 从上到下翻转矩阵 repmat 复制一个数组 reshape 改造矩阵 roy90 矩阵翻转90度 tril 矩阵的下三角 triu 矩阵的上三角 dot 向量点集 cross 向量叉集 ismember 检测一个集合的元素 intersect 向量的交集 setxor 向量异或集 setdiff 向是的差集 union 向量的并集     5.数值分析和傅立叶变换 主题词 意义 主题词 意义 cumprod 累积 cumsum 累加 cumtrapz 累计梯形法计算数值微分 factor 质因子 inpolygon 删除多边形区域内的点 max 最大值 mean 数组的均值 mediam 中值 min 最小值 perms 所有可能的转换 polyarea 多边形区域 primes 生成质数列表 prod 数组元素的乘积 rectint 矩形交集区域 sort 按升序排列矩阵元素 sortrows 按升序排列行   std 标准偏差   var 方差 sum 求和 trapz 梯形数值积分 del2 离散拉普拉斯 diff 差值和微分估计 gradient 数值梯度 cov 协方差矩阵 corrcoef 相关系数 conv2 二维卷积    conv 卷积和多项式乘法 deconv 反卷积和多项式除法 filter IIR或FIR滤波器 filter2 二维数字滤波器 cplxpair 将复数值分类为共轭对 fft 一维的快速傅立叶变换 fft2 二维快速傅立叶变换 fftshift 将FFT的DC分量移到频谱中心 ifft 一维快速反傅立叶变换  ifft2 二维傅立叶反变换 ifftn 多维快速傅立叶变换 ifftshift    反FFT偏移 nextpow2 最靠近的2的幂次 unwrap 校正相位角  6.多项式与插值 主题词 意义 主题词 意义 conv 卷积和多项式乘法 roots 多项式的根   poly 具有设定根的多项式 polyder 多项式微分 polyeig 多项式的特征根 polyfit 多项式拟合 polyint 解析多项式积分 polyval 多项式求值 polyvalm   矩阵变量多项式求值 residue 部分分式展开 interp1 一维插值 interp2 二维插值 interp3 三维插值 interpft 使用FFT的一维插值 interpn 多维插值 meshgrid 为3维点生成x和y的网格 ndgrid 生成多维函数和插值的数组  pchip 分段3次Hermite插值多项式 ppval 分段多项式的值 spline 3次样条数据插值               7.绘图函数 主题词 意义 主题词 意义 bar 竖直条图 barh 水平条图 hist 直方图 histc 直方图计数 hold 保持当前图形 loglog x,y 对数坐标图 pie 饼状图 plot 绘二维图 polar 极坐标图 semilogy y轴对数坐标图 semilogx x轴对数坐标 subplot 绘制子图 bar3 数值3D竖条图 bar3h 水平3D条形图 comet3 3D慧星图 cylinder   圆柱体 fill3 填充的3D多边形 plot3 3维空间绘图 quiver3 3D震动(速度)图 slice 体积薄片图 sphere 球 stem3 绘制离散表面数据 waterfall 绘制瀑布 trisurf 三角表面 clabel 增加轮廓标签到等高线图中   datetick 数据格式标记 grid 加网格线 gtext 用鼠标将文本放在2D图中 legend 图注   plotyy 左右边都绘Y轴 title 标题 xlabel X轴标签 ylabel   Y轴标签   zlabel Z轴标签 contour 等高线图 contourc 等高线计算 contourf 填充的等高线图 hidden 网格线消影 meshc 连接网格/等高线 mesh 具有参考轴的3D网格 peaks 具有两个变量的采样函数 surf 3D阴影表面图 surface 建立表面低层对象 surfc 海浪和等高线的结合 surfl 具有光照的3D阴影表面 trimesh 三角网格图
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服