MATLAB符号运算.ppt_第1页
MATLAB符号运算.ppt_第2页
MATLAB符号运算.ppt_第3页
MATLAB符号运算.ppt_第4页
MATLAB符号运算.ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

第9章MATLAB符号计算 9 1符号计算基础9 2符号函数及其应用9 3符号积分9 4级数9 5符号方程求解 9 1符号计算基础 9 1 1符号对象1 建立符号变量和符号常量MATLAB提供了两个建立符号对象的函数 sym和syms 两个函数的用法不同 1 sym函数sym函数用来建立单个符号量 一般调用格式为 符号量名 sym 符号字符串 该函数可以建立单个符号量 符号字符串可以是常量 变量 函数或表达式 符号量一旦建立 用户就可以在表达式中使用它进行各种运算 例9 1 考察符号变量和数值变量的差别 程序 a sym a b sym b c sym c d sym d 定义4个符号变量w 10 x 5 y 8 z 11 定义4个数值变量A a b c d 建立符号矩阵AA a b c d B w x y z 建立数值矩阵BB 105 811det A 计算符号矩阵A的行列式ans a b b cdet B 计算数值矩阵B的行列式ans 150 应用sym函数还可以定义符号常量 使用符号常量进行代数运算时和数值常量进行的运算不同 例9 2 比较符号常数与数值在代数运算时的差别 程序 pi1 sym pi k1 sym 8 k2 sym 2 k3 sym 3 定义符号变量pi2 pi r1 8 r2 2 r3 3 定义数值变量sin pi1 3 计算符号表达式的值ans 1 2 3 1 2 sin pi2 3 计算数值表达式的值ans 0 8660 sqrt k1 计算符号表达式的值ans 2 2 1 2 sqrt r1 计算数值表达式的值ans 2 8284sqrt k3 sqrt k2 计算符号表达式的值ans 3 2 1 2 1 2 sqrt r3 sqrt r2 计算数值表达式的值ans 2 1010 结论 用符号常数进行计算象是进行数学演算 得到的结果为数学表达式 而数值计算将结果近似为一个有限小数 2 syms函数MATLAB提供了另一个函数syms 一次可以定义多个符号变量 syms函数的一般调用格式为 syms符号变量名1符号变量名2 符号变量名n 注意 用这种格式定义符号变量时不要在变量名上加字符串分界符 变量间用空格而不要用逗号分隔 2 建立符号表达式含有符号对象的表达式称为符号表达式 符号表达式包括符号代数式 符号方程 符号矩阵 抽象函数等 建立符号表达式有3种方法 1 利用单引号来生成符号代数式 2 用sym函数建立符号表达式 3 使用已经定义的符号变量组成符号表达式 1 建立代数式方法 用sym函数建立符号表达式 使用已经定义的符号变量组成符号表达式 利用单引号建立 例9 3 用两种方法建立符号表达式 3x2 5y 2xy 6程序 U sym 3 x 2 5 y 2 x y 6 定义符号表达式U 3 x 2 5 y 2 x y 6symsxy 建立符号变量V 3 x 2 5 y 2 x y 6 定义符号表达式ans 3 x 2 5 y 2 x y 6U 3x2 5y 2xy 6 U 3x2 5y 2xy 62 U V 6 求符号表达式的值ans 3 x 2 5 y 5 x y 12 2 建立符号方程方法 用sym函数建立符号方程 利用单引号建立 例9 4 y sym ax2 bx c 0 建立了一个符号方程注意 因为符号方程中含有等号 故不能采用赋值的方法来建立符号方程 否则方程中的等号和命令中的赋值号会混淆 3 建立符号矩阵方法 直接建立例9 5 计算3阶范得蒙矩阵行列式的值 A 1 1 1 a b c a2 b2 c2 程序 symsabc U a b c A 1 1 1 U U 2 建立范得蒙矩阵det A 计算矩阵行列式的值 4 建立抽象函数定义 所谓抽象函数就是函数关系未确定的函数 如 z f x y 例9 6 建立x y的一般二元函数 程序 symsxy f sym f x y 9 1 2符号表达式运算 1 符号表达式的四则运算符号表达式的加 减 乘 除运算可分别由函数symadd symsub symmul和symdiv来实现 幂运算可以由sympow来实现 结果仍旧为符号表达式 2 符号表达式的提取分子和分母运算可用numden函数来提取符号表达式中的分子或分母 其调用格式为 n d numden s 该函数提取符号表达式s的分子和分母 分别将它们存放在n与d中 3 符号表达式的因式分解与展开函数的调用格式为 factor s 对符号表达式s分解因式 expand s 对符号表达式s进行展开 collect s 对符号表达式s合并同类项 collect s v 对符号表达式s按变量v合并同类项 例9 7 对下列符号矩阵A的每个元素分解因式A 2a2b3x2 4ab4x3 10ab6x4 3xy 5x2 4 a3 b3 程序 symsabxy A 2 a 2 b 3 x 2 4 a b 4 x 3 10 a b 6 x 4 3 x y 5 x 2 4 a 3 b 3 factor A 对A的每个元素分解因式ans 2 a 2 b 3 x 2 4 a b 4 x 3 10 a b 6 x 4 3 x y 5 x 2 4 a 3 b 3 例9 8 计算表达式S的值s 7x2 8y2 x2 3y2 程序 symsxy S 7 x 2 8 y 2 x 2 3 y 2 expand s ans 7 x 4 13 x 2 y 2 24 y 4Collect s x ans 7 x 4 13 x 2 y 2 24 y 4factor ans ans 7 x 2 8 y 2 x 2 3 y 2 4 符号表达式的化简MATLAB提供的对符号表达式化简的函数有 simplify s 应用函数规则对s进行化简 simple s 调用MATLAB的其他函数对表达式进行综合化简 并显示化简过程 例9 9 化简s s2 y2 2 s2 y2 2程序 symsxy s x 2 y 2 2 x 2 y 2 2simple s Simplify 这是simple函数自动调用函数 并非由用户调入 下同2 x 4 2 y 4radsimp 2 x 4 2 y 4 combine trig 2 x 4 2 y 4factor 2 x 4 2 y 4expand 2 x 4 2 y 4combine s 2 y 2 2 s 2 y 2 2convert exp s 2 y 2 2 s 2 y 2 2 convert sincos s 2 y 2 2 s 2 y 2 2convert tan s 2 y 2 2 s 2 y 2 2collect x 2 x 4 2 y 4ans 2 x 4 2 y 4 可见 simple函数试探使用各种函数化简 其化简过程是机械的 部分过程可以省略 5 符号表达式与数值表达式之间的转换利用函数sym可以将数值表达式变换成它的符号表达式 函数numeric或eval可以将符号表达式变换成数值表达式 5 符号表达式与数值表达式之间的转换利用函数sym可以将数值表达式变换成它的符号表达式 函数numeric或eval可以将符号表达式变换成数值表达式 9 1 3符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常量 findsym可以帮助用户查找一个符号表达式中的的符号变量 该函数的调用格式为 findsym s n 函数返回符号表达式s中的n个符号变量 若没有指定n 则返回s中的全部符号变量 例9 10 注意 如果变量缺省时 MATLAB将按照离字符 x 最近的原则确定缺省变量 例9 11 9 1 4符号矩阵 符号矩阵也是一种符号表达式 所以前面介绍的符号表达式运算都可以在矩阵意义下进行 但应注意这些函数作用于符号矩阵时 是分别作用于矩阵的每一个元素 由于符号矩阵是一个矩阵 所以符号矩阵还能进行有关矩阵的运算 MATLAB还有一些专用于符号矩阵的函数 这些函数作用于单个的数据无意义 transpose s 返回s矩阵的转置矩阵 determ s 返回s矩阵的行列式值 其实 曾介绍过的许多应用于数值矩阵的函数 如diag triu tril inv det rank eig等 也可直接应用于符号矩阵 9 2符号函数及其应用 9 2 1符号极限limit函数的调用格式为 1 limit f x a 求符号函数f x 的极限值 即计算当变量x趋近于常数a时 f x 函数的极限值 2 limit f a 求符号函数f x 的极限值 由于没有指定符号函数f x 的自变量 则使用该格式时 符号函数f x 的变量为函数findsym f 确定的默认自变量 即变量x趋近于a 3 limit f 求符号函数f x 的极限值 符号函数f x 的变量为函数findsym f 确定的默认变量 没有指定变量的目标值时 系统默认变量趋近于0 即a 0的情况 4 limit f x a right 求符号函数f的极限值 right 表示变量x从右边趋近于a 5 limit f x a left 求符号函数f的极限值 left 表示变量x从左边趋近于a 例9 12求下列极限 极限1 symsamx f x exp sin x 1 2 exp tan x 1 x a limit f x a ans 1 2 a exp sin a 1 2 a exp tan a 1 a极限2 symsxt limit 1 2 t x 3 x x inf ans exp 6 t 极限3 symsx f x sqrt x 2 1 x limit f x inf left ans 1 2极限4 symsx f sqrt x sqrt 2 sqrt x 2 sqrt x x 4 limit f x 2 right ans 1 2 9 2 2符号函数求导及其应用 diff函数用于对符号表达式求导数 该函数的一般调用格式为 1 diff s 没有指定变量和导数阶数 则系统按findsym函数指示的默认变量对符号表达式s求一阶导数 2 diff s v 以v为自变量 对符号表达式s求一阶导数 3 diff s n 按findsym函数指示的默认变量对符号表达式s求n阶导数 n为正整数 4 diff s v n 以v为自变量 对符号表达式s求n阶导数 例9 13求函数的导数 p202例7 3 命令如下 symsabtxyz f sqrt 1 exp x diff f 求 1 未指定求导变量和阶数 按缺省规则处理f x cos x diff f x 2 求 2 求f对x的二阶导数diff f x 3 求 2 求f对x的三阶导数f1 a cos t f2 b sin t diff f2 diff f1 求 3 按参数方程求导公式求y对x的导数 diff f1 diff f2 2 diff f1 2 diff f2 diff f1 3 求 3 求y对x的二阶导数f x exp y y 2 diff f x 求 4 z对x的偏导数diff f y 求 4 z对y的偏导数f x 2 y 2 z 2 a 2 zx diff f x diff f z 求 5 按隐函数求导公式求z对x的偏导数zy diff f y diff f z 求 5 按隐函数求导公式求z对y的偏导数 例9 14在曲线y x3 3x 2上哪一点的切线与直线y 4x 1平行 命令如下 x sym x y x 3 3 x 2 定义曲线函数f diff y 对曲线求导数g f 4 solve g 求方程f 4 0的根 即求曲线何处的导数为4 9 3符号积分 9 3 1符号函数的不定积分符号不定积分由函数int来实现 调用格式为 1 int s 没有指定积分变量和积分阶数时 系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分 2 int s v 以v为自变量 对被积函数或符号表达式s求不定积分 例9 15求不定积分 命令如下 x sym x f 3 x 2 3 int f 求不定积分 1 f sqrt x 3 x 4 int f 求不定积分 2 g simple ans 调用simple函数对结果化简 9 3 2符号函数的定积分int s v a b 求定积分运算 a b分别表示定积分的下限和上限 当函数f关于变量v在闭区间 a b 上可积时 函数返回一个定积分结果 当a b中有一个是inf时 函数返回一个广义积分 当a b中有一个符号表达式时 函数返回一个符号函数 例9 16求定积分 命令如下 x sym x t sym t int abs 1 x 1 2 求定积分 1 f 1 1 x 2 int f inf inf 求定积分 2 int 4 t x x 2 sin t 求定积分 3 f x 3 x 1 100 I int f 2 3 用符号积分的方法求定积分 4 double I 将上述符号结果转换为数值 例9 17求椭球的体积 命令如下 symsabcz f pi a b c 2 z 2 c 2 V int f z c c V 4 3 pi a b c 9 3 3积分变换 积分变换的定义积分变换的思路常见的积分变换 傅立叶变换 拉普拉斯换和Z变换 1 傅立叶 Fourier 变换在MATLAB中 进行傅立叶变换的函数是 fourier f x t 求函数f x 的傅立叶像函数F t ifourier F t x 求傅立叶像函数F t 的原函数f x 例9 18求函数的傅立叶变换及其逆变换 命令如下 symsxt y abs x Ft fourier y x t 求y的傅立叶变换fx ifourier Ft t x 求Ft的傅立叶逆变换 2 拉普拉斯 Laplace 变换在MATLAB中 进行拉普拉斯变换的函数是 laplace fx x t 求函数f x 的拉普拉斯像函数F t ilaplace Fw t x 求拉普拉斯像函数F t 的原函数f x 例9 19计算y x2的拉普拉斯变换及其逆变换 命令如下 x sym x y x 2 Ft laplace y x t 对函数y进行拉普拉斯变换fx ilaplace Ft t x 对函数Ft进行拉普拉斯逆变换 3 Z变换当函数f x 呈现为一个离散的数列f n 时 对数列f n 进行z变换的MATLAB函数是 ztrans fn n z 求fn的Z变换像函数F z iztrans Fz z n 求Fz的z变换原函数f n 例9 20求数列fn e n的Z变换及其逆变换 命令如下 symsnzfn exp n Fz ztrans fn n z 求fn的Z变换f iztrans Fz z n 求Fz的逆Z变换 9 4级数 9 4 1级数的符号求和符号表达式求和函数symsum 其调用格式为 symsum s v n m 其中s表示一个级数的通项 是一个符号表达式 v是求和变量 v省略时使用系统的默认变量 n和m是求和的开始项和末项 例9 21求级数之和 命令如下 n sym n s1 symsum 1 n 2 n 1 inf 求s1s2 symsum 1 n 1 n 1 inf 求s2 未指定求和变量 缺省为ns3 symsum n x n n 1 inf 求s3 此处的求和变量n不能省略 s4 symsum n 2 1 100 求s4 计算有限级数的和 9 4 2函数的泰勒级数 MATLAB提供了taylor函数将函数展开为幂级数 其调用格式为 taylor f v n a 该函数将函数f按变量v展开为泰勒级数 展开到第n项 即变量v的n 1次幂 为止 n的缺省值为6 v的缺省值与diff函数相同 参数a指定将函数f在自变量v a处展开 a的缺省值是0 例9 22求函数在指定点的泰勒展开式 命令如下 x sym x f1 1 x x 2 1 x x 2 f2 sqrt 1 2 x x 3 1 3 x x 2 1 3 taylor f1 x 5 求 1 展开到x的4次幂时应选择n 5taylor f2 6 求 2 9 5符号方程求

温馨提示

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

评论

0/150

提交评论