logo资料库

matlab常用函数大全,已整理!.docx

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
1、求组合数
2、求阶乘
3、求全排列
4、求指数
5、求行列式
6、求矩阵的转置
7、求向量的指数
8、求自然对数
9、求矩阵的逆矩阵
10、多项式的乘法运算
11、多项式除法
12、求一个向量的最大值
13、求矩阵的最大值和最小值
14、求和与求积
15、平均值、标准方差
16、相关系数
17、排序
18、多项式的求导
19、多项式的求值
20、多项式的求根
21、单变量非线性方程的求根
22、求单变量函数的最小值点
23、求多变量函数的最小值点
24、求函数的最大值点
25、建立单个符号量(sym函数)
26、建立多个符号量(syms函数)
27、建立符号表达式
28、符号表达式中变量的确定
29、符号表达式四则运算
30、符号表达式的因式分解与展开
31、符号表达式与数值表达式之间的转换
32、符号极限
33、符号导数
34、符号积分
35、符号级数
36、函数的泰勒展开
37、符号方程求解
38、符号常微分方程求解
39、测量字符串向量的维数
40、给出字符串中各个字符的ASCⅡ代码的值
41、使整数型向量、字符向量必须以字符形式显示
42、将数值转化成字符串
43、字符串的联接
44、使用solve函数求解一般的符号代数方程组
1、 求 组 合 数 求 k nC ,则输入: 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 3 2 2 1 1 2 1 3 1 2 3 1 2 1 3 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 求多项式 4 x 38 x  和 22 10 x x  的乘积。 3 命令如下: 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 求多项式 4 x 38 x  除以多项式 22 10 x x  的结果。 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 时,按 1 计算标准方差;当 flag=1 时,按 2 计算方差。 缺省 flag=0,dim=1。 16、 相 关 系 数 对于两组数 据序列 x  [ , x x 1 2 ,  , x ]n , y  [ , y y 1 2 ,  , y ]n ,其相关系 数的计算,
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 是导函数的分子、分母。 1 x  x   3 2 x 的导函数。 例: 求有理分式 ( ) f x  命令如下: p1=[1,-1]; p2=[1,-1,3]; [p,q]=polyder(p1,p2) 19、 多 项 式 的 求 值 polyval 函数用来求代数多项式的值,其调用格式为: y=polyval(p,x) 若 x 为一数值,则求多项式在该点的值;若 x 为向量,则对向量中的每个元素求其多项 式的值。 例: 求多项式 ( ) p x  2 x  2 x 1  在点 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 x  3 x 2  6 x  11 x  的根。 6 命令如下: 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 最近的那个根。   在 0 2 0 x  附近的根。 0.5 例: 求函数 ( ) f x x  10 x 命令如下: fzero('x-10^x+2',0.5) ans = 0.3758 22、 求 单 变 量 函 数 的 最 小 值 点 其调用格式为: x=fminbnd(‘fname’,x1,x2) 这里,fname 是目标函数名,x1 和 x2 限定自变量的取值范围,而 x0 是搜索起点的坐标。 例:求一元函数 ( ) f x  3 x  2 x  在[0,5]内的最小值点。 5 命令如下: fminbnd('x^3-2*x-5', 0, 5) ans = 0.8165 23、 求 多 变 量 函 数 的 最 小 值 点 其调用格式为: x=fminsearch(‘fname’,x0) 例: 求多元函数 ( , , ) f x y z   x y 4 2 x  2 z y  在 2 z ( 1 1 1 , 2 2 2 , ) 附近的最小值。 建立函数文件 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'); 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 %定义符号变量 a,b %定义符号常量 %定义数值常量 %符号计算 %数值计算 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、 符 号 表 达 式 中 变 量 的 确 定 %定义 4 个符号变量 %定义 1 个符号常量 利用函数 findsym(s)可以确定符号表达式 s 中的全部符号变量。例如: syms a b x y; c=sym('3'); 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
分享到:
收藏