MATLAB基础与应用教程(人民邮电出版社-蔡旭辉)第二章b.ppt

上传人:xin****828 文档编号:6289308 上传时间:2020-02-21 格式:PPT 页数:55 大小:396.87KB
返回 下载 相关 举报
MATLAB基础与应用教程(人民邮电出版社-蔡旭辉)第二章b.ppt_第1页
第1页 / 共55页
MATLAB基础与应用教程(人民邮电出版社-蔡旭辉)第二章b.ppt_第2页
第2页 / 共55页
MATLAB基础与应用教程(人民邮电出版社-蔡旭辉)第二章b.ppt_第3页
第3页 / 共55页
点击查看更多>>
资源描述
第2章矩阵 数组和符号运算 二 符号运算掌握内容 1 了解MATLAB的符号变量 掌握MATLAB符号表达式 符号矩阵的两种创建方法 2 掌握MATLAB符号数学函数的创建 3 掌握符号矩阵的基本运算及MATLAB关于不同精度的控制方法 4 掌握符号微积分内容 包括求函数的极限 对符号表达式求导数和微分 符号积分 符号求和 傅立叶变换及其逆变换等 5 掌握各种符号方程的求解方法和函数命令 6 了解MATLAB可视化的符号函数分析界面及使用 7 初步了解MAPLE的符号资源 对于 如何计算 第2章矩阵 数组和符号运算 A 2 3 23 B 1 5 X A B 符号运算 所谓符号计算是指在运算时 无须事先对变量赋值 而将所得到结果以标准的符号形式来表示 MathWorks公司以Maple的内核作为符号计算引擎 Engine 依赖Maple已有的函数库 开发了实现符号计算的两个工具箱 基本符号工具箱和扩展符号工具箱 第2章矩阵 数组和符号运算 第2章矩阵 数组和符号运算 抽象运算 公式推导 因式分解 求解代数方程或微分方程的精确解符号数学工具箱1 通过基本符号数学工具箱的专用函数 符号表达式和符号矩阵的操作 多项式的化简 展开和代入 线性代数 微积分 符号方程的求解 特殊的数学函数 2 通过maple m mpa m两个专门设计的M文件进行符号运算 3 通过MATLAB中的函数计算器 FunctionCaculator 第2章矩阵 数组和符号运算 1 符号变量的创建a sym函数 symbol的缩写 S sym arg 从表达式arg创建一个sym对象Sx sym x x sym x real x sym x unreal 附加属性x sym x positive pi sym pi delta sym 1 10 S sym A flag 将数值或矩阵转化为符号形式其中flag选项有四项参数 f r e 和 d r 为缺省项 f 代表十六进制浮点形式 r 代表有理数形式 e 估计误差 d 表示十进制小数 第2章矩阵 数组和符号运算 A 2 5 4 0 78 sqrt 23 3 0 33 0 3333 log 4 输入数值矩阵AA 0 40005 12821 59860 33000 33331 3863 FA sym A 将数值矩阵A转化为符号矩阵FAFA 2 5 200 39 sqrt 23 9 33 100 3333 10000 6243314768165359 2 52 不管数值矩阵的元素是以分数或是浮点数表示 转换后的符号矩阵都将以最接近有理式的形式给出 b syms函数 syms用于方便地一次创建多个符号变量 调用格式为 symsabcd书写简洁意义清楚 建议使用 symsabcxy 2 符号表达式和符号矩阵的创建 第2章矩阵 数组和符号运算 a 字符串直接输入创建符号表达式和符号方程对空格很敏感 因此 在创建符号表达式或符号方程时 不要在字符间任意加空格符 符号计算中出现的数字也是当作符号处理的 f a x 2 b x c f a x 2 b x c f a x 2 b x c 0 f a x 2 b x c 0 2 符号表达式和符号矩阵的创建 第2章矩阵 数组和符号运算 这种方法输入符号矩阵与字符串矩阵的输入相似 但要保证在同一列中各元素字符串有同样的长度 在较短的字符串前后用空格符填充 这种方法要求符号矩阵每一行的两端都有方括号 而字符串矩阵仅在首尾有方括号 B 4 xx 2x x 35 x 3x a B 4 xx 2x x 35 x 3x a 2 符号表达式和符号矩阵的创建 第2章矩阵 数组和符号运算 b 由sym命令创建 f sym a x 2 b x c f a x 2 b x c f1 sym a x 2 b x c 0 f1 a x 2 b x c 0 A sym 4 x x 2 x x 3 5 x 3 x a A 4 x x 2 x x 3 5 x 3 x a 第2章矩阵 数组和符号运算 c 由syms命令创建 symsxabc f a x 2 b x cf a x 2 b x c symsxa B 4 xx 2x x 35 x 3x a B 4 x x 2 x x 3 5 x 3 x a 不能创建符号方程 例1 作符号计算 a b x y均为符号运算量 在符号运算前 应先将a b x y定义为符号运算量 第2章矩阵 数组和符号运算 方法一 symsab A a b ab B 1 5 X A BX 3 a2 b 第2章矩阵 数组和符号运算 方法二 a sym a 定义 a 为符号运算量 输出变量名为a b sym b x sym x y sym y x y solve a x b y 1 a x b y 5 x y solve 符号代数方程的求解 以a b为符号常数 x y为符号变量即可得到方程组的解 x 3 ay 2 b 例2 已知一复数表达式z x i y 试求其共轭复数 并求该表达式与其共轭复数乘积的多项式 为了使乘积表达式x 2 y 2非负 这里 把变量x和y定义为实数 x sym x real y sym y real 第2章矩阵 数组和符号运算 z x i y 定义复数表达式conj z 求共轭复数expand z conj z 求表达式与其共轭复数乘积的多项式 expand 展开符号表达式中的各项子式ans x 2 y 2若要去掉 x 的属性 可以使用下面语句x sym x unreal 将 x 创建为纯格式的符号变量 第2章矩阵 数组和符号运算 默认符号变量在数学表达式中 一般习惯于使用排在字母表中前面的字母作为变量的系数 而用排在后面的字母表示变量 例如 f ax2 bx c表达式中的a b c通常被认为是常数 用作变量的系数 而将x看作自变量 第2章矩阵 数组和符号运算 例如 数学表达式f x ng sin at b 根据数学式中表示自变量的习惯 默认a b n为符号常数 x t为符号变量 若在MATLAB中表示上述表达式 首先用syms函数定义a b n t x为符号对象 在进行导数运算时 由于没有指定符号变量 则系统采用数学习惯来确定表达式中的自变量 默认a b n为符号常数 x t为符号变量 即 对函数f求导为 df dx对函数g求导为 dg dt 第2章矩阵 数组和符号运算 为了了解函数引用过程中使用的符号变量个数及变量名 可以用findsym函数查询符号函数中所包含的符号变量 该函数的引用格式为 findsym f n 说明 f为用户定义的符号函数 n为正整数 表示查询变量的个数 n i 表示查询前i个系统默认变量 n值省略时表示查询符号函数中全部系统默认变量 第2章矩阵 数组和符号运算 例3 查询符号函数f x ng sin at b 中的系统默认变量 symsabntx 定义符号变量f x n 给定符号函数g sin a t b findsym f 1 在f函数中查询1个系统默认变量ans x 表示f函数中查询的1个系统默认变量为x findsym g 1 ans t 第2章矩阵 数组和符号运算 例3 查询符号函数中的默认自变量 创建符号变量a b n x和t 建立函数f axn bt 然后求f的默认自变量 symsabntxf a x n b tfindsym f 1 findsym f 2 findsym f 5 f表达式中按最接近x顺序排列的5个默认自变量findsym f f表达式中按最接近字母顺序排列的全部自变量f a x n b tans xans x tans x t n b aans a b n t x 第2章矩阵 数组和符号运算 例4 定义一个符号函数fxy a x2 b y2 c2 分别求该函数对x y的导数和对x的积分 symsabcxy 定义符号变量fxy a x 2 b y 2 c 2 生成符号函数diff fxy x 符号函数fxy对x求导数ans 2 a x c 2diff fxy y 符号函数fxy对y求导数ans 2 b y c 2int fxy x 符号函数fxy对x求积分ans 1 c 2 1 3 a x 3 b y 2 x 第2章矩阵 数组和符号运算 3 符号矩阵的运算基本运算四则运算 与数值矩阵的运算规则相同 两个符号矩阵的大小相等方可进行加减运算 符号矩阵和符号标量的加减运算按照数组运算规则进行 两个符号矩阵进行乘 除法运算 与矩阵乘 除法规则相同 符号的乘方运算S p 若S为符号表达式 p可以为符号表达式或数值表达式 若S为符号矩阵 则p必须是整数 第2章矩阵 数组和符号运算 第2章矩阵 数组和符号运算 a sym 1 x 1 x 1 1 x 2 1 x 3 a 1 x 1 x 1 1 x 2 1 x 3 b sym x 1 x 2 0 b x 1 x 2 0 b aans x 1 x 1 1 x 1 x 2 1 x 2 1 x 3 a bans 6 x 2 x 3 7 x 2 3 2 x 2 x 1 2 x 3 14 x 2 x 3 10 x 2 6 2 x 2 3 2 x 1 2 x 3 a bans x 2 x 1 x 2 2 0 a 2ans 1 x 2 1 x 1 x 2 1 x x 1 1 x 1 x 3 1 x 2 x 1 x 3 x 2 1 x 1 x 2 1 x 3 2 exp b ans exp x exp 1 exp x 2 1 第2章矩阵 数组和符号运算 b 符号表达式的化简与转换给定如下3个符号表达式 f x 3 6 x 2 11 x 6g x 1 x 2 x 3 h 6 11 6 x x x是否同一个符号表达式 第2章矩阵 数组和符号运算 collect 将表达式中同类项合并 合并后的多项式以变量幂的次数按大小依次排列 ff x 3 6 x 2 11 x 6 collect g ans x 3 6 x 2 11 x 6 collect h ans x 3 6 x 2 11 x 6 symsxy collect x 2 y y x x 2 2 x ans y 1 x 2 y 2 x 第2章矩阵 数组和符号运算 expand 展开符号表达式中的各项子式 symsxy expand x 1 3 ans x 3 3 x 2 3 x 1 expand sin x y ans sin x cos y cos x sin y factor 符号因式分解 symsx factor x 9 1 ans x 1 x 2 x 1 x 6 x 3 1 第2章矩阵 数组和符号运算 numden 分式通分 symsxy n d numden x y y x n x 2 y 2 n 分式的分子d y x d 分式的分母 表达式简化符号表达式的两个化简函数 simplify simplesimplify 化简函数 主要用于在符号表达式中进行等式的恒等替换 例1 对表达式f sin2 x cos2 x 进行化简 symsxf sin x 2 cos x 2 simplify f ans 1 第2章矩阵 数组和符号运算 r how simple S 函数可寻找符号表达式S的最简型 r为返回的简化形式 how为化简过程中使用的主要方法 simple函数综合使用了下列化简方法 simplify函数对表达式进行化简 radsimp函数对含根式 surd 的表达式进行化简 combine函数对表达式中以求和 乘积 幂运算等形式出现的项进行合并 collect合并同类项 factor函数实现因式分解 convert函数完成表达式形式的转换 第2章矩阵 数组和符号运算 例2 最简表达式的获得 symsxtf cos x 2 sin x 2 r how simple f r cos 2 x how combine trig 第2章矩阵 数组和符号运算 Examples Srhowcos x 2 sin x 21simplify2 cos x 2 sin x 23 cos x 2 1simplifycos x 2 sin x 2cos 2 x combine trig cos x sin x 2 1 2 cos x i sin x radsimpcos x i sin x exp i x convert exp x 1 x x 1 x 3 xcombine trig x 3 3 x 2 3 x 1 x 1 3factorcos 3 acos x 4 x 3 3 xexpand 第2章矩阵 数组和符号运算 4 符号微积分Matlab自变量确定原则 除i j外 字母位置最接近x的小写字母为自变量 如果表达式中没有变量 x会被视为默认的变量 由函数findsym可以找到默认变量a 符号极限 Symboliclimit limit F x a 计算符号表达式F在自变量x a条件下的极限 limit F a 计算符号表达式F中由默认自变量趋向于a条件下的极限 limit F 计算符号表达式F在默认自变量趋向于0条件下的极限 limit F x a right 和limit F x a left 计算符号表达式F在x a条件下的右极限和左极限 symsxath limit sin x x ans 1 limit 1 2 t x 3 x x inf ans exp 6 t limit 1 x x 0 right ans Inf limit 1 x x 0 left ans Inf 第2章矩阵 数组和符号运算 例 求极限symsx 定义符号变量f x exp sin x 1 2 exp tan x 1 sin x 3 确定符号表达式w limit f 求函数的极限w 1 2 第2章矩阵 数组和符号运算 b 微分函数 differentialcoefficient diff函数用于对符号表达式s求微分 该函数的一般引用格式为 diff s v n 说明 应用diff s 没有指定微分变量和微分阶数 则系统按findsym函数指示的默认变量对符号表达式s求一阶微分 应用diff s v 或diff s sym v 格式 表示以v为自变量 对符号表达式s求一阶微分 应用diff s n 格式 表示按findsym函数指示的默认变量对符号表达式s求n阶微分 n为正整数 应用diff s v n diff s n v 格式 表示以v为自变量 对符号表达式s求n阶微分 第2章矩阵 数组和符号运算 例 求导数 x sym x 定义符号变量t sym t diff sin x 2 求导运算ans 2 cos x 2 x 例 分别计算表达式f x x的导数和3次导数 symsx f x x diff f diff f 3 ans x x log x 1 ans x x log x 1 3 3 x x log x 1 x x x x 2 第2章矩阵 数组和符号运算 c 积分函数 integral 积分函数int s v a b 可以对被积函数或符号表达式s求积分 其引用格式为 int s v a b 说明 应用int s 格式 表示没有指定积分变量和积分阶数时 系统按findsym函数指示的默认变量对被积函数或符号表达式s求一阶积分 应用int s v 格式 表示以v为自变量 对被积函数或符号表达式s求一阶不定积分 应用积分函数时 如果给定a b两项 表示是进行定积分运算 a b分别表示定积分的下限和上限 不指定积分的下限和上限表示求不定积分 第2章矩阵 数组和符号运算 例 求积分 symsxint 1 1 x 2 ans atan x int 1 1 x 2 0 1 符号表达式的定积分ans 1 4 piquad 1 1 x 2 0 1 数组的定积分ans 0 7854 第2章矩阵 数组和符号运算 d 级数 符号 求和 Symbolicsummation 级数求和运算是数学中常见的一种运算 例如 f x a0 a1x a2x2 a3x3 anxn函数symsum可以用于此类对符号函数f的求和运算 该函数的引用时 应确定级数的通项式s 变量的变化范围a和b 该函数的引用格式为 symsum S 求符号表达式S对于默认自变量的不定和 symsum S v 求符号表达式S对于自变量v的不定和 symsum S a b 求符号表达式S对于默认自变量从a到b的有限和 symsum S v a b 求符号表达式S对于自变量v从a到b的有限和 第2章矩阵 数组和符号运算 例 求级数的和 1 12 1 22 1 32 1 42 键入 symsksymsum 1 k 2 1 Inf k值为1到无穷大ans 1 6 pi 2其结果为 1 12 1 22 1 32 1 42 2 6 第2章矩阵 数组和符号运算 例 分别计算表达式 k symskxsymsum k symsum k 2 0 10 symsum x k sym k k 0 inf ans 1 2 k 2 1 2 kans 385ans exp x 第2章矩阵 数组和符号运算 e Taylor级数展开 Taylorseriesexpanding taylor f 计算符号表达式f对于默认自变量等于0处的5阶Taylor级数展开式 taylor f n v 计算符号表达式f在自变量v 0处的n 1阶Taylor级数展开式 taylor f n v a 计算符号表达式f在自变量v a处的n 1阶Taylor级数展开式 第2章矩阵 数组和符号运算 例 分别计算表达式的5阶Taylor级数展开式和f exsin x 的5阶及11阶Taylor级数展开式 symsxf 1 5 cos x r taylor f f exp x sin x r taylor f r taylor f 12 r 1 6 1 72 x 2r 1 x 2 1 3 x 4r 1 x 2 1 3 x 4 1 120 x 6 11 560 x 8 1079 362880 x 10 第2章矩阵 数组和符号运算 f 傅立叶变换和傅立叶逆变换傅立叶快速离散变换MATLAB提供了fft 内置函数 ifft fft2 ifft2 fftn ifftn fftshift ifftshift等函数 用来计算矩阵的离散快速傅立叶变换 函数fft和ifft函数fft最完整的调用格式为 Y fft X dim 或Y fft X n dim 数据长度n是2次幂时 可以采用基 2算法进行快速计算 输入参数X可以是向量 矩阵 dim指定变换的实施方向 当X是矩阵时 1指明变换按列进行 默认 2指明变换按行进行 第2章矩阵 数组和符号运算 第2章矩阵 数组和符号运算 X 1 2 3 4 5 6 7 8 9 X 123456789 Y fft X Y 12 000015 000018 0000 4 5000 2 5981i 4 5000 2 5981i 4 5000 2 5981i 4 5000 2 5981i 4 5000 2 5981i 4 5000 2 5981i函数fft2和ifft2函数fft2和ifft2是对数据做二维快速傅立叶变换和逆傅立叶变换 数据的二维傅立叶变换fft2 X 相当于fft fft X 即先对X的列做一维傅立叶变换 然后对变换结果的行做一维傅立叶变换 其调用格式为 Y fft2 X mrows ncols 傅立叶积分变换及其反变换离散傅立叶变换 DFT 作用于有限数据采样 傅立叶变换作用于连续函数 傅立叶变换调用格式为 F fourier f 求表达式f的傅立叶变换 缺省的自变量为x 缺省的返回值F是关于w的函数 F fourier f v 返回函数F是关于v的函数 而不是缺省的w F fourier f u v 对关于u的函数f进行变换 返回函数F是关于v的函数 傅立叶逆变换调用格式为 f ifourier F 符号表达式F的傅立叶逆变换 缺省的自变量为w 缺省返回f是关于x的函数 f ifourier F u 返回函数f是关于u的函数 而不是缺省的x的函数 f ifourier F v u 对关于v的函数F进行变换 返回关于u的函数f 第2章矩阵 数组和符号运算 symsxtwu fourier exp x 2 ans exp 1 4 w 2 pi 1 2 fourier exp x 2 u ans exp 1 4 u 2 pi 1 2 fourier exp t 2 t u ans exp 1 4 u 2 pi 1 2 ifourier sym fourier f x x w w x ans f x ifourier exp w 2 ans 1 2 exp 1 4 x 2 pi 1 2 第2章矩阵 数组和符号运算 第2章矩阵 数组和符号运算 例 求阶跃信号的fourier变换 symstw ut sym heaviside t 定义0时刻起跳的单位阶跃函数UT fourier ut 实施Fourier变换 给出与理论一致的结果UTS simple UT Ut ifourier UT w t 结果与原函数相等Uts ifourier UTS w t UT pi dirac w i w dirac w 单位冲激函数UTS pi dirac w i wUt heaviside t Uts heaviside t 第2章矩阵 数组和符号运算 例 用fourier指令求矩形脉冲的Fourier变换 symsAtwsymstaopositiveyt sym heaviside t tao 2 heaviside t tao 2 定义幅度为1 宽度为tao的矩形脉冲Yw fourier A yt t w Yws simple Yw Yw 2 A w sin 1 2 tao w Yt ifourier Yw w t Yt A heaviside t 1 2 tao heaviside t 1 2 tao 第2章矩阵 数组和符号运算 例 求的Fourier变换 在此x是参数 t是时间变量 本例演示 fourier的缺省调用格式的使用要十分谨慎 在被变换函数中包含多个符号变量的情况下 对被变换的自变量给予指明 可保证计算结果的正确 symstxw ft exp t x sym heaviside t x F1 simple fourier ft t w 给出以w为频率变量的正确结果F2 simple fourier ft 误把x当作时间变量F3 simple fourier ft t 误把x当作时间变量 又把t当作频率变量F1 exp i x w 1 i w F2 i exp i t w i w F3 i exp i t 2 i t g Laplace变换L laplace F xsL laplace F z xzL laplace F w z wz symsxswz laplace sin x ans 1 s 2 1 laplace sin x w ans 1 w 2 1 第2章矩阵 数组和符号运算 laplace sin x w ans w s 2 w 2 laplace sin x w w z ans x z 2 x 2 第2章矩阵 数组和符号运算 例 求的Laplace变换 symsts symsabpositiveDt sym dirac t a Ut sym heaviside t b Mt Dt Ut exp a t sin b t t 2 exp t MS laplace Mt t s MS exp s a exp s b s 1 b s a 2 b 2 1 2 1 s 3 Fs laplace ft t s tsft ilaplace Fs s t st 第2章矩阵 数组和符号运算 例 验证Laplace时移性质 symsts t0 sym t0 positive ft sym f t t0 sym heaviside t t0 FS laplace ft t s FS t ilaplace FS s t ft f t t0 heaviside t t0 FS exp s t0 laplace f t t s FS t f t t0 heaviside t t0 h 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 例求序列fn e 2n的Z变换 symsxnez fn e 2 n ztrans fn n z ans z e 2 z e 2 1 第2章矩阵 数组和符号运算 第2章矩阵 数组和符号运算 例 求序列的Z变换 并用反变换验算 symsnDelta sym charfcn 0 n 定义单位函数D0 subs Delta n 0 计算D15 subs Delta n 15 计算disp D0 D15 disp D0 D15 D0 D15 1 0 2 求序列的Z变换symsz fn 2 Delta 6 1 1 2 n FZ simple ztrans fn n z disp FZ pretty FZ FZ n iztrans FZ z n FZ 24z 2 22z 3z 1FZ n 2 charfcn 0 n 6 6 1 2 n 1 设 对f x 和g x 进行因式分解 2 运用simplify命令简化 并与采用simple命令得出的结果相比较 3 计算下列极限a b 4 建立一个符号表达式y sin a b 2 x c 分别以变量c进行积分 以变量x从pi 2到pi进行积分 5 求符号矩阵F对变量x的一阶微分 对变量a的二阶微分F cos a x sin a b 2 x sin b x en 上机练习 3 6 用符号计算验证下述三角恒等式的正确性 7 用rand函数建立一个3 3维随机数值矩阵 并将该数值矩阵转换为符号矩阵 比较它们的不同 8 求下述矩阵的逆 特征根和矩阵的行列式值 上机练习 3
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!