MATLAB课件第34章.ppt

上传人:sh****n 文档编号:6379942 上传时间:2020-02-24 格式:PPT 页数:96 大小:519.50KB
返回 下载 相关 举报
MATLAB课件第34章.ppt_第1页
第1页 / 共96页
MATLAB课件第34章.ppt_第2页
第2页 / 共96页
MATLAB课件第34章.ppt_第3页
第3页 / 共96页
点击查看更多>>
资源描述
1 第3章MATLAB的数值计算矩阵的构建矩阵元素矩阵运算矩阵的关系运算和逻辑运算多项式运算 2 3 1矩阵的构建3 1 1直接输入创建矩阵创建矩阵最简单的方法就是直接输入矩阵元素 输入格式有以下的要求 整个矩阵以 作为首尾 行与行之间用分号 或回车键分隔 每行中的元素用 或空格分隔 矩阵中的元素可以是数字或者表达式 如果矩阵中没有元素 这样的矩阵称为空阵 EmptyMatrix 3 a 123 456 789 a 123456789 b 1sin pi 6 sqrt 9 3 560 b 1 00000 50003 00008 00006 00000 4 3 1 2利用内部函数产生矩阵利用内部函数可以很容易生成一些常见的特殊矩阵 常用函数如下 说明 当eye zeros ones rand randn函数只有一个参数n时 则产生n n的方阵 5 eye 3 ans 100010001 eye 3 4 ans 100001000010 zeros 3 ans 000000000 ones 3 4 ans 111111111111 a magic 3 a 816357492 diag a ans 852 6 3 1 3数组的构建在MATLAB中数组可以看作行向量 即只有一行的矩阵 MATLAB创建数组可用以下特殊命令 1 冒号生成法 初值 步长 终值 0 0 4 2ans 00 40000 80001 20001 60002 0000初值 0 终值 2 步长 0 4 步长若省略 默认间隔1 a 1 4 b 1 2 7 c ab c 12341357 d a910 d 1234910 7 2 linspace函数linspace a b n 差值 b a n 1 a linspace 0 1 4 a 00 33330 66671 0000初值 0 终值 1 元素个数 43 logspace函数logspace a b n 公比 10 b a n 1 logspace 0 2 5 ans 1 00003 162310 000031 6228100 0000初值 100 终值 102 元素个数 5 公比 100 53 1 4从外部的数据文件中导入矩阵 8 3 2矩阵的元素3 2 1矩阵元素的下标表示1 全下标表示一个m n矩阵A的第i行 第j列元素表示为A i j 即由行下标和列下标表示 行列数从1开始 注意 当给元素赋值时 如果超出矩阵范围 则自动扩充矩阵 当取值时 若超出矩阵范围 则提示错误 a 12 34 a 1 2 9 a 2 3 8 aa 190348 a 2 4 Indexexceedsmatrixdimensions 9 2 单下标表示将矩阵的所有列按从左到右的顺序接成 一维长列 然后对元素进行编号 一个m n矩阵A的元素A i j 对应的下标为 j 1 m i a 123 456 a 1 2 ans 2 a 3 ans 2 a 5 10a 1210456 10 3 2 2子矩阵1 全下标表示 1 a ij kl 行数为i j 列数为k l的元素构成子矩阵 2 a i j k l 取行数为i j 列数为k l的元素构成的子矩阵 3 a i j 取行数为i j 所有列的元素构成的子矩阵 4 a end k j 取行数最大值 列数为k j的元素构成的子矩阵2 单下标表示a ij kl 取单下标为i j k l的元素构成子矩阵 11 a magic 5 a 17241815235714164613202210121921311182529 a 12 34 ans 18714 a 1 2 3 5 ans 181571416 a 1 2 ans 1724181523571416 a end 1 2 ans 1118 a 13 45 ans 1741011 12 3 2 3矩阵元素的删除删除矩阵元素可以简单的将该元素赋值为空矩阵 用 表示 a rand 3 4 a 0 45650 44470 92180 40570 01850 61540 73820 93550 82140 79190 17630 9169 a 2 a Columns1through60 45650 82140 44470 61540 79190 9218Columns7through110 73820 17630 40570 93550 9169 13 3 2 4矩阵元素的数量1 numel函数n numel a 计算矩阵a中元素的总数2 size函数d size a d mn m为a的行数 n为a的列数 mn size a m为a的行数 n为a的列数m size a dim m为矩阵a的第dim维元素的数量 1表示列 2表示行 a rand 2 3 a 0 28440 06480 58280 46920 98830 4235 d size a d 23 m size a 2 m 3 numel a ans 6 14 3 3矩阵与数组运算 MATLAB算术运算 矩阵算术运算 数组算术运算 矩阵算术运算 按照线性代数运算法则定义数组算术运算 按照元素逐个执行 15 3 3 1矩阵的运算 加法 减法 乘法 幂 左除 右除 转置1 矩阵的加减法矩阵的加减法是对应元素的加减法 只有当两个矩阵维数相同或者其中一个为标量时 才可以进行加减法运算 a 12 34 b 56 78 a bans 681012 3 aans 4567 b 3ans 2345 16 2 矩阵的乘法矩阵的乘法使用 运算符 两个矩阵要相乘 只有当前一矩阵的列数与后一矩阵行数相等或者其中一个为标量时才能进行 a 12 34 b 567 8910 a bans 212427475461 b a Errorusing Innermatrixdimensionsmustagree 3 aans 36912 17 3 矩阵的除法矩阵的除法有左除和右除两种 分别用 和 表示 通常矩阵除法可以用来求未知矩阵 若A X B 则X A B若X A B 则X B A a 12 34 b 567 8910 c a bc 212427475461 a cans 5 00006 00007 00008 00009 000010 0000 c bans 1 00002 00003 00004 0000 18 例 求解以下方程 A 132 223 311 A 132223311 B 1 10 7 B 1107 A Bans 2 34 19 4 矩阵的乘方矩阵的乘方使用 运算符 如A P 当P为整数时 该指令运算结果可做如下解释 当P 0 表示方阵A直接自乘P次 当P 0 表示A的逆阵自乘P次后的结果 或者 自乘 次后的逆阵 当P 0 表示与A维数相同的单位阵 a 12 34 a 1234 a 2ans 7101522 a 0ans 1001 a 2 ans 5 5000 2 5000 3 75001 7500 20 5 矩阵的转置矩阵的转置使用 运算符 矩阵的转置就是将第i行第j列的元素和第j行第i列的元素进行互换 对于有复数元素的矩阵A A 为共轭转置 A 为非共轭转置 a 12 34 a 1234 a ans 1324 a 1 i2 i 3 i4 i a ans 1 0000 1 0000i3 0000 1 0000i2 0000 1 0000i4 0000 1 0000i a ans 1 0000 1 0000i3 0000 1 0000i2 0000 1 0000i4 0000 1 0000i 21 6 矩阵的逆 inv 在MATLAB中 使用函数inv计算矩阵的逆矩阵 A是可逆矩阵的充分必要条件是 A 0 即可逆矩阵是非奇异方阵 a magic 3 a 816357492 inv a ans 0 1472 0 14440 0639 0 06110 02220 1056 0 01940 1889 0 1028 a inv a ans 1 00000 0 0000 0 00001 000000 000001 0000 a 2 ans 0 0293 0 0124 0 0124 0 01240 0293 0 0124 0 0124 0 01240 0293 inv a 2 ans 0 0293 0 0124 0 0124 0 01240 0293 0 0124 0 0124 0 01240 0293 22 7 方阵的行列式 det 方阵和行列式是两个不同的概念 n阶方阵是n2个数按一定方式排成的数表 n阶行列式则是这些数按一定的运算法则确定的一个数 在MATLAB中 求方阵的行列式的函数是det a magic 3 a 816357492 det a ans 360 23 8 矩阵的特征值 eig 在MATLAB中 以函数eig计算矩阵的特征值 并以向量的形式存放 如果AX X存在非零解向量 则称 为A的一个特征值 相应的非零解向量X称为与 相对应的特征向量 G 120 25 1 410 1 eig G ans 3 73210 26791 0000 p q eig G p 0 2440 0 91070 4472 0 33330 33330 0000 0 9107 0 24400 8944q 3 73210000 26790001 0000 24 9 矩阵的特征多项式 poly 在MATLAB中 以函数poly计算矩阵的特征多项式 设A为n阶方阵 如果 和n维非零列向量X使关系式AX X成立 那么 A E X 0称为矩阵A的特征方程 A E 称为方阵A的特征多项式 a 211 020 413 poly a ans 1 304 roots ans ans 2 0000 0 0000i2 0000 0 0000i 1 0000 eig a ans 122 25 10 矩阵的秩 rank 在MATLAB中 以函数rank计算矩阵的秩 设在矩阵A中存在一个不等于0的r阶子式D 且所有 r 1 阶子式全为0 那么称D为方阵A的最高阶非零子式 r为矩阵A的秩 a magic 4 a 16231351110897612414151 rank a ans 3 det a ans 0 26 3 3 2数组的运算 加法 减法 乘法 幂 左除 右除 转置数组的运算操作都是对元素逐个进行的 数组运算符与矩阵运算符的区别便是多一个小黑点 a 123 b 456 a bans 41018 a 2ans 149 a bans 4 00002 50002 0000 a 1 j2 j3 j a 1 0000 1 0000i2 0000 1 0000i3 0000 1 0000i a ans 1 0000 1 0000i2 0000 1 0000i3 0000 1 0000i 27 a ones 3 b magic 3 b 816357492 a bans 151515151515151515 a bans 816357492 b 2ans 916767679167676791 b 2ans 641369254916814 28 3 4矩阵关系运算与逻辑运算说明 1 表达式输入 非0 逻辑真 0 逻辑假 2 表达式输出 1 逻辑真 0 逻辑假 3 4 1关系运算 两个维数相同的矩阵进行比较 相对应元素进行比较 结果为一个同维数矩阵 矩阵和标量进行比较 标量和矩阵中的每一个元素进行比较 结果为一个同维数矩阵 29 关系操作符 a 12 34 b 13 44 a bans 0110 a bans 0000 a bans 1001 a 2ans 0100 a bans 1111 仅比较实部 而 同时比较实部和虚部 30 3 4 2逻辑运算如果A和B是维数相同的矩阵 或者其中一个是标量 则可以对矩阵进行逻辑运算 a 0101 b 0110 and a b ans 0100 a bans 0100 a bans 0111 xor a b ans 0011 a 1ans 0101 31 3 5各种运算符的优先级MATLAB对各种运算的优先级别做了规定 计算时 遵守的规定是较高优先级先于较低优先级 相同优先级遵从从左到右原则 32 x 5 y 3 z 2 X ones 3 Y magic 3 Y 816357492 Z zeros 3 a x 2 X Y za 2275217710215220212725277 b Y Z xb 111111111 c Y Z X Y xc 000000000 33 3 6基本统计处理3 6 1查最大值 max 1 C max A 返回矩阵A各列的最大值 若A为向量 返回该向量的最大值 2 C I max A 将矩阵A各列中的最大元素值及其该元素的位置赋予行向量C与I 当A是向量时 C I是标量 3 C I max A dim 按矩阵A的第dim维的方向查取最大的元素及其该元素的位置赋予向量C与I 若dim 1 按列操作 若dim 2 按行操作 34 x 247483 m max x m 8 m n max x m 8n 5 x 351 946 max x ans 956 m n max x m 956n 212 m n max x 1 m 956n 212 m n max x 2 m 59n 21 35 3 6 2查取最小值 min min函数用来求取数据序列中的最小值 使用方法和max函数相同 3 6 3求中值 median 1 Y median X 返回矩阵X各列元素的中值赋予行向量Y 若X为向量 Y为标量 2 Y median X dim 将数组X的第dim维方向的元素求其中值赋予向量Y 若dim 1 按列操作 默认 若dim 2 按行操作 x 351 946 median x ans 6 00004 50003 5000 median x 2 ans 36 36 3 6 4求和 sum 1 Y sum X 返回矩阵X各列元素的和赋予行向量Y 若X为向量 Y为标量 2 Y sum X dim 将数组X的第dim维方向的元素的和赋予向量Y 若dim 1 按列操作 若dim 2 按行操作 x 351 946 sum x ans 1297 sum ans ans 28 sum x 2 ans 919 37 3 6 5求平均值 mean 1 Y mean X 返回矩阵X各列元素的平均值赋予行向量Y 若X为向量 Y为标量 2 Y mean X dim 将数组X的第dim维方向的元素的平均值赋予向量Y 若dim 1 按列操作 若dim 2 按行操作 a 123 456 a 123456 mean a ans 2 50003 50004 5000 mean a 2 ans 25 38 3 6 6求积 prod 1 Y prod X 返回矩阵X各列元素的积赋予行向量Y 若X为向量 Y为标量 2 Y prod X dim 将数组X的第dim维方向的元素的积赋予向量Y 若dim 1 按列操作 若dim 2 按行操作 a 123 456 a 123456 prod a ans 41018 prod a 2 ans 6120 39 3 6 7排序 sort 1 Y sort X 将矩阵X的各列元素升序排列 2 Y sort X dim 将矩阵X的第dim维元素升序排列 若dim 1 按列操作 若dim 2 按行操作 3 Y sort X mode 按照mode模式对矩阵X进行排列 若mode为 ascend 表示升序排列 若mode为 descend 表示降序排列 x 375 683 042 sort x ans 042373685 sort x 2 ans 357368024 sort x 2 descend ans 753863420 40 3 7多项式运算多项式是形如p x a0 xn a1xn 1 an 1x an的式子 在MATLAB中 多项式用行向量表示P a0a1 an 1an 3 7 1多项式的创建1 直接输入系数直接输入向量 MATLAB将按降幂自动将向量的元素分配给多项式各项的系数 该向量可以是行向量或列向量 P 3501012 y poly2sym P y 3 x 5 5 x 4 x 2 12 41 2 由多项式的根逆推多项式若已知某多项式的根 可用poly函数反推出与其相对应的多项式 root 4 2 2i 2 2i5 root 4 0000 2 0000 2 0000i 2 0000 2 0000i5 0000 p poly root p 13 16 88 160 poly2sym p ans x 4 3 x 3 16 x 2 88 x 160 42 3 7 2多项式的运算1 多项式的求值 1 代数多项式求值 polyval函数polyval P X 计算向量P为系数的多项式在点X的值 如果X是矩阵或者向量 该命令对X的每个元素都进行计算 2 矩阵多项式求值 polyvalm函数Y polyvalm P X 计算向量P为系数的多项式在矩阵X的值 向量X必须为方阵 Y P 1 Xn P 2 Xn 1 P N X P N 1 I 43 p 123 poly2sym p ans x 2 2 x 3 a 12 34 polyval p 2 ans 11 polyval p a ans 6111827 polyvalm p a ans 12142133 b 123 456 polyvalm p b Errorusing polyvalmMatrixmustbesquare 44 2 多项式的根求多项式的根 即求使多项式为零的值 设多项式由行向量p表示 其系数按降序排列 使用roots函数计算多项式的根 格式为roots p 例 计算多项式x4 3x2 12x 7的根 p 10312 7 p 10312 7 roots p ans 0 7876 2 4351i0 7876 2 4351i 2 08720 5121 polyval p ans ans 1 0e 013 0 0178 0 8793i 0 0178 0 8793i0 19540 45 3 多项式的四则运算 1 加法和减法如果两个多项式的向量阶数相同 可直接进行加减法计算 如果向量阶数不同 不能直接进行运算 需要在低阶多项式的前面补0 使其具有相同的阶数 a 8228 b 6161 poly2sym a ans 8 x 3 2 x 2 2 x 8 poly2sym b ans 6 x 3 x 2 6 x 1 c a bc 14389 poly2sym c ans 14 x 3 3 x 2 8 x 9 d a bd 21 47 poly2sym d ans 2 x 3 x 2 4 x 7 e 245 d e Errorusing plusMatrixdimensionsmustagree d 0e ans 23012 poly2sym ans ans 2 x 3 3 x 2 12 46 2 乘法使用conv函数对多项式进行乘法计算 其格式为conv a b 例 计算 x3 2x2 3x 4 5x3 6x2 7x 8 a 1234 b 5678 poly2sym a ans x 3 2 x 2 3 x 4 poly2sym b ans 5 x 3 6 x 2 7 x 8 conv a b ans 5163460615232 poly2sym ans ans 5 x 6 16 x 5 34 x 4 60 x 3 61 x 2 52 x 32 47 3 除法使用deconv函数对多项式进行除法计算 q r deconv v u 用多项式v除以多项式u 商赋予q 余数赋予r deconv是conv的逆运算 v conv u q r a 1234 b 5678 c conv a b q r deconv c a q 5678r 0000000 c c 0004321 q r deconv c a q 56712r 0000 5 10 15 48 4 求导polyder P 对多项式P求导 并返回求导结果polyder P Q 相当于polyder P Q p q polyder P Q 求P Q的导数 导数的分子存入p 分母存入q 例 计算多项式 3x2 2x 1 4x2 5x 6 的导数 a 3 21 b 456 polyder a b ans 482124 7所以所求结果为 48x3 21x2 24x 7 49 例 计算有理分式1 x2 5 的导数 a 1 b 105 p q polyder a b p 20q 1010025所以结果为 2x x4 10 x2 25 50 5 多项式积分polyint p k 表示对多项式p求积分 常数项为k 默认值为0 例 计算 a 3 21 polyint a ans 1 110 polyint a 3 ans 1 113所以 计算结果为x3 x2 x 3 51 第4章MATLAB的符号计算符号计算基础符号微积分符号积分变换符号表达式的操作符号方程的求解 52 4 1符号计算基础4 1 1定义符号常量符号常量是不含变量的符号表达式 通常用sym函数创建符号常量 f sym 常量 sym命令也可以把数值转换为某种格式的符号常量 sym 常量 参数 参数 d 返回最接近的十进制浮点精确表示 e 返回最接近的带误差估计的有理表示 f 返回十六进制浮点表示 r 返回该符号值最接近的有理表示 缺省设置 可表示为p q p q 10 q pi q 2 q sqrt p 53 sqrt 2 ans 1 4142 a sqrt sym 2 a 2 1 2 double a ans 1 4142 2 5 1 3ans 0 7333 sym 2 sym 5 sym 1 sym 3 ans 11 15 sym asin 1 ans pi 2 54 3 sin 3 pi 2ans 1 9942 sym 3 sin 3 pi 2 ans 3 sin 3 pi 2 sym 3 sin 3 pi 2 ans 8980881799167258 2 52 sym 3 sin 3 pi 2 d ans 1 9941563509744981708138311660150 55 4 1 2定义符号变量1 sym函数sym arg 参数 说明 参数可以取以下选项 positive 限定arg为 正 实 符号变量 real 限定arg为 实 符号变量 unreal arg为 非实 符号变量例 已知一复数表达式z x i y 试求其实部 a sym x real b sym y real z a i b real z ans x a sym x unreal real z ans 1 2 x 1 2 conj x real a ans 1 2 x 1 2 conj x 56 2 syms函数syms函数的功能与sym函数的功能相似 syms函数可以在一个语句中同时定义多个符号对象 格式为 syms arg1 arg2 参数 symsarg1arg2 参数 symsab real a b j ans 1 2 a 1 2 i b 1 2 conj a i b symsxyreal z x i y real z ans x symsxunreal real z ans 1 2 x 1 2 conj x 57 4 1 3定义符号表达式符号表达式由符号变量 函数 算术运算符等组成 符号表达式的定义有以下三种方法 1 单引号创建符号表达式 f exp x 创建符号函数f exp x f a x 3 b x 2 c 0 创建符号代数方程f a x 3 b x 2 c 02 用sym函数创建符号表达式 f sym a x 3 b x 2 c 0 创建符号表达式f a x 3 b x 2 c 0 58 3 用syms函数创建符号表达式syms函数只能生成符号函数 不能生成符号方程 symsxyu 预定义符号变量 f exp x y u 创建符号函数f exp x y u 59 4 符号变量查询在数学表达式中 一般习惯于使用排在前面的字母表中的字母作为变量的系数 而用排在后面的字母表示变量 f ax2 bx c可以用findsym函数了解函数中使用的变量个数以及变量名 格式为 findsym f n 说明 1 f为用户定义的符号表达式 不能是字符串 2 n为正整数 表示查询变量的个数 3 n i表示查询i个系统默认变量 n值省略表示查询所有的符号变量 60 当字符表达式中含有多于一个的变量时 只有一个变量是独立变量 若未告知MATLAB哪一变量是独立变量 MATLAB将基于以下规则选择一个 缺省的变量是唯一的 若有x 选择x作为独立变量 若无x 选择除i和j的小写字母 字母顺序中最接近x的字母 若与x的距离相同 则x后面的优先 所有小写字母均优先于大写字母为独立变量 61 例 查询符号函数f exp u y t 和g x n的默认变量 symsntuxy f exp u y t findsym f 1 ans y g x n findsym g 1 ans x 62 f a x 2 b x 1 f a x 2 b x 1 findsym f Function findsym isnotdefinedforvaluesofclass char g sym a x 2 b x 1 g a x 2 b x 1 findsym g ans a b x 63 4 2符号微积分4 2 1符号极限 1 limit F x a 计算符号表达式当x a时 F的极限值 2 limit F a 计算符号函数F的极限值 因未指定F的自变量 用该格式时 变量为findsym确定的默认自变量 即默认自变量 a 3 limit F 计算符号函数F的极限值 变量为findsym确定的默认变量 在未指定目标值时 默认变量趋近于0 4 limit F x a left 或limit F x a right 分别计算函数F的左极限和右极限 64 symsxt limit sin x x ans 1 limit x 2 x 2 4 2 ans 1 4 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 symsxa v 1 a x xexp x sin a x cos a x limit v x 0 left ans 1 1 sin a cos a 65 4 2 2符号微分diff函数用于对符号表达式求微分 其格式一般为 diff f v n 1 diff f 表示没有指定微分变量和微分阶数 则按findsym指示的默认变量对符号表达式f求一阶微分 2 diff f v 或diff f sym v 表示以v为自变量 对符号表达式f求一阶微分 3 diff f n 表示根据findsym指示的默认变量对符号表达式f求n阶微分 4 diff f v n 表示以v为变量 对符号表达式f求n阶微分 66 symsxy diff x 3 3 x 2 2 x 5 ans 3 x 2 6 x 2 diff sin x 3 2 ans 9 sin x 3 x 4 6 cos x 3 x diff x y y 2 sin x cos y y ans x 2 y sin y diff x y y 2 sin x cos y y 3 ans sin y 67 f x y 2 a x 2 f x y 2 a x 2 diff f ans y 2 2 a x diff f y Undefinedfunctionorvariable y diff f y ans 2 x y diff f sym y ans 2 x y 68 4 2 3符号积分int函数用于对符号表达式求微分 其格式一般为 int f v a b 1 int f 按findsym指示的默认变量对符号表达式f求不定积分 如果f是符号常量 积分将针对x 2 int f v 或int f v 表示以v为自变量 对符号表达式f求不定积分 3 int f a b 表示根据findsym指示的默认变量对符号表达式f求a到b的定积分 4 int f v a b 表示以v为变量 对符号表达式f求a到b的定积分 69 symsxx1alphaut int 1 1 x 2 ans atan x int sin alpha u alpha ans 1 u cos alpha u int x1 log 1 x1 0 1 ans 1 4 int 4 x t x 2 sin t ans 2 t sin t 2 4 A cos x t sin x t sin x t cos x t A cos x t sin x t sin x t cos x t int A t ans 1 x sin x t cos x t x cos x t x 1 x sin x t a sym 2 a 2 int a ans 2 x 70 4 2 4符号级数级数求和运算是常见的一种运算 例如 f x a0 a1x a2x2 anxnsymsum函数用于对符号级数求和运算 格式为 symsum f v a b 1 symsum f 对符号表达式中由findsym确定的变量从0到k 1求和 2 symsum f v 对符号表达式中的变量v从0到k 1进行求和 3 symsum f a b 表示根据findsym确定的变量对符号表达式从a到b求和 4 symsum f v a b 对表达式中变量v从a到b求和 71 例 求一下级数的和1 12 1 22 1 32 1 42 symsk symsum 1 k 2 1 inf k值为从1到无穷ans 1 6 pi 2 double ans ans 1 6449 例 计算1 4 9 16 81的和 symsum k 2 1 9 ans 285 例 计算sin pi sin pi 2 2 sin pi 5 5 72 4 3符号积分变换4 3 1傅立叶变换及其反变换时域中的f t 与频域中F w Fourier变换之间的关系 1 Fourier变换F fourier f t w 计算f t 的Fourier变换F返回结果F是符号变量w的函数 若w省略 默认返回结果为w的函数 f为t的函数 当参数t省略 默认变量为x 2 Fourier反变换f ifourier F w t 73 symstvuwx fourier 1 t ans i pi 1 2 heaviside w fourier exp x 2 x t ans pi 1 2 exp 1 4 t 2 ifourier 1 1 w 2 u ans 1 2 exp u heaviside u 1 2 exp u heaviside u ifourier sym fourier f x x w w x ans f x 74 4 3 2Laplace变换及其反变换Laplace变换与反变换的关系 1 Laplace变换F laplace f t s 计算f t 的Laplace变换F返回结果F是符号变量s的函数 若s省略 默认返回结果为s的函数 f为t的函数 当参数t省略 默认变量为t 2 Laplace反变换f ilaplace F s t 75 symsstwx laplace exp t ans 1 s 1 laplace sin w x t ans w t 2 w 2 ilaplace 1 s 1 ans exp t ilaplace 1 1 t 2 ans sin x 76 4 3 3Z变换及其反变换一个离散信号的Z变换和Z反变换的定义为 可以用ztrans和iztrans函数来进行Z变换和Z反变换 1 F ztrans f n z 返回结果F是以符号变量z为自变量的函数 当参数n省略 默认自变量为n 当参数z省略 返回结果默认为z的函数 2 f iztrans F z n 77 4 4符号表达式的操作4 4 1符号表达式的基本运算1 运算符四则运算 数组运算 转置 2 运算函数三角函数 sin cos tan asin acos atan指数和对数函数 sqrt exp log复数函数 conj real imag abs矩阵函数 diag inv det rank poly eig 78 symsxyab fun1 sin x cos y fun2 a b fun1 fun2ans sin x cos y a b fun1 fun2ans sin x cos y a b 79 symsabcdxyzw p 3496 xyzw abcd p 3 4 9 6 x y z w a b c d p ans 3 conj x conj a 4 conj y conj b 9 conj z conj c 6 conj w conj d p ans 3 x a 4 y b 9 z c 6 w d 80 a sym 11 xx 2 sin x cos x tan x log x 29 a 1 1 x x 2 sin x cos x tan x log x 2 9 a 2ans 1 1 x 2 x 4 sin x 2 cos x 2 tan x 2 log x 2 4 81 rank a ans 3 det a ans 2 tan x x tan x log x 2 sin x x 3 9 cos x x cos x x 3 log x 9 sin x x 81 4 4 2因式分解factor函数的功能是将多项式分解为多个因式 各多项式的系数均是有理数 factor s symsxy factor x 3 y 3 ans x y x 2 x y y 2 factor sym 12345678901234567890 ans 2 3 2 5 101 3803 3607 27961 3541 82 4 4 3嵌套horner函数可以将符号多项式嵌套表示 即用多层括号的形式表示 horner s symsxy horner x 3 6 x 2 11 x 6 ans 6 11 6 x x x horner x 2 x y 3 2 y ans x 1 x 2 y 2 y 83 4 4 4表达式展开expand函数可以将符号多项式展开表示 expand s symsxytab expand x 2 x 4 ans x 2 6 x 8 expand cos x y ans cos x cos y sin x sin y expand exp a b 2 ans exp a 2 exp a b 2 exp b 2 expand sin 2 t cos 2 t ans 2 sin t cos t 2 cos t 2 1 84 4 4 5合并同类项 1 collect s 对于多项式s 按照默认变量的次数合并同类项 2 collect s v 按指定的变量v进行合并符号表达式同类项运算 symsxy R1 collect exp x x x 2 R1 x 2 exp x 2 x 2 exp x R2 collect x y x 2 y 2 1 y R2 y 3 x y 2 x 2 1 y x x 2 1 R3 collect x 1 y 1 x y R3 y 1 x y 1 x y 85 4 4 6符号表达式的简化1 simplify函数simplify s 函数对符号表达式s中的每一个元素进行简化 symsx fun1 x 2 5 x 6 x 2 sqrt 16 simplify fun1 ans x 3 4 fun2 sin x 2 cos x 2 simplify fun2 ans 1 86 2 simple函数 1 simple s 命令使用多种代数简化方法对s进行化简 并显示最简单的结果 2 R how simple s 命令在返回最简单结果的同时 返回一个描述简化方法的字符串how s 2 cos x 2 sin x 2s 2 cos x 2 sin x 2 sim how simple s sim 3 cos x 2 1how simplify 87 4 4 7替换求值使用subs函数可以将符号表达式中的字符型变量用数值型变量代替求值 1 subs f 将符号表达式f中的符号变量用调用函数或者工作区内的值代替 2 subs f new 将表达式f中的变量用数值型变量或者表达式new代替 3 subs f old new 将表达式f中的符号变量old用数值变量或者表达式new代替 88 symsabt y a exp b t a 2 b 4 subs y ans 2 exp 4 t clear symsabt subs exp a t a magic 2 ans exp t exp 3 t exp 4 t exp 2 t subs a b a b 01 10 1 1 21 ans 0 120 89 4 5符号方程的求解1 一般符号代数方程的求解在MATLAB中 使用solve函数求解一般的符号代数方程组 其使用格式为 g solve eq g solve eq var g solve eq1 eq2 eqn g solve eq1 eq2 eqn var1 var2 varn 在上面的公式中 eq表示具体方程的符号表达式或者字符串 若不指明该表达式的值 则默认为0 var表示未知的变量或者字符串 90 solve a x 2 b x c ans 1 2 a b b 2 4 a c 1 2 1 2 a b b 2 4 a c 1 2 solve a x 2 b x c b ans a x 2 c x S solve x y 1 x 11 y 5 S x 1x1sym y 1x1sym S xans 4 3 S yans 1 3 91 A solve a u 2 v 2 u v 1 a 2 5 a 6 A a 4x1sym u 4x1sym v 4x1sym A aans 2233 A uans 1 3 1 3 i 2 1 2 1 3 1 3 i 2 1 2 1 4 1 4 i 3 1 2 1 4 1 4 i 3 1 2 A vans 2 3 1 3 i 2 1 2 2 3 1 3 i 2 1 2 3 4 1 4 i 3 1 2 3 4 1 4 i 3 1 2 92 例 求解下列方程组 计算u v u v solve a u 2 v 2 u v 1 u v u 1 2 a 1 2 a 2 a 1 2 11 2 a 1 2 a 2 a 1 2 1v 1 2 a 1 2 a 2 a 1 2 1 2 a 1 2 a 2 a 1 2 93 2 符号常微分方程的求解在MATLAB中 使用dsolve函数求解符号微分方程 其使用格式为 r dsolve eq1 eq2 cond1 cond2 v r dsolve eq1 eq2 cond1 cond2 v 说明 1 eq为常微分方程 cond为初始条件 若初始条件没有给出 则给出通解形式 v为自变量 2 完整的dsolve函数包含三部分 微分方程 初始条件 可省略 指定独立变量 省略时默认为t 3 dsolve最多可以接受12个输入参数 94 4 在函数dsolve所包含的eq中 用字母D表示求微分 D后面的数字表示几重微分 D后的变量为因变量 如 dny dx或者dny dt表示为Dny 5 微分方程初始条件 cond 应写为 y a b Dy a d 的格式 当初始条件小于微分方程数时 解中将出现任意常数符C1 C2 任意常数符的数目等于缺少的初始条件数 例 求微分方程y 5的通解 dsolve Dy 5 ans 5 t C1 95 例 求解微分方程f f sin t dsolve Df f sin t ans 1 2 cos t 1 2 sin t exp t C1例 求解微分方程y a y 已知y 0 b dsolve Dy a y y 0 b ans b exp a t 例 求解微分方程y a2y 已知y 0 1 y a 0 dsolve D2y a 2 y y 0 1 Dy pi a 0 ans cos a t 96 例 求解微分方程x y y x A dsolve Dx y Dy x A x 1x1sym y 1x1sym A xans C1 cos t C2 sin t A yans C1 sin t C2 cos t
展开阅读全文
相关资源
相关搜索

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


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

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


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