MATLAB第二章 符号运算

上传人:飞*** 文档编号:5493350 上传时间:2017-08-07 格式:PPT 页数:61 大小:251KB
返回 下载 相关 举报
MATLAB第二章 符号运算_第1页
第1页 / 共61页
MATLAB第二章 符号运算_第2页
第2页 / 共61页
MATLAB第二章 符号运算_第3页
第3页 / 共61页
MATLAB第二章 符号运算_第4页
第4页 / 共61页
MATLAB第二章 符号运算_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《MATLAB第二章 符号运算》由会员分享,可在线阅读,更多相关《MATLAB第二章 符号运算(61页珍藏版)》请在金锄头文库上搜索。

1、09:30,1,第二章 符号计算,09:30,2,符号计算功能,matlab自产生起就在数值计算上功能卓著,深受各专业计算人员的欢迎.但由于在数学,物理等各种科研和工程应用中经常会遇到符号运算的问题. 为此, 公司于1993年购买了 Maple 软件的使用权,并在此基础上,开发了符号计算工具箱 (Symbolic Toolbox),MATLAB中实现符号计算功能的三种途径,1) 调用matlab自己开发的各种功能函数进行常用的符号运算.包括符号表达式与符号矩阵的基本操作,符号矩阵的运算, 符号微积分, 符号线性方程求解, 符号微分方程求解等.,2) 为了特殊专业人员提供方便, matlab还保

2、留mpa.m 和maple.m两个函数与Maple接口,3) 符号函数计算器功能,09:30,3,符号运算与数值运算的区别:,符号运算中,解算数学表达式、方程时,不是在离散化的数值点上进行,而是凭借一系列恒等式和数学定理,通过推理和演绎,获得解析结果。这种计算建立在数值完全准确表达和推演严格解析的基础上,所得结果是完全准确的。,符号运算-代数运算,公式推导,数值运算-算术运算,代值,09:30,4,2.1 符号对象和符号表达式,在matlab中,数值和数值变量用于数值的存储和各种数值计算.而符号常量,符号变量,符号函数,符号操作等则是用来形成符号表达式,严格按照代数,微积分等课程中的规则,公式

3、进行运算,并尽可能给出解析表达式.,2.1.1 符号对象的生成和使用, 数值计算-变量先赋值,再使用., 符号计算-先定义基本的符号对象(可以是常量,变 量,表达式),然后用这些基本符号对象去构成新的表达式,再进行所需的符号运算,09:30,5,符号对象的创建和衍生,1. 生成符号对象的基本规则, 任何基本符号对象(数字、参数、变量、表达式)都必须借助专门的符号函数指令sym或syms定义。 任何包含符号对象的表达式或方程,将继承符号对象的属性。即任何包含符号对象的表达式、方程也一定是符号对象。,09:30,6,符号对象的定义:,f=sym(arg)-把数字,字符串或表达式arg转为符号对象,

4、f=sym(argn,flagn)-把数值或数值表达式转换为flagn格式的符号对象,f=sym(1/2), s=sym(1/3), y=sym(pi), a=sym(b*c ),f=1/2, s=1/3, y=pi, a=b*c,f=sym(1/2,d), s=sym(1/3, d), y=sym(pi, d)f=sym(1/2, r)= sym(1/2),f =.50000000000000000000000000000000s =.33333333333333331482961625624739,09:30,7,syms(argv1, argv2, argvk)-把字符argv1, ar

5、gv2, argvk定义为基本符号对象,syms argv1 argv2 argvk-上述格式的简洁形式,各符号对象间不得有逗号,argv=sym(argv,flagv)-按flagv指定的要求把字符串argv定义为符号对象argv,f=sym(pi), s=sym(2*pi+sin(60*pi*180)+exp(2),f=pi, s=2*pi+sin(60*pi*180)+exp(2),syms(a,b,c),a=a, b=b, c=c,syms a b c,a=a, b=b, c=c,只能定义符号变量,09:30,8,说明: f=sym(argn, flagn)中的argn是数值或数值表达

6、式时,flagn可 选:d-最接近的十进制浮点精确表示. r-最接近的有理表示,缺省选项.有理是指用两 个正整数p,q 构成的p/q, p*pi/q, sqrt(p), 2q, 10q的形式之一 argv=sym(argv,flagv)中的argv是字符时,flagv可取限定选项 positive-限定argv是“正,实”符号变量 real-限定argv是“实”符号变量 unreal- argv是非实符号变量,09:30,9,2 符号数字的定义,格式:sc=sym(num) % sc为值为num的符号数字注意: i) 单引号必须在英文状态下输入,构成字符串 ii) num为一个具体的数字,如:

7、 sc=sym(2/3) sb=sym(pi+sqrt(5),sc=2/3sb=pi+sqrt(5),09:30,10,3 符号参数,定义格式:,i) syms para para=sym(para) syms a; a=sym(a),ii) syms para flag para=sym(para, flag) syms a positive; a=sym(a, positive),iii) syms a b c syms a b c flag,flag为参数属性:positive-参数取正实数real-参数为实数unreal-参数为限定的复数,4 符号变量,表达式中的自变量,无逗号,09:

8、30,11,推荐格式:,定义符号变量:,syms 变量名,syms a b c,定义符号常数:,常数名=sym(常数值),K=sym(2/3);,定义符号常数:,表达式名=sym(表达式);,f=sym(a*sin(x)+b);,09:30,12,例2.1.1-1 符号对象的生成,a1= 1/3, pi/7, sqrt(5), sqrt(9), 5.1, pi+sqrt(5) a2=sym(1/3, pi/7, sqrt(5), sqrt(9), 5.1, pi+sqrt(5) a3=sym(1/3, pi/7, sqrt(5), sqrt(9), 5.1, pi+sqrt(5) ,a1 =0

9、.3333 0.4488 2.2361 3.0000 5.1000 5.3777a2 =1/3, pi/7, sqrt(5), 3, 51/10, q*2(- 50)a3 =1/3, pi/7, sqrt(5), sqrt(9), 5.1, pi+sqrt(5),q=6054707603575008,a23=a2-a3,a23=0, 0, 0, 0, 0, 189209612611719/35184372088832-pi-5(1/2),09:30,13,例5.1.1-2 把字符表达式转换为符号变量,y=sym(2*sin(x)*cos(x)y=simple(y),y=sin(2*x),说明:

10、,1)是数值常数, 是最接近的有理表示, 是绝对准确的符号数值表示,2) 部分元素相同,是因为 中的那几个元素是有理表示的基本形式,所以也是绝对准确的,3) 指令产生的符号数值总是绝对准确的,因此建议:在产生符号常量时应优先使用这种输入方式,把数值放入单引号对中,数组元素间一定要采用逗号分隔,在符号运算中,如果事先没有对表达式中的独立变量进行定义,那么系统将自动检查哪些字符是符号函数,哪些是符号变量,并且总是把在英文字母表中离x最近的字母认做独立符号变量,09:30,14,例2.1.1-3 用符号计算验证三角等式,syms phi1 phi2;y=simple(sin(phi1)*cos(ph

11、i2)-cos(phi1)*sin(phi2);,y=sin(phi1-phi2),例2.1.1-4 求矩阵,的行列式,逆和特征值,syms a11 a12 a21 a22;A=a11,a12;a21,a22;DA=det(A), IA=inv(A), EA=eig(A),A = a11, a12 a21, a22,DA =a11*a22-a12*a21,09:30,15,例2.1.1-4 验证积分,syms A t tao w;yf=int(A*exp(-i*w*t), t, -tao/2, tao/2);yf=simple(yf),yf =2*A*sin(1/2*tao*w)/w,练习:

12、展开sin(4x) (expand),09:30,16,2.1.2 符号计算中的算符和基本函数,由于新版matlab采用了重载技术, 使得用来构成符号计算表达式的算符和基本函数,无论在形状,名称,还是使用方法上,都与数值计算中的算符和基本函数几乎完全相同,这给编程带来极大的方便.,(2) 关系运算符在符号对象的比较中,没有大于,大于等于,小于,小于等于的概念,而只有是否等于的概念. ”=“ “=“分别用来对算符两边的对象进行相等和不等的比较,返回为逻辑量,(1) 基本运算符算符 ”+”, ”-”, ”*”, ”, “/”,“” 分别构成矩阵的加, 减, 乘,左除,右除,求幂运算. 算符 ”.*

13、”, “./”, “.”, “.” 分别实现元素对元素的数组乘,除,求幂运算.算符” ”, “ . ” 分别实现矩阵的共轭转置,非共轭转置,09:30,17,(4) 指数,对数函数函数sqrt, exp, expm在两者中用法相同符号计算中只有自然对数,而没有数值计算中的log2, log10,(5) 复数函数conj, imag, real, abs在两者中用法相同.但在符号计算中没有求相角的指令.,(6) 矩阵代数指令在符号计算中, matlab提供的常用矩阵代数指令有:diag, triu, tril, inv, det, rank, rref, null, colspace, expm

14、, poly, eig, svd,(3) 三角函数,双曲线函数以及他们的反函数,除atan2只能用于数值计算外,另外的在两种运算中使用方法相同.,09:30,18,数值计算对象,符号计算对象,字符串是MATALB中最常用的数据对象.他们遵循各自不同的运算法则,但有时在外形上却十分相似.MATLAB提供了一些识别不同数据对象的指令,常用的有class, isa, whos,例2.1.3-1 数据对象及其识别指令的使用,(1) 生成三种不同类型的矩阵,给出不同的显示形式,clear, a=1;b=2;c=3;d=4 % 产生四个数值变量,Mn=a,b,c,d % 利用已赋值变量构成数值矩阵,Mc=a,b,c,d % 字符串中的a,b,c,d与前面输入的数值变量无关,Ms=sym(Mc) % 符号变量,与前面的各变量无关,Mn = 1 2 3 4,Mc =a,b;c,d,Ms = a, b c, d,2.1.3 对象类别的识别,09:30,19,(2) 三个矩阵的大小不同,SizeMn=size(Mn), SizeMc=size(Mc), SizeMs=size(Ms),SizeMn = 2 2,SizeMc = 1 9,SizeMs = 2 2,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

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