第4章 符号运算new.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 符号运算new.ppt

21 目标 掌握符号表达式的建立,代数运算,操作和转换 掌握符号极限、微积分和级数求和 掌握符号积分变换 掌握符号方程的求解 什么是符号运算 符号计算:解数学表达式、方程时,不是在离散化的数值点上进行的,而是凭借一系列恒等式和数学定理,通过推理和演绎,获得解析结果。 MATLAB具有符号数学工具箱(Symbolic Math Toolbox) 。 符号计算是可以对未赋值的符号对象(可以是常数、变量、表达式)进行运算和处理。 符号运算与数值运算的区别 符号运算与数值运算的区别: ※ 数值运算中必须先对变量赋值,然后才能参与运算。 ※ 符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。 符号运算的功能 符号线性代数(linear algebra) 因式分解、展开和简化(simplification and substitution) 符号代数方程求解(solving equations) 符号微积分(Calculus) 符号微分方程 创建符号数字 符号数字:符号运算中需要参与计算的数字完全正确,为了区别于数字的一般有限字长记录,从而引进符号数字 sym(‘数字’) %创建符号数字 sym(数字,参数) %按某种格式转换为符号数字 说明:参数可以选择为’d’、’f’、’e’或’r’ 四种格式,也可省略。 EX: a=sym(sin(2)) a=sym(sin(2),r) ‘r’广义有理表达 ‘d’ “十进制浮点”近似表达 ‘e’带eps误差的理性近似表达 ‘f’十六进制浮点近似表达 创建符号变量和表达式 1. 使用sym命令创建符号变量和表达式 sym(‘变量/表达式’) %把变量/表达式定义为符号对象 2.使用syms命令创建符号变量 syms(‘arg1’, ‘arg2’, …, ‘argn’ ) syms arg1 arg2 … arg2n   创建符号变量和表达式 例如: f1=sym(a*x^2+b*x+c) %创建表达式 syms a b c x %创建变量 f2=a*x^2+b*x+c %创建表达式 syms(a,b,c,x) f3=a*x^2+b*x+c 创建符号矩阵 例如,使用sym命令创建的符号矩阵: A=sym([a,b;c,d]) 例如,使用syms命令创建相同的符号矩阵: syms a b c d A=[a b;c d] 比较符号矩阵与字符串矩阵 : B=‘[a,b;c,d]’ %创建字符串矩阵 C=sym(‘[a,b;c,d]’) %创建符号矩阵 符号表达式的代数运算 由于MATLAB采用了重载技术,使得符号表达式的运算符和基本函数都与数值计算中的几乎完全相同 。 例如: A+2 A.’ det(A) A.^2 符号运算中的运算符 (1)算术运算符 运算符“+”,“-”,“*”,“\”,“/”,“^”分别实现符号矩阵的加、减、乘、左除、右除、求幂运算。 运算符“.*”,“./”,“.\”,“.^”分别实现符号数组的乘、除、求幂,即数组间元素与元素的运算。 运算符“′”,“.′”分别实现符号矩阵的共轭转置、非共轭转置。 (2)关系运算符 运算符“= =”、“~=”分别对运算符两边的符号对象进行“相等”、“不等”的比较。 符号运算中的运算符 2. 函数运算符 三角函数和双曲函数及反函数(除atan2外) 指数和对数函数(如exp,expm) 复数函数(没有幅角函数angle) 矩阵分解函数(如eig,svd) 方程求解函数solve 微积分函数(如diff,int) 积分函数和反变换函数(如laplace,ilaplace) 绘图函数(如ezplot,ezsurf) 符号数值任意精度控制和运算 在Symbolic Math Toolbox中有三种不同的算术运算: 数值型:MATLAB的浮点运算。 有理数型:Maple的精确符号运算。 VPA型:Maple的任意精度运算。 任意精度的VPA型运算可以使用digits和vpa命令来实现。 digits(n) %设定默认的精度 S=vpa(s,n) %将s表示为n位有效位数的符号对象 符号数值任意精度控制和运算 [例] digits,vpa指令的使用 digits p0=sym((1+sqrt(5))/2); p1=sym((1+sqrt(5))/2); e01=vpa(abs(p0-p1)) Digits=32 p0 =(1+sqrt(5))/2 p1 =7286977268806824*2^(-52) e01 =5.432115265842

文档评论(0)

xinshengwencai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档