- 8
- 0
- 约5.37千字
- 约 55页
- 2016-07-31 发布于湖北
- 举报
*;什么是符号运算?
直接对抽象的符号对象进行计算,结果以标准的符号形式来表示。
可以获得比数值计算更一般的结果。
符号运算的特点:
运算以推理解析的方式进行,因此不受计算误差积累问题困扰;
计算结果或给出完全正确的封闭解,或给出任意精度的数值解(当封闭解不存在时);
符号计算指令的调用比较简单,经典教科书公式相近;
计算所需时间较长,有时难以忍受。;MATLAB符号运算是通过集成在MATLAB中的符号运算工具箱(symbolic math toolbox)来实现的。符号数学工具箱中的工具是建立在功能强大的称作Maple软件的基础上。
它最初是由加拿大的滑铁卢(Waterloo)大学开发的。当要求MATLAB进行符号运算时,它就请求Maple去计算并将结果返回到MATLAB命令窗口。
符号数学工具箱是操作和解决符号表达式的符号数学工具箱(函数)集合,有符号表达式的运算,复合、简化、微分、积分以及求解代数方程和微分方程的工具。;符号计算基础
符号函数及其应用
符号积分
级数
符号方程求解
;MATLAB定义了一种符号数据类型
运算对象为符号对象
符号常量:无变量的符号表达式称作符号常量
符号变量
符号表达式
建立符号对象
x=sym(‘x’) 创建单个符号常量/变量x
符号常量: x不为变量
符号变量: x为字符、字符串、表达式或字符表达式
syms用于方便地一次创建多个符号变量,调用格式为:
syms a b c d .
这种格式定义符号变量时不需要在变量名上加字符分界符(),变量间用空格而不要用逗号分隔。
书写简洁意义清楚,建议使用。
;符号表达式
含有符号对象的表达式称为符号表达式
MATLAB在内部把符号表达式表示成字符串,以与数字变量或运算相区别;否则,这些符号表达式几乎完全象基本的MATLAB命令。
符号表达式例子以及MATLAB等效表达式
;考察符号变量和数值变量的差别
例
a=sym(a);b=sym(b);c=sym(c);d=sym(d);
%定义4个符号变量
w=10;x=5;y=-8;z=11; %定义4个数值变量
A=[a,b;c,d] %建立符号矩阵A
B=[w,x;y,z] %建立数值矩阵B
det(A) %计算符号矩阵A的行列式
det(B) %计算数值矩阵B的行列式
;比较符号常数与数值在代数运算时的差别
例
pi1=sym(pi);k1=sym(8);k2=sym(2);k3=sym(3);
% 定义符号变量
pi2=pi;r1=8;r2=2;r3=3; % 定义数值变量
sin(pi1/3) % 计算符号表达式值
sin(pi2/3) % 计算数值表达式值
sqrt(k1) % 计算符号表达式值
sqrt(r1) % 计算数值表达式值
sqrt(k3+sqrt(k2)) % 计算符号表达式值
sqrt(r3+sqrt(r2)) % 计算数值表达式值;基本的符号运算
符号表达式的四则运算
+、-、*,/,^
符号表达式的提取分子和分母运算
numden
因式分解与展开
factor, expand
表达式化简
simplify, simple
符号表达式与数值表达式之间的转换
sym,numeric,eval
;例
f=sym(2*x^2+3*x-5)
g=sym(x^2-x+7)
f+g
f-g
f*g
f/g
sym(x)
f^(3*x)
;符号表达式的提取分子和分母运算(分式通分)
如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为:
[n,d]=numden(s)
该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。
例 对表达式 f=x/y+y/x 进行通分。;因式分解与展开
factor(S) 对S分解因式,S是符号表达式或符号矩阵。
expand(S) 对S进行展开,S是符号表达式或符号矩阵。
collect(S) 对S合并同类项,S是符号表达式或符号矩阵。
collect(S,
原创力文档

文档评论(0)