第2讲(2) matlab的符号运算

第2讲(2) matlab的符号运算

ID:14171797

大小:165.50 KB

页数:14页

时间:2018-07-26

第2讲(2) matlab的符号运算_第1页
第2讲(2) matlab的符号运算_第2页
第2讲(2) matlab的符号运算_第3页
第2讲(2) matlab的符号运算_第4页
第2讲(2) matlab的符号运算_第5页
资源描述:

《第2讲(2) matlab的符号运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2讲(2)MATLAB的符号运算(注:文中红色字体为命令执行的结果,在Command窗口中显示)3-1符号对象的创建和使用1.符号运算入门符号运算的特点是,运算过程中允许存在非数值的符号变量。先看如下示例:函数,用MATLAB求它的微积分,命令如下:f='sin(x)^2';%定义符号函数f(x)dfdx=diff(f)%求的指令intf=int(f)%求的指令显示的计算结果为:dfdx=2*sin(x)*cos(x)intf=-1/2sin(x)*cos(x)+1/2*x所以,,。此例中,首先定义符号函数f=’sin(x)^2’,然后由符号运算获得的

2、微分和积分。2.定义符号变量在使用符号变量之前,应先声明某些要用到的变量是“符号”变量。声明符号变量的语句:syms变量名列表或:sym(‘变量名’)其中各个变量名应该用空格分隔,而不能用逗号分隔。如创建符号变量x和a:x=sym(‘x’)a=sym(‘alpha’)或用:symsxa%定义符号变量x和a这里,变量x和a的类型是符号对象,它们被定义后,即可参与符号运算。3.定义符号表达式和符号方程符号表达式和符号方程是两种不同的操作对象。区别在于:符号表达式不包含等号(=),而符号方程须带等号。它们的创建方式相同。如:要考虑二次函数f=ax^2+bx+c

3、,可以创建符号表达式,赋值给符号变量f。f=sym(‘a*x^2+b*x+c’)14或:f=‘a*x^2+b*x+c’此例中,将符号表达式赋给符号变量f,但这不是必需的,引入符号变量是为了以后调用方便。在这种情况下,没有创建对应于表达式中a、b、c、x项的变量,为了执行符号数学运算(如微分、积分等),必须显式地创建这些变量,可用下列命令创建:symsabcx如下例中创建了符号表达式和符号方程,分别赋给相应的符号对象。symsxabcf='sin(x)^2';%创建符号表达式sin(x)^2赋给变量feq='a*x^2+b*x+c=0'%创建的符号方程赋给

4、变量eq4.定义抽象函数和符号数学函数若要创建抽象函数f(x),可使用:f=sym(‘f(x)’)则f就象f(x)一样参与运算。在SymbolicMathToolbox中可利用符号表达式创建符号数学函数。如下面的命令将产生符号表达式r、t、f:symsxyzr=sqrt(x^2+y^2+z^2)%或r=sym(‘sqrt(x^2+y^2+z^2)’)t=atan(y/x)f=sin(x*y)/(x*y)3-2数值与符号的转换Sym函数有四种选项将数值结果转换为符号表达式。如对于变量rho,定义为:,在MATLAB命令窗口中定义rho:rho=(1+sqr

5、t(5))/2将这一数值结果转化为符号表达式:(1)sym(rho,’f’)返回符号浮点表示形式,结果为:sym(rho,’f’)ans=‘1.9e3779b97f4a8’*2^(0)(2)sym(rho,’r’)返回符号有理数表示形式,这是sym的默认设置,当调用sym而没有第二个参数时,相当于sym使用了r选项。结果为:sym(rho,’r’)ans=7286977268806824*2^(-52)14例如:sym(0.75)ans=3/4(3)sym(rho,’e’)返回符号有理数表示形式,同时根据eps给出rho的理论表达式和实际计算的差。sym

6、(rho,’e’)ans=7286977268806824*2^(-52)这里,rho的理论值和实际浮点值相同,对于1/3,可得:sym(1/3,’e’)ans=1/3-eps/12(4)sym(rho,’d’)返回符号十进制小数表示形式。有效位数由digits定义。Digits的默认值是32位。sym(rho,’d’)ans=1.6180339887498949025257388711907如果想要一个较短的结果,可由digits定义有效位数。digits(5)sym(rho,’d’)ans=1.6180上述四种格式中,最后得到的都是符号对象变量。3-

7、3符号算术运算1.定义符号矩阵MATLAB中的数值矩阵不能直接参与符号运算,必须经过转换。Sym函数的一个非常有用的功能就是将数值矩阵转换成符号矩阵。例如,下面的代码将产生一个3×3的Hilbert矩阵。A=hilb(3)A=1.00000.50000.33330.50000.33330.25000.33330.25000.2000对A使用sym命令可获得一个具有无穷精度的3×3的符号形式的矩。A=sym(A)A=[1,1/2,1/3][1/2,1/3,1/4][1/3,1/4,1/5]14当调用SymbolicMathToolbox时,默认地调用有理算

8、术运算。当使用sym函数创建符号变量时,有理算术运算将被启动。例如,对于双精度矩

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。