第9章 MATLAB符号计算 91符号对象 92符号微积分 93级数 94符号方程求解
第9章 MATLAB符号计算 9.1 符号对象 9.2 符号微积分 9.3 级 数 9.4 符号方程求解
91符号对象 91建立符号对象 1.建立符号变量和符号常量 MATLAB提供了两个建立符号对象的函数:sym和 syms,两个函数的用法不同。 (1)sym函数 Sym函数用来建立单个符号量,一般调用格式为: 符号量名=sym(符号字符串) 该函数可以建立一个符号量,符号字符串可以是常 量、变量、函数或表达式。 应用sym函数还可以定义符号常量,使用符号常量 进行代数运算时和数值常量进行的运算不同。下 面的命令用于比较符号常量与数值常量在代数运 算时的差别
9.1 符号对象 9.1.1 建立符号对象 1.建立符号变量和符号常量 MATLAB提供了两个建立符号对象的函数:sym和 syms,两个函数的用法不同。 (1) sym函数 sym函数用来建立单个符号量,一般调用格式为: 符号量名=sym('符号字符串') 该函数可以建立一个符号量,符号字符串可以是常 量、变量、函数或表达式。 应用sym函数还可以定义符号常量,使用符号常量 进行代数运算时和数值常量进行的运算不同。下 面的命令用于比较符号常量与数值常量在代数运 算时的差别
(2)syms函数 函数sym一次只能定义一个符号变量,使用不方便 MATLAB提供了另一个函数syms,一次可以定义 多个符号变量。syms函数的一般调用格式为 syms符号变量名1符号变量名2….符号变量名m 用这种格式定义符号变量时不要在变量名上加字符 串分界符(),变量间用空格而不要用逗号分隔
(2) syms函数 函数sym一次只能定义一个符号变量,使用不方便。 MATLAB提供了另一个函数syms,一次可以定义 多个符号变量。syms函数的一般调用格式为: syms 符号变量名1 符号变量名2 … 符号变量名n 用这种格式定义符号变量时不要在变量名上加字符 串分界符(‘),变量间用空格而不要用逗号分隔
2.建立符号表达式 含有符号对象的表达式称为符号表达式。建立符号表达式有 以下3种方法: (1)利用单引号来生成符号表达式。 (2)用sm函数建立符号表达式。 (3)使用已经定义的符号变量组成符号表达式
2.建立符号表达式 含有符号对象的表达式称为符号表达式。建立符号表达式有 以下3种方法: (1)利用单引号来生成符号表达式。 (2)用sym函数建立符号表达式。 (3) 使用已经定义的符号变量组成符号表达式
912符号表达式运算 1.符号表达式的四则运算 符号表达式的加、减、乘、除运算可分别由函数 symadd symsub、 sammul和 samiⅳv来实现,幂运算可以由 sympow 来实现。 2.符号表达式的提取分子和分母运算 如果符号表达式是一个有理分式或可以展开为有理分式,可 利用 numden函数来提取符号表达式中的分子或分母。其 般调用格式为: In, d=numden(s) 该函数提取符号表达式s的分子和分母,分别将它们存放在n 与d中
9.1.2 符号表达式运算 1.符号表达式的四则运算 符号表达式的加、减、乘、除运算可分别由函数symadd、 symsub、symmul和symdiv来实现,幂运算可以由sympow 来实现。 2.符号表达式的提取分子和分母运算 如果符号表达式是一个有理分式或可以展开为有理分式,可 利用numden函数来提取符号表达式中的分子或分母。其 一般调用格式为: [n,d]=numden(s) 该函数提取符号表达式s的分子和分母,分别将它们存放在n 与d中
3.符号表达式的因式分解与展开 MATLAB提供了符号表达式的因式分解与展开的函数,函 数的调用格式为: factor(s):对符号表达式s分解因式。 expand(s):对符号表达式s进行展开。 collect(s):对符号表达式s合并同类项。 collect(s,v):对符号表达式s按变量v合并同类项
3.符号表达式的因式分解与展开 MATLAB提供了符号表达式的因式分解与展开的函数,函 数的调用格式为: factor(s):对符号表达式s分解因式。 expand(s):对符号表达式s进行展开。 collect(s):对符号表达式s合并同类项。 collect(s,v):对符号表达式s按变量v合并同类项
4.符号表达式的化简 MATLAB提供的对符号表达式化简的函数有: simplify(s):应用函数规则对s进行化简。 simple(s):调用 MATLAB的其他函数对表达式进行综合化简, 并显示化简过程
4.符号表达式的化简 MATLAB提供的对符号表达式化简的函数有: simplify(s):应用函数规则对s进行化简。 simple(s):调用MATLAB的其他函数对表达式进行综合化简, 并显示化简过程
5.符号表达式与数值表达式之间的转换 利用函数sym可以将数值表达式变换成它的符号表达式。 函数 numeric或eva可以将符号表达式变换成数值表达式
5.符号表达式与数值表达式之间的转换 利用函数sym可以将数值表达式变换成它的符号表达式。 函数numeric或eval可以将符号表达式变换成数值表达式
913符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常量。 finds 可以帮助用户查找一个符号表达式中的的符号变量。该函 数的调用格式为: findsym(s, n) 函数返回符号表达式s中的n个符号变量,若没有指定n,则 返回s中的全部符号变量
9.1.3 符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常量。findsym 可以帮助用户查找一个符号表达式中的的符号变量。该函 数的调用格式为: findsym(s,n) 函数返回符号表达式s中的n个符号变量,若没有指定n,则 返回s中的全部符号变量
914符号矩阵 符号矩阵也是一种符号表达式,所以前面介绍的符 号表达式运算都可以在矩阵意义下进行。但应注 意这些函数作用于符号矩阵时,是分别作用于矩 阵的每一个元素。 由于符号矩阵是一个矩阵,所以符号矩阵还能进行 有关矩阵的运算。 MATLAB还有一些专用于狩号 矩阵的函数,这些函数作用于单个的数据无意义。 例如 transpose(s:返回s矩阵的转置矩阵。 determ(s):返回s矩阵的行列式值 其实,曾介绍过的许多应用于数值矩阵的函数,如 dias triu、tri、inv、det、rank、eig等,也可 直接应用于符号矩阵
9.1.4 符号矩阵 符号矩阵也是一种符号表达式,所以前面介绍的符 号表达式运算都可以在矩阵意义下进行。但应注 意这些函数作用于符号矩阵时,是分别作用于矩 阵的每一个元素。 由于符号矩阵是一个矩阵,所以符号矩阵还能进行 有关矩阵的运算。MATLAB还有一些专用于符号 矩阵的函数,这些函数作用于单个的数据无意义。 例如 transpose(s):返回s矩阵的转置矩阵。 determ(s):返回s矩阵的行列式值。 其实,曾介绍过的许多应用于数值矩阵的函数,如 diag、triu、tril、inv、det、rank、eig等,也可 直接应用于符号矩阵