ch_符号计算

上传人:恋** 文档编号:120720262 上传时间:2020-02-08 格式:DOC 页数:12 大小:194KB
返回 下载 相关 举报
ch_符号计算_第1页
第1页 / 共12页
ch_符号计算_第2页
第2页 / 共12页
ch_符号计算_第3页
第3页 / 共12页
ch_符号计算_第4页
第4页 / 共12页
ch_符号计算_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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

1、第 2 章 符号计算符号计算:解算数学表达式、方程不是在离散化的数值点上进行,而是凭借一系列恒等式,数学定理,通过推理和演绎,获得解析结果.特点:一,相对于MATLAB的数值计算“引擎”和“函数库”而言,符号计算的“引擎”和“函数库”是独立的.二,在相当一些场合,符号计算解算问题的指令和过程,显得比数值计算更自然、更简明.三,大多数理工科的本科学生在学过高等数学和其他专业基础课以后,比较习惯符号计算的解题理念和模式.Symbolic Math Toolbox The computational engine underlying the toolboxes is the kernel of M

2、aple software, a system developed primarily at the University of Waterloo, Canada and, more recently, at the Eidgen?ssiche Technische Hochschule, Zrich, Switzerland. Maple software is marketed and supported by Waterloo Maple, Inc.运算引擎MuPADMuPAD作为MATLAB7.8的符号计算工具箱,是一具有人工智能的数学软件.方程式可以处理复数计算,完美的绘图功能,图型

3、输入,输出,可以输入多个2-D函数或极坐标函数或3-D函数,选择所要绘图参数,就可以完成图形,以及图形的动画 制作也是非常方便.数值计算结果并不是MATLAB命令行窗口所得的类似代码形式,而是规范数学格式.并拥有一内建的程序语言,帮助文档以及文本操作,文本操作在一定程度上可以取代word.MathWorks自从2008年10开始,在Matlab的新版本(Matlab2008a,即7.6之后)中使用MuPAD内核替换原来的Maple符号计算内核!2.1 符号对象和符号表达式MATLAB依靠基本符号对象(包括数字、参数、变量)、运算符及一些预定义函数来构造和衍生符号表达式和符号方程.2.1.1 符

4、号对象的创建和衍生 一 生成符号对象的基本规则l 任何基本符号对象都必须借助专门的符号函数指令sym或syms定义.l 任何包含符号对象的表达式或方程,将继承符号对象的属性. 二 符号数字符号(类)数字的定义:sym(Num) 创建一个符号数字Numsc=sym(Num) 创建一个符号常数sc,该常数值准确等于Num说明:Num代表一个具体的数字 Num必须处于(英文状态下的)单引号内,构成字符串(关于字符串参见附录A.1).【例2.1-1】符号(类)数字与数值(类)数字之间的差异.a=pi+sqrt(5)% 创建方式sa=sym(pi+sqrt(5)Ca=class(a)% 类别判断Csa=

5、class(sa)vpa(sa-a)a = 5.3777sa =pi+sqrt(5)Ca =doubleCsa =symans =.138223758410852e-16 三 符号参数表达式e-axsinbx中的a,b称为参数.定义格式:syms Para 定义符号参数ParaPara=sym(Para) syms Para Flag 定义具有Flag指定属性的符号参数ParaPara=sym(Para, Flag) syms Para1 Para2 ParaN 定义Para1 Para2 ParaN为符号参数syms Para1 Para2 ParaN Flag 定义Para1 Para2

6、ParaN为具有Flag指定属性的符号参数l 符号参数名不要用处于“字母表中小写字母x及其两侧的英文字母”开头.l Flag表示参数属性,可具体取以下词条:positive 表示那些符号参数取正实数; real 表示那些符号参数限定为实时; unreal 表示那些符号参数为不限定的复数.syms x a bint(1/(x),a,b) Warning: Warning, unable to determine if 0 is between a andb; try to use assumptions or set _EnvAllSolutions to trueWarning: Explic

7、it integral could not be found. In sym.int at 58ans =int(1/x,x = a . b) Var=sym(x);Upp=sym(a,real);Low=sym(b,real);Intergral=int(1/(x),a,b) Warning: Warning, unable to determine if 0 is between a andb; try to use assumptions or set option _EnvAllSolutions totrueWarning: Explicit integral could not b

8、e found. In sym.int at 58Intergral =int(1/x,x = a . b) Var=sym(x);Upp=sym(a,positive);Low=sym(b,positive);Intergral=int(1/(x),a,b) Intergral =-log(a)+log(b) 四 符号变量 e-axsinbx中的x称为变量,符号变量的定义同符号参数. 确定自由符号变量的规则:l 在专门指定变量名的符号运算中,解题一定围绕指定变量名进行.l 自动识别符号变量时,字母的优先次序为x,y,w,z,v等.自动识别表达式中自由、独立的符号变量的指令: findsym(

9、EXPR) 确认表达式EXPR中所有自由符号变量 findsym(EXPR, N) 确认表达式EXPR中距离x最近的N个自由符号变量【例2.1-2】用符号计算研究方程的解.(1)不指定变量情况syms u v w z% 定义符号参数/变量Eq=u*z2+v*z+w;result_1=solve(Eq)%findsym(Eq,1) result_1 =-u*z2-v*zans =w (2)指定变量情况result_2=solve(Eq,z) result_2 = -1/2*(v-(v2-4*u*w)(1/2)/u -1/2*(v+(v2-4*u*w)(1/2)/u 【例2.1-3】对独立自由符号

10、变量的自动辨认.(1)syms a b x X Y % 定义符号参数/变量k=sym(3); % 符号常数z=sym(c*sqrt(delta)+y*sin(theta1); % 直接定义符号表达式EXPR=a*z*X+(b*x2+k)*Y; % 构成衍生符号表达式(2)findsym(EXPR)ans =X, Y, a, b, c, delta, theta1, x, y (3)findsym(EXPR,1) ans =x (4)findsym(EXPR,2),findsym(EXPR,9) ans =x,yans =x,y,theta1,delta,c,b,a,X,Y 【例2.1-4】fi

11、ndsym确定自由变量是对整个矩阵进行的.syms a b t u v x yA=a+b*x,sin(t)+u;x*exp(-t),log(y)+vfindsym(A,5) A = a+b*x, sin(t)+u x*exp(-t), log(y)+vans =x,y,v,u,t 2.1.2 符号计算中的算符l 与数值计算中的算符在形状、名称和使用方法上几乎完全相同.l 仅注意:在符号对象的关系运算符中,只有算符“=”,“=”比较结果为“真”时,用1表示; 否则用0表示.2.1.3 符号计算中的函数指令表2.1-1 MATLAB中可调用的符号计算函数指令类 别情况描述与数值计算对应关系基本函数

12、三角函数、双曲函数及反函数;除atan2外名称和使用方法相同指数、对数函数(如exp,expm)只有log,无log2和log10syms xlog10(x) 名称和使用方法相同复数函数(注意:没有幅角函数angle)z=1+i;angle(z) a=sym(1+i);abs(a)angle(a) 名称和使用方法相同矩阵分解函数(如eig等)名称和使用方法相同方程求解函数solve不同微积分函数(如diff,int)不完全相同积分变换和反变换函数(如laplace,ilaplace)只有离散Fourier变换绘图函数(如ezplot,ezsurf)数值绘图指令更丰富 经典特殊函数如误差函数er

13、f、贝塞尔函数besselj、第一类完全椭圆积分EllipticK等;通过mfunlist可以看到所有经典函数名部分 Maple库函数Maple库函数在符号计算的扩展目录上;可通过mhelp index 看到各子函数库的名称;函数的数量很大;使用库函数,需要具备Maple语言知识注意:使用函数注意数据类型.就数字而言,有双精度和符号类数字之分.2.1.4 符号对象的识别为了函数指令与数据对象的适配,MATLAB提供了用于识别数据对象属性的指令:class(var) 给出变量var的数据类别(如double,sym等)isa(var, Obj) 若变量var是Obj代表的类型,给出1,表示“真”whos 给出所有MATLAB内存变量的属性【例2.1-5】数据对象及其识别指令的使用.(1)cleara=1;b=2;c=3;d=4; % 产生4个数值变量Mn=a,b;c,d % 利用已赋值变量构成数值矩阵Mc=a,b;c,d % 字符串中的a,b,c,d与前面输入的数值变量无关Ms=sym(Mc) % Ms是一个符号矩阵,它与前面各变量无关Mn = 1 2 3 4Mc =a,b;c,dMs = a, b c, d

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

当前位置:首页 > 中学教育 > 试题/考题 > 高中试题/考题

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