资源描述:
《《符号数学基础》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章符号数学基础(符号计算)一、符号对象和符号表达式在MATLAB中,数值和数值变量用于数值的存储和各种数值计算,而符号常数、符号变量、符号函数、符号操作等则是用来形成符号表达式,严格按照代数、微积分等课程中的规则、公式进行运算,并尽可能给出解析表达式结果。(一)符号对象的生成和使用凡进行过数值计算的人都知道:数值表达式所用的变量必须事先被赋过值,否则该表达式无法计算。SymbolicMathToolbox2.1版沿用数值计算的这种模式,规定:在进行符号计算时,首先要定义基本的符号对象(可以是常数、变量、表达式),然后利用这些基本符号对象去构成新的表达式,进而从事所需的符号运算。
2、在运算中,凡是由包含符号对象的表达式所生成的衍生对象也都是符号对象。定义基本符号对象的指令定义基本符号对象的指令定义基本符号对象的指令有两个:sym,syms.它们的常用使用格式如下:f=sym(arg)把数字、字符串或表达式arg转换为符号对象ff=sym(argn,flagn)把数值或数值表达式argn转换为flagn格式的符号对象argv=sym(‘argv’,flagv)按flagv指定的要求把字符串‘argv’定义为符号对象argvsyms(‘argv1’,’argv2’,’argvk’)把字符argv1,argv2,argvk定义为基本符号对象symsargv1argv
3、2argvk上述格式的简洁形式例例1:符号常数形成中的差异a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)]a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)])a3=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]')例2:把字符表达式转换为符号变量y=sym('2*sin(x)*cos(x)')y=simple(y)(二)符号计算中的算符和基本函数基本运算符算符“+”、“-”、“*”、“”、“/”、“^”分别实现矩阵的加、减、乘、左除、右除、求幂运算。算符“.*”、“.”、“./”、“.^”分别实现“元素对元素”的数组乘
4、、左除、右除、求幂运算。算符“’”、“.’”分别实现矩阵的共轭转置、非共轭转置。关系运算符算符“==”、“~=”分别对算符两边的对象进行“相等”、“不等”的比较。当事实为“真”时,比较结果用1表示;当事实为“假”时,比较结果则用0表示。三角函数、双曲函数及它们的反函数除atan2仅能用于数值计算外,其余的三角函数(如sin)、双曲函数(如cosh)及它们的反函数(如asin,acosh),无论在数值计算还是符号计算中,它们的使用方法相同。指数、对数函数在数值、符号计算中,函数sqrt、exp、expm的使用方法完全相同。至于对数函数,符号计算中只有自然对数log(在一般教科书中用l
5、n),而没有数值计算中的log2,log10。复数函数涉及复数的共轭conj、求实部real、求虚部imag和求模abs函数,在符号、数值计算中的使用方法相同。但注意,在符号计算中,MATLAB没有提供求相角的指令。矩阵代数指令在符号计算中,MATLAB提供的常用矩阵代数指令有diag,triu,tril,inv,det,rank,rref,null,colspace,poly,expm,eig,svd。它们的用法几乎与数值计算中的情况完全一样,只有svd稍微不同。(三)识别对象类别的指令数值计算对象、符号计算对象、字符串是MATLAB中最常遇到的数据对象。它们遵循着各自不同的运算
6、法则,但有时在外形上却十分相似。为管理和使用方便,MATLAB提供了一些识别不同数据对象的指令,常用的有class,isa,whos等。例:数据对象及其识别指令的使用。(四)符号表达式中默认符号变量(自由变量)的确定为符号操作和计算的需要,MATLAB提供一个findsym指令,可实现对表达式中所有自由符号变量或指定数目的独立自变量的自动认定。findsym(EXPR)确认表达式EXPR中所有“自由”符号“变量”findsym(EXPR,N)从表达式EXPR中确认出靠x最近的N个独立自变量。注:EXPR可以是符号矩阵。此时,该指令对自由变量的确认是对整个矩阵进行的,而不是对矩阵元素
7、逐个进行的。按照自然科学中的习惯,findsym(EXPR,N)把EXPR表达式中N个最靠近x的自由符号变量确认为“独立自由变量”。注意字母的大小写。在此认为大写字母离小写x的距离总大于所有小写字母离x的距离。二、符号对象的操作和转换(一)符号表达式的操作符号运算中有许多操作指令,如collect(合并同类项)、expand(对指定项展开)、factor(进行因式或因子分解)、horner(转换成嵌套形式)、numden(提取公因式)、simplify(恒等式简化)、