Matlab课件第三讲符号计算.ppt
第三讲第三讲 MATLAB符号计算符号计算3.1 符号计算基础符号计算基础 3.2 符号函数运算符号函数运算3.3 符号方程和符号微分方程符号方程和符号微分方程3.4 符号级数运算符号级数运算3.1 符号计算基础符号计算基础n符号类:符号类:sym类,符号类的实例即符号对象类,符号类的实例即符号对象n符号对象:符号对象:符号变量、符号常量、符号表达式符号变量、符号常量、符号表达式n1.建立符号变量和符号常数建立符号变量和符号常数 1)用函数)用函数sym()表示。)表示。2)用命令)用命令syms表示多个变量。表示多个变量。n2.建立符号表达式:包括代数式、符号方程、建立符号表达式:包括代数式、符号方程、符号矩阵等。符号矩阵等。n3.基本符号运算基本符号运算与数值运算的区别与数值运算的区别 数值运算中必须先对变量赋值数值运算中必须先对变量赋值,然后才能,然后才能参与运算。参与运算。符号运算无须事先对独立变量赋值符号运算无须事先对独立变量赋值,运算,运算结果以标准的符号形式表达。结果以标准的符号形式表达。1)符号表达式的四则运算:符号表达式的四则运算:同数字运算同数字运算如:如:syms x y z;f=2*x+x2*x-5*x+x3 f=2*x/(5*x)f=(x+y)*(x-y)f=-3*x+2*x3f=2/5f=(x+y)*(x-y)2 2)符号矩阵建立)符号矩阵建立数值矩阵数值矩阵A=1,2;3,4 A=a,b;c,d 不识别不识别用用matlabmatlab函数函数symsym创建矩阵创建矩阵命令格式:命令格式:A=sym()3 3)因式分解与展开)因式分解与展开 若若S S为符号表达式或符号矩阵。为符号表达式或符号矩阵。factor(Sfactor(S)对对S S分解因式分解因式expand(Sexpand(S)对对S S进行展开进行展开collect(Scollect(S)对对S S合并同类项合并同类项collect(S,vcollect(S,v)对对S S按变量按变量v v合并同类项合并同类项simple(Ssimple(S)调用调用MATLABMATLAB的其他函数对的其他函数对S S进行综进行综合化简,并显示化简过程合化简,并显示化简过程simplify(Ssimplify(S)应用函数规则对应用函数规则对S S化简化简(ex01.m)3.2 符号函数运算符号函数运算对符号函数进行运算,首先必须:对符号函数进行运算,首先必须:(1)定义符号变量)定义符号变量 (2)定义符号函数)定义符号函数注意:定义符号函数之前必须先定义符号变量注意:定义符号函数之前必须先定义符号变量 1.1.符号表达式中变量确定符号表达式中变量确定findsym(S,n)查找函数查找函数f中的符号变量,中的符号变量,n是查找变量的个数是查找变量的个数2.函数求极限函数求极限表达式表达式输入命令格式输入命令格式备注备注limit(f,x,a)若若a=0,且是对且是对x求极限,求极限,可简写为可简写为limit(f)limit(f,x,a,left)趋于趋于a的左极限的左极限limit(f,x,a,right)趋于趋于a的右极限的右极限例:求例:求ex02.m3.符号函数微分与积分符号函数微分与积分 1)导数:)导数:diff(f,x,n),n阶导数,缺省值是阶导数,缺省值是1 2)不定积分:)不定积分:int(f,x)3)定积分:)定积分:int(f,x,a,b)求求的导数和的导数和0,1区间上的积区间上的积分分ex03.m3.3 求解符号方程和符号微分方程求解符号方程和符号微分方程1.符号代数方程(组)的求解符号代数方程(组)的求解solve1)定义符号变量)定义符号变量 2)定义符号方程组)定义符号方程组格式格式1:x1,x2,xn=solve(eq1,eq2,eqn,x1,x2,xn)格式格式2:V=solve(eq1,eq2,eqn,x1,x2,xn)eq1,eq2,eqn为符号方程,为符号方程,x1,x2,xn为符为符号变量号变量求解方程组求解方程组ex04.m2.符号微分方程的求解符号微分方程的求解dsolve格式格式1:y1,y2,yn=dsolve(方程方程1,方程方程2,条件条件1,条件条件2,自变量自变量)格式格式2:S=dsolve(方程方程1,方程方程2,条件条件1,条件条件2,自变量自变量)注:当自变量和初条件省略时,默认自变量为注:当自变量和初条件省略时,默认自变量为t,并含有积分常数并含有积分常数微分符以大写字母微分符以大写字母D表示,高阶为表示,高阶为D2,D3(1)求解微分方程)求解微分方程(ex05.m)(2)求解微分方程组)求解微分方程组(ex06.m)需要注意,不是任需要注意,不是任何微分方程都能进何微分方程都能进行符号微分方程的行符号微分方程的求解。无解析解的求解。无解析解的微分方程要用数值微分方程要用数值求解方法进行求解方法进行3.符号变量与数值变量的转换符号变量与数值变量的转换 符号变量的运算结果仍是符号变量,需数值转换符号变量的运算结果仍是符号变量,需数值转换1)vpa(f,d):将符号函数进行数值转换,有效位为将符号函数进行数值转换,有效位为d2)double(f)将不含自由变量的符号函数将不含自由变量的符号函数f作数值变换,作数值变换,有效位固定为有效位固定为5位位注意:符号函数中的自由变量指只含阿拉伯数值字符的注意:符号函数中的自由变量指只含阿拉伯数值字符的符号变量符号变量求下列函数的根求下列函数的根(ex07.m)3.4 符号级数运算符号级数运算1)符号的级数求和)符号的级数求和(ex08.m)symsum(s,v,a,b)v是求和变量,是求和变量,a和和b分别分别为开始项和结束项为开始项和结束项2)函数的泰勒级数)函数的泰勒级数taylor(f,v,n,a)将函数将函数f按变量按变量v展开为泰勒级展开为泰勒级数,展开到第数,展开到第n项(也就是项(也就是n-1次幂)次幂)