文档介绍:第三讲 MATLAB的符号运算
—— matlab 不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic
Math Toolbox
符号运算的功能
符号表达式、符号矩阵的创建
符号线性代数
因式分解、展开和简化
符号代数方程求解
符号微积分
符号微分方程
一、符号运算的基本操作
什么是符号运算
与数值运算的区别
※数值运算中必须先对变量赋值,然后才能参与运算。
※符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。
特点:
运算对象可以是没赋值的符号变量
可以获得任意精度的解
Symbolic Math Toolbox——符号运算工具包通过调用Maple软件实现符号计算的。
maple软件——主要功能是符号运算,
它占据符号软件的主导地位。
2. 符号变量与符号表达式
f = 'sin(x)+5x'
f ——符号变量名
sin(x)+5x——符号表达式
' '——符号标识
符号表达式一定要用' ' 单引号括起来matlab才能识别。
' ' 的内容可以是符号表达式,也可以是符号方程。
例:
f1='ax^2+bx+c' ——二次三项式
f2= 'ax^2+bx+c=0' ——方程
f3='Dy+y^2=1' ——微分方程
※符号表达式或符号方程可以赋给符号变量,以后调用方便;也可以不赋给符号变量直接参与运算
数值矩阵A=[1,2;3,4]
A=[a,b;c,d] ——不识别
用matlab函数sym创建矩阵(symbolic
的缩写)
命令格式:A=sym('[ ]')
※符号矩阵内容同数值矩阵
※需用sym指令定义
※需用' '标识
例如:A = sym('[a , 2*b ; 3*a , 0]')
A =
[ a, 2*b]
[3*a, 0]
这就完成了一个符号矩阵的创建。
注意:符号矩阵的每一行的两端都有方
括号,这是与 matlab数值矩阵的
一个重要区别。
用字符串直接创建矩阵
模仿matlab数值矩阵的创建方法
需保证同一列中各元素字符串有相
同的长度。
例:A =['[ a,2*b]'; '[3*a, 0]']
A =
[ a, 2*b]
[3*a, 0]
符号矩阵的修改
可用、键找到所要修改的矩阵,直接修改
用A1=sym(A,,,'new') 来修改。
用A1=subs(A, 'new', 'old')来修改
A1=subs(S, 'old' ,'new')