matlab绘制sign函数,MATLAB的SymbolicMathToolbox详解MATLAB 符号数学⼯具箱
⼊门
创建符号数字,变量和表达式
创建符号数字
创建符号变量
创建符号表达式
重复使⽤符号对象名
创建符号函数
创建符号矩阵
使⽤存在的符号变量
创建矩阵的同时⽣成元素
tool工具箱
创建元素为符号数字的矩阵
符号计算
符号表达式的微分
符号表达式的积分
解⽅程
化简符号表达式
符号表达式中的替换
绘制符号函数
⼊门
创建符号数字,变量和表达式
下⾯将展⽰如何创建符号数字,变量和表达式。
创建符号数字
你可以使⽤sym创建符号数字。符号数字⽤精确的有理数表⽰。
通过sym创建符号数字并与相同的浮点数对⽐
sym(1/3)
1/3
ans =
1/3
ans =
0.333
符号结果不缩进,数值结果缩进。
符号计算的结果是精确的,⽽数值计算的结果是近似的。
sin(sym(pi))
sin(pi)
ans =
ans =
1.2246e-16
创建符号变量
你有两种⽅法创建符号变量,分别是syms和sym。syms是sym的简写。
分别使⽤syms和sym创建符号变量x和y
syms x
y = sym('y')
第⼀条命令创建了⼀个值为x的符号变量x。第⼆条命令创建了⼀个值为y的符号变量y。
你可以使⽤syms在⼀条命令中创建多个变量
syms a b c
你也可以使⽤sym在⼀条命令中创建多个变量
A = sym('a', [1 20])
A =
[a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,...
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20]
当你所创建的符号变量的变量名和变量值不相同时,或者要创建符号数字时,则要使⽤sym。创建符号表达式
黄⾦⽐例
1 + 5
2 \frac{1+\sqrt{5}}{2}21+5
使⽤下⾯这条命令即可⽤符号变量表⽰黄⾦⽐例
phi = (1 + sqrt(sym(5)))/2;
你可以对phi执⾏各种数学运算。例如
f = phi^2 - phi - 1
f =
(5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2
要创建符号表达式f = phi^2 - phi - 1,⾸先要创建符号变量a, b, c, 和 x:
syms a b c x
然后把表达式赋给f:
f = a*x^2 + b*x + c;
重复使⽤符号对象名
如果你设置了⼀个变量等于⼀个符号表达式,例如
syms a b
f = a + b
f =
a + b
接着输⼊
syms f
f =
f
MATLAB则会清除符号表达式f的值a + b。
所以你可以使⽤syms命令清除原先赋给变量的值。
创建符号函数
使⽤syms创建⾃变量为x和y的函数f。创建符号函数f的同时会⾃动创建符号变量x和y
syms f(x,y)
把⼀个数学表达式赋给f
f(x,y) = x^2*y
f(x, y) =
x^2*y
到函数f在点(3,2)的值
f(3,2)
ans =
18
符号函数同时也接受数组作为输⼊
xVal = 1:5;
yVal = 3:7;
f(xVal,yVal)
ans =
[ 3, 16, 45, 96, 175]
你可以对符号函数进⾏微分,积分,化简,⽤⾃变量本⾝作为输⼊值,和其他数学运算。例如函数f对x求导dfx = diff(f, x)
dfx(x,y) =
2*x*y
dfx也是⼀个符号函数
计算df(x,y)在点x = y + 1处的值
df(y+1,y)
ans =
2*y*(y + 1)
如果你想创建常函数,⽐如f(x,y) = 1,你可以⾸先创建f(x,y),然后再进⾏赋值
syms f(x,y)
f(x,y) = 1
f(x, y) =
1
如果不先创建符号函数f(x,y) 就直接进⾏赋值 f(x,y) = 1,则会抛出错误。
创建符号矩阵
使⽤存在的符号变量
创建⼀个其元素为a, b, c的循环矩阵
syms a b c
A = [a b c; c a b; b c a]
A =
[ a, b, c]
[ c, a, b]
[ b, c, a]
计算矩阵第⼀⾏元素的和
sum(A(1, : ))
ans =
a +
b + c
使⽤isAlways函数,验证第⼀⾏元素之和等于第⼆列元素之和
isAlways(sum(A(1, : )) == sum(A( : , 2)))
ans =
logical
1
创建矩阵的同时⽣成元素
sym函数使你在创建符号矩阵或向量时⽆需提前定义元素。sym函数在创建符号矩阵的元素的同时创建矩阵。创建⼀个元素为A1_1, …, A2_4的2×4符号矩阵:
A = sym('A', [2 4])
A =
[ A1_1, A1_2, A1_3, A1_4]
[ A2_1, A2_2, A2_3, A2_4]
可以在第⼀个参数中使⽤%d来控制矩阵元素的名字格式:
A = sym('A%d%d', [2 4])
A =
[ A11, A12, A13, A14]
[ A21, A22, A23, A24]
创建元素为符号数字的矩阵
sym函数的⼀个特别有⽤的功能是把数值矩阵转换为符号矩阵。
产⽣⼀个3×3希尔伯特矩阵
A = hilb(3)
A =
1.0000 0.5000 0.3333
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
函数sym作⽤于A后,可得到⼀个精确的3×3希尔伯特符号矩阵
A = sym(A)
A =
[ 1, 1/2, 1/3]
[ 1/2, 1/3, 1/4]
[ 1/3, 1/4, 1/5]
符号计算
符号表达式的微分
1. 单变量表达式求导
使⽤函数diff对符号表达式求导:
syms x
f = sin(x)^2;
diff(f)
ans =
2*cos(x)*sin(x)
2. 偏导数
对于多变量符号表达式,你可以指定对哪个变量进⾏求导。如果你没有指定任何变量,MATLAB将选择距离字母x最近的变量进⾏求导:
syms x y
f = sin(x)^2 + cos(y)^2;
ans =
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论