通信原理教程(第二版)樊昌信

上传人:飞*** 文档编号:46342602 上传时间:2018-06-25 格式:PPT 页数:29 大小:298.50KB
返回 下载 相关 举报
通信原理教程(第二版)樊昌信_第1页
第1页 / 共29页
通信原理教程(第二版)樊昌信_第2页
第2页 / 共29页
通信原理教程(第二版)樊昌信_第3页
第3页 / 共29页
通信原理教程(第二版)樊昌信_第4页
第4页 / 共29页
通信原理教程(第二版)樊昌信_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《通信原理教程(第二版)樊昌信》由会员分享,可在线阅读,更多相关《通信原理教程(第二版)樊昌信(29页珍藏版)》请在金锄头文库上搜索。

1、第五讲 MATLAB的符号运算 matlab 不仅具有数值运算 功能,还开发了在matlab环境下 实现符号计算的工具包Symbolic Math Toolbox 符号运算的功能符号表达式、符号矩 阵的创建 符号线性代数 因式分解、展开和简 化 符号代数方程求解 符号微积分 符号微分方程一、符号运算的基本操作什么是符号运算 与数值运算的区别 数值运算中必须先对变量赋值 ,然后才能参与运算。 符号运算无须事先对独立变量 赋值,运算结果以标准的符号形式 表达。特点: 运算对象可以是没赋值的符号变 量 可以获得任意精度的解 Symbolic Math Toolbox符号运 算工具包通过调用Maple

2、软件实现 符号计算的。 maple软件主要功能是符号运 算,它占据符号软件的主导地位。 2. 符号变量与符号表达式f = sin(x)+5x f 符号变量名 sin(x)+5x 符号表达式 符号标识 v符号表达式一定要用 单引 号括起来matlab才能识别。3.符号变量的创建 sym函数定义符号变量x=sym(x) %建立符号变量xsyms x y z %等价于 x=sym(x) , y=sym(y) , z=sym(z) 直接法f=a*x2+b*x+c %建立符号表达式f=a*x2+b*x+c=0 %建立符号方程4.符号矩阵的创建数值矩阵A=1,2;3,4A=a,b;c,d 不识别 用mat

3、lab函数sym创建矩阵( symbolic的缩写)命令格式:A=sym( ) 符号矩阵内容同数值矩阵 需用sym指令定义 需用 标识例如:A = sym(a , 2*b ; 3*a , 0)A = a, 2*b3*a, 0这就完成了一个符号矩阵的创建。注意:符号矩阵的每一行的两端都有 方括号,这是与 matlab数值矩阵 的一个重要区别。v将数值矩阵转化为符号矩阵函数调用格式:sym(A) A=1/3,2.5;1/0.7,2/5 A =0.3333 2.50001.4286 0.4000 sym(A) ans = 1/3, 5/2 10/7, 2/5 符号矩阵与数值矩阵的转换v将符号矩阵转化

4、为数值矩阵 函数调用格式: numeric(A) A = 1/3, 5/2 10/7, 2/5 numeric(A) ans =0.3333 2.50001.4286 0.4000符号矩阵运算符号运算的四则运算符和数值运算的 运算符相同。例如1:syms a b c dA=sym (a b;c d); B=sym (a+b,a-b;c+d,c-d) ;A+B=2*a+b, a2*c+d, c二、符号运算A*B= a*(a+b)+b*(c+d), a*(a-b)+b*(c-d) c*(a+b)+d*(c+d), c*(a-b)+d*(c-d)A.*B=a*(a+b), b*(a-b)c*(c+d

5、), d*(c-d)A./B=a/(a+b), b/(a-b)c/(c+d), d/(c-d)A2=a2+b*c, a*b+b*da*c+c*d, b*c+d2例2:f= 2*x2+3*x-5; g= x2+x-7; syms x f=2*x2+3*x-5; g= x2+x-7; h=f+g h = 3*x2+4*x-12 例3:f=cos(x);g= sin(2*x); syms x f=cos(x);g=sin(2*x); f/g+f*g ans = cos(x)/sin(x)+cos(x)*sin(x) 符号运算函数: symsize 求符号矩阵维数 charploy 特征多项式 det

6、erm 符号矩阵行列式的 值 eigensys 特征值和特征向量 inverse 逆矩阵 transpose 矩阵的转置 jordan 约当标准型 simple 符号矩阵简化2. 任意精度的数学运算 在symbolic中有三种不同的算术运算:数值类型 matlab的浮点算术运算有理数类型 maple的精确符号运算vpa类型 maple的任意精度算术运算 浮点算术运算1/2+1/3 (定义输出格式format long)ans =0.83333333333333 符号运算 sym(1/2)+(1/3)ans =5/6 精确解任意精度算术运算digits(n) 设置可变精度,缺省16位vpa(x,

7、n) 显示可变精度计算digits(25)vpa(1/2+1/3)ans =.8333333333333333333333333vpa(5/6,40) ans = .833333333333333333333333333333333333333 3a=sym(1/4,exp(1);log(3),3/7) a = 1/4,exp(1) log(3), 3/7 vpa(a,10) ans = .2500000000, 2.718281828 1.098612289, .4285714286diff(f) 对缺省变量求微分diff(f,v) 对指定变量v求微分diff(f,v,n) 对指定变量v求n

8、阶微分int(f) 对f表达式的缺省变量求积分int(f,v) 对f表达式的v变量求积分int(f,v,a,b) 对f表达式的v变量在(a,b)区间求定积分3. 符号微积分与积分变换int(被积表达式,积分变量,积分上限,积分下限) 定积分缺省时为不定积分F=int(int(x*exp(-x*y),x),y) F=1/y*exp(-x*y)例2.计算 f=x*exp(-x*10)的Z变换F=ztrans(f)F=z*exp(-10)/(z-exp(-10)2例1.计算二重不定积分 syms x y F=int(int(x*exp(-x*y),x),y) F = 1/y*exp(-x*y) sy

9、ms x f=x*exp(-x*10); F=ztrans(f) F=ztrans(x*exp(-x*10); F = z*exp(-10)/(z-exp(-10)2 a=0 1;-2 -3; syms s b=(s*eye(2)-a) b = s, -1 2, s+3 B=inv(b) (s+3)/(s2+3*s+2), 1/(s2+3*s+2) -2/(s2+3*s+2), s/(s2+3*s+2)4.符号代数方程求解matlab符号运算能够解一般的线性 方程、非线性方程及一般的代数方程 、代数方程组。当方程组不存在符号 解时,又无其他自由参数,则给出数 值解。命令格式:solve(f)

10、求一个方程的解Solve(f1,f2, fn) 求n个方程的解例1. f = ax2+bx+c 求解 f=a*x2+b*x+c; solve(f) 对缺省变量x求解 ans = 1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2)计算机 格式一般格式例2. 解方程组 x+y+z=1 x-y+z=22x-y-z=1g1=x+y+z=1,g2=x-y+z=2,g3=2*x-y- z=1f=solve(g1,g2,g3)f=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)f =z = 5/6, y = -1/2, x = 2/35.

11、符号微分方程求解 用一个函数可以方便地得到微分方程的符号解 符号微分方程求解指令:dsolve 命令格式:dsolve(f,g) f 微分方程,可多至12个微分方程的求解;g为初始条件 默认自变量为 x,可任意指定自变量t, u等 微分方程的各阶导数项以大写字母D表示 或或或y的一阶导数 Dyy的二阶导数 D2yy的 n 阶导数 Dnyy1,y2=dsolve(x1,x2,xn) 返回 微分方程的解一阶微分方程 dsolve(Dx=y,Dy=x,x(0)=0,y(0)=1) ans = x(t) = sin(t), y(t) = cos(t)二阶微分方程 dsolve(D2y=-a2*y,y(0)=1,Dy(pi/a)=0) ans = cos(a*x)小 结本节介绍了matlab语言的符号运算功能,通过学习应该掌握: 掌握如何创建、修改符号矩阵 掌握符号运算功能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号