MATLAB之符号运算功能.ppt
文本预览下载声明
* §14.2 符号运算功能 一、符号表达式的生成 1.用单引号设定后输入或赋值 f=log(x) f = log(x) 2.用命令sym(生成符号对象) 例如,创建符号函数 例如,创建符号方程 eqation=sym(a*x^2+b*x+c=0) eqation = a*x^2+b*x+c=0 3.用命令sym(确定多个符号对象),可用whos检查存在的空间的各种变量及其所属类型 syms x y abcd alfa whos Name Size Bytes Class abcd 1x1 132 sym object alfa 1x1 132 sym object eqation 1x1 150 sym object f 1x6 12 char array x 1x1 126 sym object y 1x1 126 sym object Grand total is 34 elements using 678 bytes 二、符号函数的运算 1.复合函数的运算 复合函数运算可通过功能函数compose来实现,其调用格式为: (1)compose(f,g) 返回当f=f(x)和g=g(y)时的复合函数f(g(y))。 (2)compose(f,g,z) 返回复合函数以z为自变量。 (3)compose(f,g,x,z) 返回复合函数f(g(z)),且使x为f的独立变量。 例如 syms x y z t f=1/(1+x^2); g=sin(y); h=x^t; compose(f,g) ans = 1/(1+sin(y)^2) compose(f,g,z) ans = 1/(1+sin(z)^2) compose(h,g,x,z) ans = sin(z)^t 2.反函数的运算 反函数运算可通过功能函数finverse(f)来实现,其调用格式为: (1)g=finverse(f) 符号函数f的反函数。 (2)g=finverse(f,z) 返回符号函数的自变量为z。 f=x^3+y; finverse(f,y) ans = -x^3+y finverse(f) Warning: finverse(x^3+y) is not unique. In C:\MATLAB6P1\toolbox\symbolic\@sym\finverse.m at line 43 ans = (-y+x)^(1/3) 三、符号的矩阵的创立与运算 1.符号矩阵的创立 符号矩阵的创立与和创立数值矩阵的方法相似,只不过要用到符号定义函数sym。我们可以使用sym函数直接建立符号矩阵;可以通过建立子矩阵的方法建立符号矩阵;也可以使用sym函数将数值矩阵转化为符号矩阵。 a=sym([1 1/s+x sin(x);y/x 1+1/y,tan(x+y);3+4,exp(x^2+y^2),log(tanh(y))]) a = [ 1, 1/s+x, sin(x)] [ y/x, 1+1/y, tan(x+y)] [ 3+4, exp(x^2+y^2), log(tanh(y))] b=[1 2 3 5;7 9 10 11;13 15 17 18]; c=sym(b) c = [ 1, 2, 3, 5] [ 7, 9, 10, 11] [ 13, 15, 17, 18] 2.符号矩阵的运算 符号矩阵的运算与数值矩阵的运算相同 (1)四则运算: a=sym([1/x 1/(x+1);1/(x+2) 1/(x+3)]); b=sym([x,1;x+2,0]); a\b ans = [ -6*x-2*x^3-7*x^2, 3/2*x^2+x+1/2*x^3] [ 6+2*x^3+10*x^2+14*x, -1/2*x^3-2*x^2-3/2*x] (2)求逆运算“inv”,行列式运算“det”,幂运算“^”、求秩运算“rank”、指数运算“exp”和对数运算“log” inv(a) ans = [ 1/2*x*(x+1)*(x+2), -1/2*
显示全部