数学建模符号计算讲解

上传人:我** 文档编号:112921709 上传时间:2019-11-07 格式:PPT 页数:79 大小:959.50KB
返回 下载 相关 举报
数学建模符号计算讲解_第1页
第1页 / 共79页
数学建模符号计算讲解_第2页
第2页 / 共79页
数学建模符号计算讲解_第3页
第3页 / 共79页
数学建模符号计算讲解_第4页
第4页 / 共79页
数学建模符号计算讲解_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《数学建模符号计算讲解》由会员分享,可在线阅读,更多相关《数学建模符号计算讲解(79页珍藏版)》请在金锄头文库上搜索。

1、,通知 明天(4.15)上午的培训课因有部分同学要参加考试,所以暂停一次。下周六下午正常。望相互转告!,符号计算,本节目标,一是讲述MATLAB符号计算基本知识,包括符号对象的创建、符号数字、符号表达式的操作; 二是介绍符号微积分的计算; 三是介绍符号矩阵分析和代数方程(组)的符号解法; 四是介绍符号计算结果的可视化。,本节重点,熟悉符号对象的创建、符号数字、符号表达式的操作。 熟悉符号微积分的基本计算函数指令。 熟悉代数方程(组)的符号解法。 熟悉符号计算结果可视化的的基本指令。 了解符号计算帮助系统及其帮助指令。,本节内容,1符号对象和符号表达式 2 符号数字及表达式的操作 3 符号微积分

2、 4 微分方程的符号解法 5 符号变换和符号卷积 6 符号矩阵分析和代数方程解 7 代数状态方程求符号传递函数 8 符号计算结果的可视化 9 符号计算资源深入利用,Matlab的符号计算功能,matlab自产生起就在数值计算上功能卓著,深受各专业计算人员的欢迎.但由于在数学,物理等各种科研和工程应用中经常会遇到符号运算的问题. 为此, 公司于1993年购买了 Maple 软件的使用权,并在此基础上,开发了符号计算工具箱 (Symbolic Math Toolbox),符号运算与数值运算的区别:,符号运算中,解算数学表达式、方程时,不是在离散化的数值点上进行,而是凭借一系列恒等式和数学定理,通过

3、推理和演绎,获得解析结果。这种计算建立在数值完全准确表达和推演严格解析的基础上,所得结果是完全准确的。,符号运算-代数运算,公式推导,数值运算-算术运算,代值,2.1 符号对象和符号表达式,在matlab中,数值和数值变量用于数值的存储和各种数值计算.而符号常量,符号变量,符号函数,符号操作等则是用来形成符号表达式,严格按照代数,微积分等课程中的规则,公式进行运算,并尽可能给出解析表达式.,2.1.1 符号对象的创建和衍生, 数值计算-变量先赋值,再使用., 符号计算-先定义基本的符号对象(可以是常量,变 量,表达式),然后用这些基本符号对象去构成新的表达式,再进行所需的符号运算,2.1.1

4、符号对象的创建和衍生,1. 生成符号对象的基本规则, 任何基本符号对象(数字、参数、变量、表达式)都必须借助专门的符号函数指令sym或syms定义。 任何包含符号对象的表达式或方程,将继承符号对象的属性。即任何包含符号对象的表达式、方程也一定是符号对象。,2 符号数字的定义,格式:sc=sym(num) % sc为值为num的符号数字 注意: i) 单引号必须在英文状态下输入,构成字符串 ii) num为一个具体的数字,如: sc=sym(2/3) sa=sym(pi+sqrt(5),sc=2/3 sb =pi + 5(1/2),2 符号数字的定义,【例2.1-1】符号(类)数字与数值(类)数

5、字之间的差异。,a=pi+sqrt(5) sa=sym(pi+sqrt(5) Ca=class(a) Csa=class(sa) vpa(sa-a),a = 5.3777 sa = pi + 5(1/2) Ca = double Csa = sym ans =0.00000000000000001382237584108520004859354256418,本例表现符号数字总是被准确记录和运算,而数值数字并不总能保证被准确存储,运算时会引进截断误差。,3. 基本符号变量:,定义格式:,i) syms para para=sym(para) syms a; a=sym(a),ii) syms p

6、ara flag para=sym(para, flag) syms a positive; a=sym(a, positive),flag为参数属性: positive-参数取正实数 real-参数为实数 unreal-参数为限定的复数,符号参数(表达式中的参数), “待解符号变量”或“自由符号变量” (表达式中的自变量x,默认为x),4. 自由符号变量,symvar(expression) 列出表达式中所有基本符号变量 symvar(expression,n) 列出表达式中认定n个自由符号变量,expression是符号表达式或符号表达式矩阵,x是首选自由符号变量,认定优先次序为x, y,

7、 w, z, v等,解题结果是“用符号参数构成的表达式表述自由符号变量”。解题时自由符号变量可“人为指定”,也可“默认地自动认定”:与小写字母 x 的ASII码距离最小的变量。,4. 自由符号变量,syms a b t u v x y A=a+b*x, sin(t)+u; x*exp(-t), log(y)+v symvar(A,1) A = a + b*x, u + sin(t) x/exp(t), v + log(y) ans = x,【例2.1-4】symvar确定自由变量是对整个矩阵进行的。,2.1.2 符号计算中的算符,由于新版matlab采用了重载(Overload)技术, 使得用

8、来构成符号计算表达式的算符和基本函数,无论在形式,名称,还是使用方法上,都与数值计算中的算符和基本函数几乎完全相同,这给编程带来极大的方便.,(1) 基本运算符 算符 ”+”, ”-”, ”*”, ”, “/”,“” 分别构成矩阵的加, 减, 乘,左除,右除,求幂运算. 算符 ”.*”, “./”, “.”, “.” 分别实现元素对元素的数组乘,除,求幂运算.算符” ”, “ . ” 分别实现矩阵的共轭转置,非共轭转置,2.1.2 符号计算中的算符,(2) 关系运算符 在符号对象的比较中,没有大于,大于等于,小于,小于等于的概念,而只有是否等于的概念。 ”=“ “=“分别用来对算符两边的对象进

9、行相等和不等的比较,返回为逻辑量。事实为真时,比较结果为1,事实为假时,结果为0.,2.1.3 符号计算中的函数指令,符号计算中的函数分成三个层次: 与数值类函数和指令对应的同名符号类函数和指令。 约50个经典特殊函数(误差函数erf、贝塞尔函数besselj、椭圆积分ElliptiK等),借助mfun调用,用mfunlist可列出。 数量较大的MuPAD库函数,借助evalin和feval调用。,(2) 指数,对数函数 sqrt, exp, expm在两者中用法相同符号计算中只有自然对数log,而没有数值计算中的log2, log10,(3) 复数函数 conj, imag, real, a

10、bs在两者中用法相同.但在符号计算中没有求相角的指令angle.,(1) 三角函数,双曲线函数以及他们的反函数,除atan只能用于数值计算外,另外的在两种运算中使用方法相同.,与数值类函数和指令对应的同名符号类函数和指令,(4) 矩阵代数指令 在符号计算中, matlab提供的常用矩阵代数指令有:diag, tril, inv, det, rank, eig, svd( Singular value decomposition奇异值分解)等,与数值类函数和指令对应的同名符号类函数和指令,(5) 方程求解指令solve,与数值类不同。,(6) 微积分如diff,int,与数值类不完全相同。,(7

11、) 积分变换和反变换函数如laplace, ilaplace,数值类只有Fourier变换。,(8) 绘图函数如ezplot,ezsurf,数值类绘图指令更丰富。,数值计算对象,符号计算对象,字符串是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

12、=a,b; c,d % 字符串中的a,b,c,d与前面输入的数值变量无关,Ms=sym(Mc) % 符号变量,与前面的各变量无关,2.1.4 符号对象的识别,Mn = 1 2 3 4,Mc = a,b;c,d,Ms = a, b c, d,SizeMn=size(Mn), SizeMc=size(Mc), SizeMs=size(Ms),SizeMn = 2 2,SizeMc = 1 9,SizeMs = 2 2,Mn = 1 2 3 4,Mc = a,b;c,d,Ms = a, b c, d,(2) 三个矩阵的大小不同,(5) 利用whos观察内存变量的类别和其他属性,Name Size B

13、ytes Class Mc 1x9 18 char array Mn 2x2 32 double array Ms 2x2 312 sym object,a=0:1:6; theta=sym(30*pi/180*a) alfa=sym(30*pi/180)*a,whos P26 Name Size Bytes Class ans 1x1 8 double t 1x201 1608 double y 1x201 1608 double,2.1.5 符号运算机理和变量假设,1.符号运算的工作机理,Matlab借助sym或syms定义符号变量时,启动MuPAD引擎并启动一个专供MuPAD使用的内存工

14、作空间执行符号运算; matlab内存空间只保存该符号变量和计算结果。 该定义变量的限定性假设(assumption)被保存在MuPAD的内存空间。 若变量不带限定性假设,则MuPAD默认为复数。,2.1.5 符号运算机理和变量假设,2. 对符号变量的限定性假设,i) syms x para=sym(x),ii) syms x flag para=sym(x, flag) syms a positive; a=sym(a, positive),iii) syms a b c syms a b c flag,flag为参数属性: positive-参数取正实数 real-参数为实数 unreal

15、-参数为限定的复数,2.1.5 符号运算机理和变量假设,3. 清除变量和撤销假设,符号变量和其假设存放在不同的内存空间,因此删除符号变量和撤销关于变量的假设是两件需要分别处理的事情。 clear all 可同时删除,clear x 删除matlab内存中的x变量 syms x clear 撤销MuPAD内存中对变量x的假设,evalin(symengine,getprop(x) ) 获取x的限定性假设 evalin(symengine,anames (Properties) 列出MuPAD内存中带限定性假设的符号变量 reset(symengine) 重启MuPAD引擎,清空MuPAD内存,clear all 删除matlab及 MuPAD内存中的所有变量,2.2 符号数字及表达式的操作,2.2.1双精度数字与符号数字之间的转换,sym(num, r) % “有理分数”表达的符号数字 : p/q, n(p/q) sym(num) % sym(num, r) 的简写形式,1

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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