Matlab04--Matlab符号运算.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学软件 Matlab 主要内容 符号运算 Matlab 符号运算 符号运算举例 内容提要 符号对象 符号对象的建立 符号对象的建立 符号表达式 基本符号运算 符号矩阵 内容提要 symvar subs subs 举例 vpa 内容提要 因式分解 函数简化 函数简化 计算极限 计算导数 计算积分 符号级数求和 代数方程求解 微分方程求解 dsolve 求解析解 dsolve 的使用 dsolve 的使用 dsolve 的使用 求微分方程数值解*(自学,选学) Matlab的ODE求解器*(自学,选学) 参数说明*(自学,选学) 上机作业 例3:求微分方程组 在初值条件 下的特解,并画出解函数的图形。 [x,y]=dsolve(Dx+5*x+y=exp(t),Dy-x-3*y=0, ... x(0)=1, y(0)=0, t) ezplot(x,y,[0,1.3]); 注:解微分方程组时,如果所给的输出个数与方程个数相同,则方程组的解按词典顺序输出;如果只给一个输出,则输出的是一个包含解的结构(structure)类型的数据。 例: [x,y]=dsolve(Dx+5*x=0,Dy-3*y=0, ... x(0)=1, y(0)=1,t) r = dsolve(Dx+5*x=0,Dy-3*y=0, ... x(0)=1, y(0)=1,t) 这里返回的 r 是一个 结构类型 的数据 r.x %查看解函数 x(t) r.y %查看解函数 y(t) 只有很少一部分微分方程(组)能求出解析解。 大部分微分方程(组)只能利用数值方法求数值解。 dsolve的输出个数只能为一个 或 与方程个数相等 [T,Y] = solver(odefun,tspan,y0) 其中 y0 为初值条件,tspan为求解区间;Matlab在数值求解时自动对求解区间进行分割,T (列向量) 中返回的是分割点的值(自变量),Y (数组) 中返回的是这些分割点上的近似解,其列数等于因变量的个数。 solver 为Matlab的ODE求解器(可以是 ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb) 没有一种算法可以有效地解决所有的 ODE 问题,因此MATLAB 提供了多种ODE求解器,对于不同的ODE,可以调用不同的求解器。 使用于精度较低的情形 单步法;2,3 阶 R-K 方法;累计截断误差为 (△x)3 非刚性 ode23 计算时间比 ode45 短 多步法;Adams算法;高低精度均可到 10-3~10-6 非刚性 ode113 适度刚性情形 采用梯形算法 适度刚性 ode23t 若 ode45 失效时,可尝试使用 多步法;Gear’s 反向数值微分;精度中等 刚性 ode15s 当精度较低时,计算时间比 ode15s 短 单步法;2 阶Rosebrock 算法;低精度 刚性 ode23s 当精度较低时,计算时间比ode15s短 梯形算法;低精度 刚性 ode23tb 说明 特点 ODE类型 求解器 大部分场合的首选方法 单步法;4,5 阶 R-K 方法;累计截断误差为 (△x)3 非刚性 ode45 * * —— Matlab 符号运算 Matlab 符号运算介绍 符号对象与基本符号运算 symvar、 subs 和 vpa 常见的符号计算(重点内容) 计算以推理方式进行,不受计算误差累积所带来的困扰 符号计算指令的调用比较简单,与教科书上的公式相近 符号计算可以给出完全正确的封闭解,或任意精度的数值解(封闭解不存在时 ) 符号计算所需的运行时间相对较长 符号运算的特点 Matlab 符号运算是通过符号数学工具箱(Symbolic Math Toolbox)来实现的。 Matlab 的符号数学工具箱可以完成几乎所有得符号运算功能,如:符号表达式的运算,符号矩阵的运算,符号微积分,符号作图,符号代数方程求解,符号微分方程求解等。 此外,该工具箱还支持可变精度运算,即支持以指定的精度返回结果。 Matlab 符号运算 求一元二次方程 ax2 + bx + c = 0 的根 solve(a*x^2+b*x+c=0) 求的根 f (x) = (cos x)2 的一次导数 x=sym(x); diff(cos(x)^2) 计算 f (x) = x2 在区间 [a, b] 上的定积分 syms a b x; int(x^2,a,b) Matlab 符号运算介绍 符号对象与基本符号运

文档评论(0)

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

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

1亿VIP精品文档

相关文档