资源描述:
《matlabppt第三讲》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三讲MATLAB的符号计算符号表达式:非数字的数学表达式。由符号常量,符号变量,符号函数,符号操作等构成。符号表达式严格按照代数,微积分等课程中的规则,公式进行运算,并尽可能给出解析表达式.一符号对象的定义二符号计算中的基本运算和函数三符号数值任意精度控制和运算四符号表达式中自由变量的确定五符号对象的操作与转换六符号函数绘图一符号对象的定义symsyms例1:y=sym(‘2*sin(x)*cos(x)’)%符号表达式ysym(‘x’,’real’)%定义一个实数的符号变量x例2:symsabcx%定义多个符号变量f=a*x^2+b*x+c%用符号变量生成符号表达式f例3
2、:syms('x','b','c','x')f=a*x^2+b*x+cargv=sym(‘arg’,flag)---按flag指定的要求把字符串‘arg’定义为符号对象argvarg=sym(‘arg’,flag)中的‘arg’是字符时,flag可取限定选项‘positive’---限定arg是“正,实”符号变量‘real’---限定arg是“实”符号变量.‘unreal’---arg是非实符号变量.附录:sym命令用法说明:syms(‘argv1’,‘argv2’,‘argvk’)---把字符argv1,argv2,argvk定义为基本符号对象symsargv1argv2
3、argvk---上述格式的简洁形式,各符号对象间不得有逗号附录:syms命令用法说明:二符号计算中的算符和基本函数由于新版matlab采用了重载技术,使得用来构成符号计算表达式的算符和基本函数,无论在形状,名称上,还是使用方法上,都与数值计算中的算符和基本函数几乎完全相同,这给编程带来了极大的方便。(2)关系运算符在符号对象的比较中,没有大于,大于等于,小于,小于等于的概念,而只有是否等于的概念.”==““~=“分别用来对算符两边的对象进行相等和不等的比较,返回为逻辑量(3)三角函数,双曲线函数以及他们的反函数除atan2只能用于数值计算外,另外的在两种运算中使用方法相同.
4、(1)基本运算符算符”+”,”-”,”*”,””,“/”,“^”分别构成矩阵的加,减,乘,左除,右除,求幂运算.算符”.*”,“./”,“.”,“.^”分别实现元素对元素的数组乘,除,求幂运算.算符”’”,“.’”分别实现矩阵的共轭转置,非共轭转置(4)指数,对数函数函数sqrt,exp,expm在两者中用法相同.符号计算中只有自然对数,而没有数值计算中的log2,log10(5)复数函数conj,imag,real,abs在两者中用法相同.但在符号计算中没有求相角的指令.(6)矩阵代数指令在符号计算中,matlab提供的常用矩阵代数指令有:diag,triu,tril
5、,inv,det,rank,rref,null,colspace,expm,poly,eig,svd例:求矩阵的行列式,逆和特征值解:symsa11a12a21a22;A=[a11,a12;a21,a22];DA=det(A),IA=inv(A),EA=eig(A)三符号数值任意精度控制和运算符号运算与数值运算的区别主要有以下几点:数值型运算每一次运算都会有一定的截断误差,重复的多次数值运算就可能会造成很大的累积误差。符号运算不会出现截断误差,符号运算可以得出完全的封闭解或任意精度的数值解。符号运算的时间较长,而数值型运算速度快。digits(n)%设置以后的数值计算以n位
6、相对精度进行xs=vpa(x)%在digits指定精度下,给出x的数值型符号结果xsxs=vpa(x,n)%在n位相对精度下,给出x的数值型符号结果xs说明:●除了vpa(x,n)对特定符号对象指定具体精度外,所有vpa(x)的精度都受到其前面的digits指令控制,digits指令缺省精度为32位●x可以是符号对象或数值对象,但运行后所得结果xs一定是符号对象1数值符号对象精度的控制:double(x)%把符号常数转化为16位相对精度的浮点数值对象符号对象转数值对象:例:x=sym('sqrt(5)')digitsdigits(12)vx=vpa(x)dx=double(
7、x)eval(x)附录:符号对象与其他数据对象间的转换数值,符号,字符是matlab中三种不同的数据类型,matlab为每种数据类型提供了各自特定的生成指令和操作指令.为实现不同数据类型间的交互,matlab提供了一系列的转换指令.数值型符号结果符号常数数值符号量(表达式)字符串(表达式)ASCII码vpadoublevpasymdoublestr2num,str2double,sscanfint2str,num2str,mat2strcharsymcharabs,doubleeval四符号表达式中自由变量的确定f