Bootstrap

Matlab编程资源库(17)符号对象

一、建立符号对象

1 .建立符号变量和符号常量
       MATLAB 提供了两个建立符号对象的函数: sym syms ,两个函数的用法不同。
(1) sym 函数
       sym 函数用来建立单个符号量,一般调用格式为:
符号量名 =sym(' 符号字符串 ')
       该函数可以建立一个符号量,符号字符串可以是常 量、变量、函数或表达式。
应用 sym 函数还可以定义符号常量,使用符号常量 进行代数运算时和数值常量进行的运算不同。
(2) syms 函数
       函数 sym 一次只能定义一个符号变量,使用不方便。 MATLAB 提供了另一个函数 syms 一次可以定义多个符号变量 syms 函数的一般调用格式为:
syms 符号变量名 1 符号变量名 2 … 符号变量名 n
       用这种格式定义符号变量时不要在变量名上加字符 串分界符 (‘) ,变量间用空格而不要用逗号分隔。
2 .建立符号表达式
含有符号对象的表达式称为符号表达式。建立符号表达式有以下3 种方法:
(1) 利用单引号来生成符号表达式。
(2) sym 函数建立符号表达式。
(3) 使用已经定义的符号变量组成符号表达式。

二、符号表达式运算

1 .符号表达式的四则运算
       符号表达式的加、减、 、除运算可分别由函数 symadd symsub sym mul symdiv 来实现, 幂运算 可以由 sym pow 来实现。
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 合并同类项
4 .符号表达式的化简
       MATLAB 提供的对符号表达式化简的函数有:
simplify (s) :应用函数规则对 s 进行 化简
simple(s) :调用 MATLAB 的其他函数对表达式进行综合化 简,并显示化简过程。
5 .符号表达式与数值表达式之间的转换
       利用函数 sym 可以将数值表达式变换成它的符号表达式, 函数 numericeval 可以将符号表达式变换成数值表达式

三、符号表达式中变量的确定

        MATLAB 中的符号可以表示符号变量和符号常量。 findsym 可以帮助用户查找一个符号表达式中的的符号变量。该函 数的调用格式为:
findsym(s,n)
        函数返回符号表达式 s 中的 n 个符号变量,若没有指定 n ,则 返回 s 中的全部符号变量。

四、符号矩阵

       符号矩阵也是一种符号表达式,所以前面介绍的符 号表达式运算都可以在矩阵意义下进行。但应注意这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元素。
       由于符号矩阵是一个矩阵,所以符号矩阵还能进行 有关矩阵的运算。 MATLAB 还有一些专用于符号 矩阵的函数,这些函数作用于单个的数据无意义。 例如
transpose (s) :返回 s 矩阵的 转置矩阵
determ (s) :返回 s 矩阵的 行列式值
       其实,曾介绍过的许多应用于数值矩阵的函数,如 diag triu tril inv det rank eig 等,也可 直接应用于符号矩阵。

 结语  

停止奋斗

生命也就停止了

只有不断努力奋斗

才能让生命焕发出更加绚丽的光彩

!!!

;