ch_符号计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 2 章符号计算
符号计算:
解算数学表达式、方程不是在离散化的数值点上进行,而是凭借一系列恒等式,数学定理,通过推理和演绎,获得解析结果.
特点:
一,相对于MATLAB的数值计算“引擎”和“函数库”而言,符号计算的“引擎”和“函数库”是独立的.
二,在相当一些场合,符号计算解算问题的指令和过程,显得比数值计算更自然、更简明.三,大多数理工科的本科学生在学过高等数学和其他专业基础课以后,比较习惯符号计算的解题理念和模式.
Symbolic Math Toolbox™The computational engine underlying the toolboxes is the kernel of Maple software, a system developed primarily at the University of Waterloo, Canada and, more recently, at the Eidgen?ssiche Technische Hochschule, Zürich, Switzerland. Maple software is marketed and supported by Waterloo Maple, Inc.
运算引擎MuPAD
MuPAD作为MATLAB7.8的符号计算工具箱,是一具有人工智能的数学软件.方程式可以处理复数计算,完美的绘图功能,图型输入,输出,可以输入多个2-D函数或极坐标函数或3-D 函数,选择所要绘图参数,就可以完成图形,以及图形的动画制作也是非常方便.数值计算结果并不是MATLAB命令行窗口所得的类似代码形式,而是规范数学格式.并拥有一内建的程序语言,帮助文档以及文本操作,文本操作在一定程度上可以取代word.
MathWorks自从2008年10开始,在Matlab的新版本(Matlab2008a,即7.6之后)中使用MuPAD 内核替换原来的Maple符号计算内核!
2.1符号对象和符号表达式
MATLAB依靠基本符号对象(包括数字、参数、变量)、运算符及一些预定义函数来构造和衍生符号表达式和符号方程.
2.1.1符号对象的创建和衍生
一生成符号对象的基本规则
●任何基本符号对象都必须借助专门的符号函数指令sym或syms定义.
●任何包含符号对象的表达式或方程,将继承符号对象的属性.
二符号数字
符号(类)数字的定义:
sym('Num') 创建一个符号数字Num
sc=sym('Num') 创建一个符号常数sc,该常数值准确等于Num
说明:Num代表一个具体的数字
Num必须处于(英文状态下的)单引号内,构成字符串(关于字符串参见附录A.1). 【例2.1-1】符号(类)数字与数值(类)数字之间的差异.
a=pi+sqrt(5) % 创建方式
sa=sym('pi+sqrt(5)')
Ca=class(a) % 类别判断
Csa=class(sa)
vpa(sa-a)
a =
5.3777
sa =
pi+sqrt(5)
Ca =
double
Csa =
sym
ans =
.138223758410852e-16
三符号参数
表达式e-ax sinbx中的a,b称为参数.
定义格式:
syms Para 定义符号参数Para
Para=sym('Para')
syms Para Flag 定义具有Flag指定属性的符号参数Para
Para=sym('Para', 'Flag')
syms Para1 Para2 ParaN 定义Para1 Para2 ParaN为符号参数
syms Para1 Para2 ParaN Flag 定义Para1 Para2 ParaN为具有Flag指定属性的符号参数●符号参数名不要用处于“字母表中小写字母x及其两侧的英文字母”开头.
●Flag表示参数属性,可具体取以下词条:
positive 表示那些符号参数取正实数;
real 表示那些符号参数限定为实时;
unreal 表示那些符号参数为不限定的复数.
syms x a b
int(1/(x),a,b)
Warning: Warning, unable to determine if 0 is between a and
b; try to use assumptions or set _EnvAllSolutions to true
Warning: Explicit integral could not be found.
> In sym.int at 58
ans =
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 and
b; try to use assumptions or set option _EnvAllSolutions to
true
Warning: Explicit integral could not be found.
> In sym.int at 58
Intergral =
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-ax sinbx中的x称为变量,符号变量的定义同符号参数.
确定自由符号变量的规则:
●在专门指定变量名的符号运算中,解题一定围绕指定变量名进行.
●自动识别符号变量时,字母的优先次序为x,y,w,z,v等.
自动识别表达式中自由、独立的符号变量的指令: