MATLAB经典基础教程3.ppt_第1页
MATLAB经典基础教程3.ppt_第2页
MATLAB经典基础教程3.ppt_第3页
MATLAB经典基础教程3.ppt_第4页
MATLAB经典基础教程3.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章MATLAB符号计算UsingSymbolicMathToolbox 3 1符号表达式的建立3 2符号表达式的代数运算3 3符号表达式的操作和转换3 4符号极限 微积分和级数求和3 5符号积分变换3 6符号方程的求解 MATLAB具有符号数学工具箱 SymbolicMathToolbox 符号计算是可以对未赋值的符号对象 可以是常数 变量 表达式 进行运算和处理 与数值运算的区别 数值运算中必须先对变量赋值 然后才能参与运算 符号运算无须事先对独立变量赋值 运算结果以标准的符号形式表达 符号运算的功能 符号线性代数 linearalgebra 因式分解 展开和简化 simplificationandsubstitution 符号代数方程求解 solvingequations 符号微积分 Calculus 符号微分方程 3 1符号表达式的建立3 1 1创建符号常量 符号常量是不含变量的符号表达式 sym 常量 创建符号常量sym 常量 参数 按某种格式转换为符号常量说明 参数可以选择为 d f e 或 r 四种格式 也可省略 EX a sym sin 2 a sym sin 2 r 3 1 2创建符号变量和表达式 CreatingSymbolicVariablesandExpression 1 使用sym命令创建符号变量和表达式sym 变量 参数 把变量定义为符号对象2 使用syms命令创建符号变量和符号表达式syms arg1 arg2 参数 symsarg1arg2 参数 例如 f1 sym a x 2 b x c 创建表达式 symsabcx 创建变量 f2 a x 2 b x c 创建表达式 syms a b c x f3 a x 2 b x c符号表达式 中的参数一定要用 单引号括起来 3 1 3符号矩阵 例如 使用sym命令创建的符号矩阵 A sym a b c d 例如 使用syms命令创建相同的符号矩阵 symsabcd A ab cd 比较符号矩阵与字符串矩阵 B a b c d 创建字符串矩阵 C a b c d 创建数值矩阵 Undefinedfunctionorvariable a 3 2符号表达式的代数运算3 2 1符号表达式的代数运算 由于MATLAB采用了重载技术 使得符号表达式的运算符和基本函数都与数值计算中的几乎完全相同 例如 A 2 A det A A 2 例如 f sym 2 x 2 3 x 4 g sym 5 x 6 f g f g 1 符号运算中的运算符基本运算符运算符 分别实现符号矩阵的加 减 乘 左除 右除 求幂运算 运算符 分别实现符号数组的乘 除 求幂 即数组间元素与元素的运算 运算符 分别实现符号矩阵的共轭转置 非共轭转置 2 关系运算符运算符 分别对运算符两边的符号对象进行 相等 不等 的比较 2 函数运算三角函数和双曲函数 2 指数和对数函数 3 复数函数 4 矩阵代数命令 3 2 2符号数值任意精度控制和运算 在SymbolicMathToolbox中有三种不同的算术运算 数值型 MATLAB的浮点运算 有理数型 Maple的精确符号运算 VPA型 Maple的任意精度运算 任意精度的VPA型运算可以使用digits和vpa命令来实现 digits n 设定默认的精度S vpa s n 将s表示为n位有效位数的符号对象 3 2 3符号对象与数值对象的转换 将数值矩阵转化为符号矩阵函数调用格式 sym A EX A 1 3 2 5 1 0 7 2 5 sym A 将符号矩阵转化为数值矩阵函数调用格式 numeric A EX a sym 2 3 b numeric a 3 3符号表达式的操作和转换3 3 1符号表达式中自由变量的确定 符号表达式 f ax2 bx c 中只有一个变量是独立变量 小写字母i和j不能作为自由变量 符号表达式中如果有多个符号变量 则按照以下顺序选择自由变量 首先选择x作为自由变量 如果没有x 则选择在字母顺序中最接近x的字符变量 如果与x相同距离 则在x后面的优先 大写字母比所有的小写字母都靠后 也可以用findsym函数来自动确定 自由变量的确定原则 TheDefaultSymbolicVariables 3 3 2符号表达式的化简 Simplificate 同一个多项式的符号表达式可以表示成三种形式 多项式形式的表达方式 f x x3 6x2 11x 6因式形式表达方式 f x x 1 x 2 x 3 嵌套形式的表达方式 f x x x x 6 11 6pretty 给出排版形式的输出结果 collect 将表达式写成多项式形式 32x 6x 11x 6 x 3 6 x 2 11 x 6 horner 将多项式形式写成嵌套形式factor 将表达式写成因式形式expand 将表达式写成多项式形式simplify 对表达式进行化简例如 k sym cos x 2 sin x 2 simplify k simple 寻求表达式的多种简化形式 使之包含最少数目的字符 6 11 6 x x x 2 cos x 2 1 x 1 x 2 x 3 3 3 3符号表达式的替换 Substitutions subs函数 对符号表达式中符号变量的替换 subs s 用给定值替换符号表达式s中的所有变量subs s new 用new替换符号表达式s中的自由变量subs s old new 用new替换符号表达式s中的old变量例 f sym x 3 6 x 2 11 x 6 x 5 subs f subs f 5 subs f x 5 可以用来计算多项式的值 以及化简 3 3 4求反函数和复合函数 1 求反函数对于函数f x 存在另一个函数g 使得g f x x成立 则函数g 称为函数f x 的反函数 g finverse f v 对指定自变量v的函数f v 求反函数2 求复合函数运用函数compose可以求符号函数f x 和g y 的复合函数 compose f g z 求f x 和g y 的复合函数f g z 3 3 5符号表达式的转换 1 符号表达式与多项式的转换构成多项式的符号表达式f x 可以与多项式系数构成的行向量进行相互转换 MATLAB提供了函数sym2poly和poly2sym实现相互转换 2 提取分子和分母如果符号表达式是一个有理分式 两个多项式之比 可以利用numden函数来提取分子或分母 还可以进行通分 n d numden f EX 提取分子和分母系数 f sym 1 2 s s 2 2 s 1 pretty f 1 2s 2s 2s 1 n d numden f n1 sym2poly n d1 sym2poly d 3 4符号极限 微积分和级数求和3 4 1符号极限 Limits 例3 14 分别求1 x在0处从两边趋近 从左边趋近和从右边趋近的三个极限值 f sym 1 x limit f 对x求趋近于0的极限 limit f x 0 对x求趋近于0的极限 limit f x 0 left 左趋近于0 limit f x 0 right 右趋近于0 3 4 2符号微分 Differentiation 函数diff是用来求符号表达式的微分 diff f 求f对自由变量的一阶微分diff f t 求f对符号变量t的一阶微分diff f n 求f对自由变量的n阶微分diff f t n 求f对符号变量t的n阶微分 3 4 3符号积分 Integration 积分有定积分和不定积分 运用函数int可以求得符号表达式的积分 即找出一个符号表达式F使得diff F f 也可以说是求微分的逆运算 int f t 求符号变量t的不定积分int f t a b 求符号变量t的定积分int f t m n 求符号变量t的定积分 3 4 4符号级数 1 symsum函数 SymbolicSummation symsum s x a b 计算表达式s的级数和说明 x为自变量 x省略则默认为对自由变量求和 s为符号表达式 a b 为参数x的取值范围 2 taylor函数 TaylorSeries taylor F x n 求泰勒级数展开说明 x为自变量 F为符号表达式 对F进行泰勒级数展开至n项 参数n省略则默认展开前5项 3 5符号积分变换3 5 1傅里叶变换及其反变换 1 fourier变换F fourier f t w 求时域函数f t 的fourier变换F说明 返回结果F是符号变量w的函数 f为t的函数 2 fourier反变换f ifourier F w t 说明 ifourier函数的用法与fourier函数相同 symstw F fourier 1 t t w fourier变换F i pi Heaviside w Heaviside w 3 5 2拉普拉斯变换及其反变换 1 Laplace变换F laplace f t s 求时域函数f的Laplace变换F说明 返回结果F为s的函数 当参数s省略 返回结果F默认为 s 的函数 f为t的函数 当参数t省略 默认自由变量为 t 2 Laplace反变换f ilaplace F s t 求F的Laplace反变换f symsats F1 laplace sin a t t s sinat的Laplace变换F1 a s 2 a 2 3 5 3Z变换及其反变换 1 ztrans函数F ztrans f n z 求时域序列f的Z变换F说明 返回结果F是以符号变量z为自变量 当参数n省略 默认自变量为 n 当参数z省略 返回结果默认为 z 的函数 2 iztrans函数f iztrans F z n 求F的z反变换f symsanzt Fz3 ztrans exp a t n z e at的Z变换Fz3 exp a t z z 1 3 6符号方程的求解3 6 1代数方程 MATLAB可以用solve命令给出方程的数值解 solve eq v 求方程关于指定变量的解solve eq1 eq2 v1 v2 求方程组关于指定变量的解例如 解方程 solve a x 2 b x c solve a x 2 b x c 0 solve a x 2 b x c 0 x 例3 22 求三元非线性方程组的解 eq1 sym x 2 2 x 1 eq2 sym x 3 z 4 eq3 sym y z 1 x y z solve eq1 eq2 eq3 解方程组并赋值给x y z x 1y 3 5z 5 3 3 6 2符号常微分方程 MATLAB提供了dsolve命令可以用于对符号常微分方程进行求解 dsolve eq con v 求解微分方程dsolve eq1 eq2 con1 con2 v1 v2 求解微分方程组说明 con 是微分初始条件 可省略 v 为指定自由变量 省略时则默认为x或t为自由变量 y的一阶导数为Dy y的n阶导数表示为Dny EX y 1 0 y 0 0 y dsolve x D2y 3 Dy x 2 x 求微分方程的通解y 1 3 x 3 C1 C2 x 4 y dsolve x D2y 3 Dy x 2 y 1 0 y 0 0 x 求微分方程的特解y 1 3 x 3 1 3 x 4 3 7符号函数的可视化3 7 2图形化的符号函数计算器 在MATLAB命令窗口输入命令 funtool 就会出现该图形化函数计算器 3 8Maple函数的使用3 8 1访问Maple函数 1 maple函数maple函数用于进行符号运算 并将计算结果返回到MATLAB的工作空间 maple MapleStatement 运行Maple格式的语句MapleStatementmaple fun arg1 arg2 运行以arg1 arg2 为参数的Maple的fun函数2 mfun函数mfun函数用于对Maple中的经典函数进行数值运算 mfun fun p1 p2 3 8 2获得Maple的帮助 1 mfunli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论