ch05_符号计算.doc

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
符号计算 符号计算的优点:凭借恒等式,数学定理,通过推理和演绎,给出具有“无限尺度”描写能力的解析结果。当没有封闭解时,符号计算则妥协地给出任意精度数值解。所谓“无限尺度”是相对数值计算的“有限精度、有限空间”而言的。 MATLAB本身由数值计算引擎驱动,而没有符号演绎能力。2008年前,MATLAB的符号计算能力借助于Maple。现在,随MATLAB默认安装的符号计算引擎是MuPAD。虽然MATLAB尽力地保持着形式上的向前兼容,但引擎换装确实导致MATLAB符号计算环境发生了根本改变。本章内容完全针对MuPAD引擎的符号计算而写,分三个层面: 无需任何MuPAD知识,仅使用MATLAB符号数学工具包(Symbolic math toolbox)提供的(前台)函数实施的符号计算及仿真。本章第1节比较完整地描述了符号计算的机理、规则和帮助系统。第2到第6节所涉内容包括微积分、微分方程、积分变换、矩阵分析和代数方程。第7节代数状态方程和第8节数据探索的内容,用以表现现代计算能力对传统方法或技巧的冲击。 需要少量MuPAD知识,拓展符号计算应用范围的内容安排在第5.9节。在这一节中不仅讲述特殊函数计算,而且还介绍了如何利用符号函数产生M函数文件,如何利用符号函数制作用户所需的Simulink模块。 需要较多MuPAD知识,借助evalin和feval指令进入MuPAD空间完成符号计算。 对于那些在MATLAB中仍选择Maple符号计算引擎的读者来说,本章第一层面的内容仍可借鉴。 值得指出:随书光盘mbook目录上的“ch05_符号计算.doc”保存有本章全部算例的运作指令、计算结果和图形;mfile目录上则保存有本章算例中所有带exm前缀文件名的M文件和MEX文件。 符号对象的产生和识别 基本符号对象的创建 定义符号数字和符号常数 定义基本符号变量 定义元符号表达式 符号计算中的算符和函数指令 符号计算中的算符 符号计算中的函数指令 符号对象、变量、自由变量的识别 符号对象的识别 【例5.1-1】数据对象及其识别指令的使用。 (1) clear a=1;b=2;c=3;d=4; Mn=[a,b;c,d] Mc='[a,b;c,d]' Ms=sym(Mc) Mn = 1 2 3 4 Mc = [a,b;c,d] Ms = [ a, b] [ c, d] (2) SizeMn=size(Mn) SizeMc=size(Mc) SizeMs=size(Ms) SizeMn = 2 2 SizeMc = 1 9 SizeMs = 2 2 (3) CMn=class(Mn) CMc=class(Mc) CMs=class(Ms) CMn = double CMc = char CMs = sym (4) isa(Mn,'double') isa(Mc,'char') isa(Ms,'sym') ans = 1 ans = 1 ans = 1 (5) whos Mn Mc Ms Name Size Bytes Class Attributes Mc 1x9 18 char Mn 2x2 32 double Ms 2x2 60 sym 符号变量及自由变量的认定 【例5.1-2】基本符号变量和衍生符号表达式的定义、符号变量、自由符号变量的机器辨认。 (1) clear syms a b k t w x y z X A c=sym('22'); f=sym('M*N'); ex1=c+f+(exp(-a*t)*sin(w*t)+b*y+k*x+A*X+log(z)) ex1 = log(z) + b*y + k*x + sin(t*w)/exp(a*t) + A*X + M*N + 22 (2) symvar(ex1) %<6> ans = [ A, M, N, X, a, b, k, t, w, x, y, z] findsym(ex1) ans = A,M,N,X,a,b,k,t,w,x,y,z (3) symvar(ex1,20) %<8> ans = [ x, y,

文档评论(0)

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

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

1亿VIP精品文档

相关文档