第六讲 Matlab符号运算_第1页
第六讲 Matlab符号运算_第2页
第六讲 Matlab符号运算_第3页
第六讲 Matlab符号运算_第4页
第六讲 Matlab符号运算_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

数学实验 Matlab符号运算 什么是符号运算 与数值运算的区别 数值运算中必须先对变量赋值 然后才能参与运算 符号运算无须事先对独立变量赋值 运算结果以标准的符号形式表达 Matlab符号运算介绍 Matlab符号运算是通过符号数学工具箱 SymbolicMathToolbox 来实现的 Matlab符号数学工具箱是建立在功能强大的Maple软件的基础上的 当Matlab进行符号运算时 它就请求Maple软件去计算并将结果返回给Matlab Matlab的符号数学工具箱可以完成几乎所有得符号运算功能 主要包括 符号表达式的运算 符号表达式的复合 化简 符号矩阵的运算 符号微积分 符号作图 符号代数方程求解 符号微分方程求解等 此外 该工具箱还支持可变精度运算 即支持以指定的精度返回结果 Matlab符号运算举例 求一元二次方程ax2 bx c 0的根 solve a x 2 b x c 求方程f x cosx 2的一次导数 x sym x diff cos x 2 计算f x x2在区间 a b 上的定积分 symsabx int x 2 a b 在进行符号运算时 必须先定义基本的符号对象 可以是符号常量 符号变量 符号表达式等 符号对象是一种数据结构 符号对象与符号表达式 含有符号对象的表达式称为符号表达式 Matlab在内部把符号表达式表示成字符串 以与数字变量或运算相区别 符号矩阵 数组 元素为符号表达式的矩阵 数组 sym函数用来建立单个符号变量 一般调用格式为 符号对象的建立 sym和syms 符号对象的建立 例如 a sym a 建立符号变量a 此后 用户可以在表达式中使用变量a进行各种运算 b sym 1 3 c sym 1ab cd 例 考察符号变量和数值变量的差别 在MATLAB命令窗口 输入命令 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 建立符号矩阵A B w x y z 建立数值矩阵B det A 计算符号矩阵A的行列式 det B 计算数值矩阵B的行列式 例 比较符号常数与数值在代数运算时的差别 在MATLAB命令窗口 输入命令 pi1 sym pi k1 sym 8 k2 sym 2 k3 sym 3 定义符号变量 pi2 pi r1 8 r2 2 r3 3 定义数值变量 sin pi1 3 计算符号表达式值 sin pi2 3 计算数值表达式值 sqrt k1 计算符号表达式值 sqrt r1 计算数值表达式值 sqrt k3 sqrt k2 计算符号表达式值 sqrt r3 sqrt r2 计算数值表达式值 syms函数函数sym一次只能定义一个符号变量 使用不方便 MATLAB提供了另一个函数syms 一次可以定义多个符号变量 符号对象的建立 sym和syms 符号对象的建立 syms命令用来建立多个符号变量 一般调用格式为 symsvar1var2 var1n 用这种格式定义符号变量时不要在变量名上加字符分界符 变量间用空格而不要用逗号分隔 a sym a b sym b c sym c 符号表达式的建立 例 建立符号表达式通常有以下2种方法 1 用sym函数直接建立符号表达式 2 使用已经定义的符号变量组成符号表达式 y sym sin x cos x x sym x y sin x cos x 符号表达式的建立 练习 用两种方法建立符号表达式3x2 5y 2xy 6 在MATLAB窗口 输入命令 U sym 3 x 2 5 y 2 x y 6 定义符号表达式U symsxy 建立符号变量x y V 3 x 2 5 y 2 x y 6 定义符号表达式V 2 U V 6 求符号表达式的值 Matlab符号运算采用的运算符和基本函数 在形状 名称和使用上 都与数值计算中的运算符和基本函数完全相同 符号对象的基本运算 在MATLAB命令窗口 输入命令 symsxyz f 2 x x 2 x 5 x x 3 符号表达式的结果为最简形式 f 2 x 5 x 符号表达式的结果为最简形式 f x y x y 符号表达式的结果不是x 2 y 2 而是 x y x y 符号表达式的四则运算示例 符号对象的基本运算 三角函数与反三角函数 指数函数 对数函数等 基本函数 查找符号表达式中的符号变量 若表达式中有两个符号变量与x的距离相等 则ASCII码大者优先 查找符号变量 findsym expr 按字母顺序列出符号表达式expr中的所有符号变量 findsym expr N 列出expr中离x最近的N个符号变量 常量pi i j不作为符号变量 例 f sym 2 w 3 y z 2 5 a findsym f f sym f 3 f sym f 1 findsym举例 符号表达式的替换 subs f x a 用a替换字符函数f中的字符变量xa可以是数 数值变量 表达式或字符变量 表达式 若x是一个由多个字符变量组成的数组或矩阵 则a应该具有与x相同的形状的数组或矩阵 用给定的数据替换符号表达式中的指定的符号变量 subs举例 f sym 2 u subs f u 2 f2 subs f u u 2 a 3 subs f2 u a 2 subs f2 u a 2 symsxy f3 subs f u x y subs f3 x y 1 2 ans 4 f2 2 u 2 ans 14 ans 2 a 2 2 f3 2 x 2 y ans 6 例 指出下面各条语句的输出结果 f 2 u 上机作业 a1 1e10 b1 1e 10 c1 a1 b1 a1 b1 a2 sym a1 b2 sym b1 c2 a2 b2 a2 b2 指出下面的M1 M2 M3分别是什么 并上机验证 a 1 b 2 c 3 d 4 M1 a b c d M2 a b c d M3 sym a b c d 下面语句计算出来c1 c2相等吗 为什么 上机验证 补充 class x 查看指定变量x的类型 六类常见符号运算 因式分解 展开 合并 简化及通分等 计算极限 计算导数 计算积分 符号求和 代数方程和微分方程求解 因式分解 因式分解 factor f symsx f x 6 1 factor f factor也可用于正整数的分解 s factor 100 factor sym 12345678901234567890 大整数的分解要转化成符号常量 例 将表达式 x 9 1 分解为多个因式 symsx factor x 9 1 ans x 1 x 2 x 1 x 6 x 3 1 函数展开 函数展开 expand f symsx f x 1 6 expand f 多项式展开 三角函数展开 symsxy f sin x y expand f 合并同类项 合并同类项 collect f v 按指定变量v进行合并collect f 按默认变量进行合并 symsxy f x 2 y y x x 2 2 x collect f collect f y 例 对符号矩阵A的每个元素分解因式 命令如下 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的每个元素分解因式 例 计算表达式S的值 命令如下 symsxy s 7 x 2 8 y 2 x 2 3 y 2 expand s 对s展开 collect s x 对s按变量x合并同类项 无同类项 factor ans 对ans分解因式 函数简化 函数简化 y simple f 对f尝试多种不同的算法进行简化 返回其中最简短的形式 How y simple f y为f的最简短形式 How中记录的为简化过程中使用的方法 函数简化 函数简化 y simplify f 对f进行简化 symsx f sin x 2 cos x 2 simplify f symscalphabeta f exp c log sqrt alpha beta simplify f 函数简化举例 symscalphabeta f 1 x 3 6 x 2 12 x 8 1 3 y1 simplify f g1 simple f g2 simple g1 多次使用simple可以达到最简表达 例 简化 计算极限 limit f x a 计算limit f a 当默认变量趋向于a时的极限limit f 计算a 0时的极限limit f x a right 计算右极限limit f x a left 计算左极限 例 计算 symsxhn L limit log x h log x h h 0 M limit 1 x n n n inf 例 求极限 symsx 定义符号变量 f x exp sin x 1 2 exp tan x 1 sin x 3 确定符号表达式 w limit f 求函数的极限 w 1 2 计算导数 g diff f v 求符号表达式f关于v的导数g diff f 求符号表达式f关于默认变量的导数g diff f v n 求f关于v的n阶导数 diff symsx f sin x 3 x 2 g diff f x 例 求导数 x sym x 定义符号变量 t sym t diff sin x 2 求导运算 ans 2 cos x 2 x 计算积分 int f v a b 计算定积分int f a b 计算关于默认变量的定积分int f v 计算不定积分int f 计算关于默认变量的不定积分 例 求下述积分 symsx int 1 1 x 2 ans atan x symsx f x 2 1 x 2 2 x 2 2 I int f x K int exp x 2 x 0 inf 例 计算和 符号求和 symsn f 1 n 2 S symsum f n 1 inf S100 symsum f n 1 100 symsum f v a b 求和symsum f a b 关于默认变量求和 例 计算级数及其前100项的部分和 例 计算函数级数 symsnx f x n 2 S symsum f n 1 inf 代数方程和微分方程求解 代数方程求解 solve f v 求方程关于指定自变量的解 f可以是用字符串表示的方程 符号表达式或符号方程 solve也可解方程组 包含非线性 得不到解析解时 给出数值解 例 解代数方程 ax2 bx 6 0 symsabx solve a x 2 b x 6 其它运算 反函数 finverse f v 求f关于指定变量v的反函数finverse f 求f关于默认变量的反函数 symsxt f x 2 2 t

温馨提示

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

评论

0/150

提交评论