执行符号计算
区分符号表达式
使用符号数学工具箱™软件,您可以找到
单变量表达式的导数
偏导数
二阶和高阶导数
混合衍生品
有关取符号导数的深入信息,请参阅分化.
单变量表达式
要区分符号表达式,请使用diff
命令。下面的例子说明了如何对符号表达式求导:
方程组x f = sin(x)^2;差异(f)
Ans = 2* cosx * sinx
偏导数
对于多变量表达式,可以指定微分变量。如果不指定任何变量,MATLAB®根据与字母的接近程度选择默认变量x
:
方程组x y f = sin(x)²+ cos(y)²;差异(f)
Ans = 2* cosx * sinx
有关MATLAB用于选择默认变量的完整规则集,请参见查找默认符号变量.
区分符号表达f
关于一个变量y
,输入:
方程组x y f = sin(x)²+ cos(y)²;差异(f, y)
Ans = -2* cosy * siny
二阶偏导数和混合导数
对符号表达式求二阶导数f
关于一个变量y
,输入:
方程组x y f = sin(x)²+ cos(y)²;Diff (f, y, 2)
Ans = 2* siny ^2 - 2* cosy ^2
两次求导也能得到同样的结果diff (diff (f, y))
.要求混合导数,可以使用两个微分命令。例如:
方程组x y f = sin(x)²+ cos(y)²;Diff (Diff (f, y), x)
Ans = 0
整合符号表达式
您可以执行符号集成,包括:
不定定积分
多变量表达式的积分
如欲深入了解int
命令,包括与实参数和复杂参数的集成,请参阅集成.
单变量表达式的不定积分
假设要对一个符号表达式进行积分。第一步是创建符号表达:
方程组x f = sin(x)^2;
要求不定积分,输入
int (f)
Ans = x/2 - sin(2*x)/4
多变量表达式的不定积分
如果表达式依赖于多个符号变量,则可以指定一个积分变量。如果不指定任何变量,MATLAB将根据字母的接近度选择默认变量x
:
方程组x y n f = x^n + y^n;int (f)
Ans = x*y^n + (x*x^n)/(n + 1)
有关MATLAB用于选择默认变量的完整规则集,请参见查找默认符号变量.
你也可以对表达式积分F = x^n + y^n
关于y
方程组x y n f = x^n + y^n;int (f, y)
Ans = x^n*y + (y*y^n)/(n + 1)
如果积分变量是n
,输入
方程组x y n f = x^n + y^n;int (f, n)
Ans = x^n/log(x) + y^n/log(y)
定积分
求定积分,通过积分的极限作为最后两个参数int
功能:
方程组x y n f = x^n + y^n;Int (f, 1,10)
ans =分段(n = = 1,日志(10)+ 9 / y, n ~ = 1,……(10*10^n - 1)/(n + 1) + 9*y^n
如果MATLAB找不到积分的封闭形式
如果int
函数不能计算一个整数,它返回一个无法解析的整数:
Syms x int(sinh(x))
Ans = int(sin(sinh(x)), x)
解决方程
您可以解决不同类型的符号方程,包括:
一个符号变量的代数方程
有几个符号变量的代数方程
代数方程组
有关求解符号方程(包括微分方程)的深入信息,请参见方程求解.
求解单符号变量代数方程
使用双等号(==)来定义方程。然后你就可以解决
通过调用solve函数来求解方程。例如,解这个方程:
Syms x solve(x^3 - 6*x^2 == 6 - 11*x)
Ans = 1 2 3
如果你不指定等式的右边,解决
假设它为零:
Syms x solve(x^3 - 6*x^2 + 11*x - 6)
Ans = 1 2 3
求解带有几个符号变量的代数方程
如果一个方程包含几个符号变量,您可以指定一个变量来求解这个方程。例如,解这个关于的多变量方程y
:
信谊x y解决(6 * x ^ 2 - 6 * x ^ 2 * y + x * y ^ 2 - x * y + y ^ 3 - y ^ 2 = = 0, y)
Ans = 1 2*x -3*x
如果不指定任何变量,则得到字母顺序最接近的方程的解x
变量。关于MATLAB应用于选择默认变量的完整规则集,请参见查找默认符号变量.
求解代数方程组
你也可以解方程组。例如:
信谊x y z [x, y, z] =解决(z = = 4 * x, x = = y, z = = x ^ 2 + y ^ 2)
X = 0 2 y = 0 2 z = 0 8
简化符号表达式
“符号数学工具箱”提供了一组简化函数,允许您操作符号表达式的输出。例如下面的黄金分割多项式φ
=(1 +根号(sym(5)))/2;F = ^2 - - 1
返回
F = (5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2
您可以通过输入来简化这个答案
简化(f)
然后得到一个非常简短的答案:
Ans = 0
符号简化并不总是那么简单。没有普遍的简化函数,因为符号表达式的最简单表示的含义不能被清楚地定义。不同的问题需要同一数学表达式的不同形式。知道哪种形式对解决特定问题更有效,就可以选择合适的简化函数。
例如,为了表示多项式的顺序,或者象征性地微分或积分一个多项式,使用标准多项式形式,将所有的括号相乘,并将所有类似的项相加。要用标准形式重写多项式,使用扩大
功能:
信谊f = x (x ^ 2 - 1) * (x ^ 4 + x ^ 3 + x ^ 2 + x + 1) * (x ^ 4 - x ^ 3 + x ^ 2 - x + 1);扩大(f)
Ans = x^10 - 1
的因素
简化函数表示多项式的根。如果一个多项式不能在有理数上因式分解,则因素
函数是标准的多项式形式。例如,要对三阶多项式进行因式分解,输入:
Syms x g = x^3 + 6*x^2 + 11*x + 6;因子(g)
Ans = [x + 3, x + 2, x + 1]
多项式的嵌套(Horner)表示对于数值计算是最有效的:
Syms x h = x^5 + x^4 + x^3 + x^2 + x;霍纳(h)
Ans = x*(x*(x*(x*(x + 1) + 1) + 1) + 1)
有关符号数学工具箱简化函数的列表,请参见选择函数以重新排列表达式.
符号表达式中的替换
用数字代替符号变量
方法将符号变量替换为数值潜艇
函数。例如,计算符号表达式f
在这一点上x
= 1/3:
方程组x f = 2*x^2 - 3*x + 1;潜艇(f, 1/3)
Ans = 2/9
的潜艇
函数不会改变原始表达式f
:
f
F = 2*x^2 - 3*x + 1
多元表达式中的代换
当表达式包含多个变量时,可以指定要对其进行替换的变量。例如,要替换值x
= 3在符号表达式中
Syms x y f = x^2*y + 5*x*√(y);
输入命令
下标(f, x, 3)
Ans = 9*y + 15*y^(1/2)
用符号变量替换符号变量
您还可以用一个符号变量替换另一个符号变量。例如替换变量y
用变量x
,输入
下标(f, y, x)
Ans = x^3 + 5*x^(3/2)
将矩阵代入多项式
您还可以将矩阵替换为具有数值系数的符号多项式。将矩阵代入多项式有两种方法:逐元素和根据矩阵乘法规则。
中的元素替换。要在每个元素上替换一个矩阵,使用潜艇
命令:
Syms x = x^3 - 15*x^2 - 24*x + 350;A = [1 2 3];[4];潜艇(f)
Ans = [312, 250, 170] [78, -20, -118]
你可以对矩形矩阵或方阵进行逐元素替换。
矩阵意义上的代换。如果要使用标准矩阵乘法规则将矩阵替换为多项式,则矩阵必须是平方的。例如,你可以代入魔方一个
变成多项式f
:
创建多项式:
Syms x = x^3 - 15*x^2 - 24*x + 350;
创建幻方阵:
A =魔法(3)
A = 8 1 6 3 5 7 4 9 2
得到一个包含多项式数值系数的行向量
f
:B = sym2poly(f)
B = 1 -15 -24 350
代入幻方阵
一个
变成多项式f
.矩阵一个
替换所有出现的x
在多项式中。常数乘以单位矩阵(3)
替换的常数项f
:A^3 - 15*A^2 - 24*A + 350*eye(3)
Ans = -10 0 0 0 -10 0 0 0 -10
的
polyvalm
命令提供了一个简单的方法来获得相同的结果:polyvalm (b)
Ans = -10 0 0 0 -10 0 0 0 -10
代入符号矩阵的元素
要替换符号矩阵中的一组元素,也可以使用潜艇
命令。假设你想替换符号循环矩阵a中的一些元素
系统a b c a = [a b c;C a b;[B]
A = [A, b, c] [c, A, b] [b, c, A]
的(2,1)元素一个
与β
变量b
整个矩阵都有变量α
,输入
Alpha = sym(' Alpha ');Beta = sym(' Beta ');A(2,1) =;A = s(A,b,)
结果是矩阵:
A = [A, α, c] [β, A, α] [α, c, A]
有关更多信息,请参见符号矩阵中的替换元素.
Plot符号函数
符号数学工具箱提供绘图功能:
显式功能图
创建一个二维线形图fplot
.绘制表达式
.
信谊xF = x^3 - 6*x^2 + 11*x - 6;fplot (f)
为x轴和y轴添加标签。生成标题texlabel (f)
.使用显示网格网格
.有关详情,请参阅为图表添加标题和轴标签.
包含(“x”) ylabel (“y”)标题(texlabel(f))网格在
隐函数图
图方程和隐函数的使用fimplicit
.
绘制方程 在 .
信谊xyEqn = (x²+ y²)^4 = (x²- y²)^2;Fimplicit (eqn, [-1 1])
三维图
使用绘制三维参数线fplot3
.
绘制参数线
信谊tFplot3 (t²*sin(10*t) t²*cos(10*t) t)
创建表面图
创建一个三维表面,使用fsurf
.
画出抛物面 .
信谊xyf(x^2 + y^2)