文档介绍:第3章矩阵、数组和符号运算
二、符号及运算 
掌握内容:
(1)了解 MATLAB 的符号变量,掌握 MATLAB 符号表达式、符号矩阵的两种创建方法。
(2)掌握 MATLAB 符号数学函数的创建。
(3)掌握符号矩阵的基本运算及MATLAB 关于不同精度的控制方法。
(4)掌握符号微积分内容,包括求函数的极限、对符号表达式求导数和微分、符号积分、符号求和、傅立叶变换及其逆变换等。
(5)掌握各种符号方程的求解方法和函数命令。
(6)了解 MATLAB 可视化的符号函数分析界面及使用。
(7)初步了解 MAPLE 的符号资源。
第3章矩阵、数组和符号运算
抽象运算:公式推导、因式分解、求解代数方程或微分方程的精确解符号数学工具箱
1)通过基本符号数学工具箱的专用函数;
◆符号表达式和符号矩阵的操作;
◆多项式的化简、展开和代入;
◆线性代数;
◆微积分;
◆符号方程的求解;
◆特殊的数学函数。
2)通过 、 两个专门设计的 M 文件进行符号运算;
3) 通过 MATLAB 中的函数计算器(Function Caculator)。
第3章矩阵、数组和符号运算
1、符号变量的创建
a. sym 函数
S=sym(arg) ,从表达式 arg 创建一个 sym 对象 S
x=sym(’x’)
x = sym(’x’,’real’)
x = sym(’x’,’unreal’) 附加属性
x = sym(’x’,’positive’)
pi = sym(’pi’)
delta = sym(’1/10’)
S = sym(A, flag) ,将数值或矩阵转化为符号形式
其中 flag 选项有四项参数’f’, ’r’, ’e’和’d’,’r’为缺省项。
’f’:代表十六进制浮点形式;
’r’:代表有理数形式;
’e’:估计误差;
’d’:表示十进制小数。
第3章矩阵、数组和符号运算
>> A=[2/5,4/,sqrt(23)/3;,,log(4)] %输入数值矩阵A
A =
 
 >> FA=sym(A) %将数值矩阵A转化为符号矩阵FA
FA =
[ 2/5, 200/39, sqrt(23/9)]
[ 33/100, 3333/10000, 62433***********2^(-52)]
不管数值矩阵的元素是以分数或是浮点数表示,转换后的符号矩阵都将以最接近有理式的形式给出。
b. syms 函数
syms arg1 arg2 ...
>> syms a b c x y
2、符号表达式和矩阵的创建
符号表达式和符号方程对空格很敏感。因此,在创建符号表达式或符号方程时,不要在字符间任意加空格符;
符号计算中出现的数字也是当作符号处理的;
>> f='a*x^2+b*x+c'
 f =
 a*x^2+b*x+c
>> f='a*x^2+b*x+c=0'
f =
 a*x^2+b*x+c=0
第3章矩阵、数组和符号运算
第3章矩阵、数组和符号运算
这种方法输入符号矩阵与字符串矩阵的输入相似。但要保证在同一列中各元素字符串有同样的长度,在较短的字符串前后用空格符填充;
这种方法要求符号矩阵每一行的两端都有方括号,而字符串矩阵仅在首尾有方括号。
>> B=['[4+x x^2 x ]';'[x^3 5*x-3 x*a]']
 B =
  [4+x x^2 x ]
[x^3 5*x-3 x*a]
第3章矩阵、数组和符号运算
sym 命令创建
>> f=sym('a*x^2+b*x+c')
f =
a*x^2+b*x+c
>> f1=sym('a*x^2+b*x+c=0')
f1 =
a*x^2+b*x+c=0
>> A=sym('[4+x, x^2, x;x^3, 5*x-3, x*a]')
A =
[ 4+x, x^2, x]
[ x^3, 5*x-3, x*a]
第3章矩阵、数组和符号运算
syms 命令创建
>> syms x a b c
>> f=a*x^2+b*x+c
f =
a*x^2+b*x+c
 
>> syms x a
>> B=[4+x x^2 x;x^3 5*x-3 x*a]
B =
[ 4+x, x^2, x]
[ x^3, 5*x-3, x*a]
不能创建符号方程
第3章矩阵、数组和符号运算
3、数字矩阵和符号矩阵的转换
MATLAB 中的数值型、字符型和符号型三种数据类型中数值变量级别最低,字符变量级别居中,符号变量级别最高;
三种变量参与的混合运算,系统将会