- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 符号数学基础
Chapter 5:Foundation of Symbolic Mathematics
一. 符号对象的创建(Creating a symbolic object)
1. 创建符号变量和表达式(Creating a symbolic variable and expression)
创建符号变量和表达式的两个基本函数:sym, syms
*x=sym(‘x’) 创建一个符号变量x,可以是字符、字符串、表达式或字符表达式。
*syms用于方便地一次创建多个符号变量,调用格式为: syms a b c d . 书写简洁意义清楚,建议使用。
例1:使用sym函数创建符号变量.
a=sym(‘a’)
b=sym(‘hello’)
c=sym((‘(1+sqrt(5))/2’)
y=sym(‘x^3+5*x^2+12*x+20’)
a =
a
b =
hello
C =
(1+sqrt(5))/2
Y =
x^3+5*x^2+12*x+20
例2:用syms函数创建符号变量。
syms a b c d
2. 创建符号矩阵(Symbolic matrix Creating)
例1:创建一个循环矩阵。
syms a b c d
n=[a b c d;b c d a;c d a b;d a b c]
n =
[ a, b, c, d]
[ b, c, d, a]
[ c, d, a, b]
[ d, a, b, c]
例2:将3阶Hilbert矩阵转换为符号矩阵。
h=hilb(3)
h1=sym(h)
h =
1.0000 0.5000 0.3333
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
h1 =
[ 1, 1/2, 1/3]
[ 1/2, 1/3, 1/4]
[ 1/3, 1/4, 1/5]
注意符号矩阵与数值矩阵的区别。
默认符号变量(Implied symbolic variable)
在MATLAB的符号数学工具箱中,以最接近x的顺序排列默认自变量的顺序,可利用findsym函数对默认自变量进行查询。
例1: 求符号函数在不同自变量情况下的结果。
创建符号变量x和n,建立函数f=xn,然后分别求f对x和f对n的导数.
syms x n
f=x^n
diff(f) % x作为自变量,求f对x的导数
diff(f,n) % n作为自变量,求f对n的导数
f =
x^n
ans =
x^n*n/x %即为n*x^(n-1).ccw
ans =
x^n*log(x)
例2: 查询符号函数中的默认自变量。
创建符号变量 a,b, n, x 和t ,建立函数f=axn+bt,然后求f的默认自变量。
syms a b n t x
f=a*x^n+b*t
findsym(f,1)
findsym(f,2)
findsym(f,5) % f表达式中按最接近x顺序排列的5个默认自变量
findsym(f) % f表达式中按最接近字母顺序排列的全部自变量
f =
a*x^n+b*t
ans =
x
ans =
x,t
ans =
x,t,n,b,a
ans =
a, b, n, t, x
符号表达式的化简和替换(simplifying and replacing of Symbolic xpressions)
符号数学工具箱提供的符号表达式的因式分解、展开、合并、化简、通分等操作:
1. 符号表达式的化简(Simplifying of symbolic expression)
(1).因式分解(Factorization)
符号表达式的因式分解函数为 factor(S), 可分解符号表达式S的各个元素。
例1: 对表达式f=x9-1进行因式分解。
syms x
f=factor(x^9-1)
pretty(f)
f =
(x-1)*(x^2+x+1)*(x^6+x^3+1)
2 6 3
(x - 1) (x + x + 1) (x + x + 1)
例2:对大整数12345678901234567890进行因式分解。
factor(sym(‘12345678901234567890’))
ans =
(2)*(3)^2*(5)*(101)*(3803)*(3607)*(27961)*(3541)
(2)符号表达式的展开(Expanding of symbolic expressions)
文档评论(0)