主要内容

执行符号计算

区分符号表情

使用符号数学工具箱™软件,您可以找到

  • 单变量表达式的导数

  • 偏导数

  • 二阶和高阶衍生物

  • 混合衍生品

有关取符号导数的深入信息,请参阅分化

单变量表达式

要区分符号表达式,请使用diff命令。下面的例子演示了如何对符号表达式求一阶导数:

Syms x f = sinx ^2;差异(f)
ans = 2 * cos(x)* sin(x)

偏导数

对于多变量表达式,可以指定微分变量。如果不指定任何变量,MATLAB®根据与字母的接近程度选择默认变量x

Syms x y f = sin(x)²+ cos(y)²;差异(f)
ans = 2 * cos(x)* sin(x)

对于完整的规则集Matlab适用于选择默认变量,请参阅找到默认的符号变量

对符号表达式进行微分f对一个变量y,输入:

Syms x y f = sin(x)²+ cos(y)²;差异(f,y)
ans = 2 * cos (y) * sin (y)

二阶偏导数和混合导数

对符号表达式求二阶导数f对一个变量y,输入:

Syms x y f = sin(x)²+ cos(y)²;差异(f, y, 2)
ans = 2 * sin(y)^ 2  -  2 * cos(y)^ 2

两次求导也能得到同样的结果差异(差异(f,y)).要求混合导数,使用两个微分命令。例如:

Syms x y f = sin(x)²+ cos(y)²;diff (diff (f, y) x)
ans = 0

积分符号表情

您可以执行符号集成,包括:

  • 不定定积分

  • 多变量表达式的积分

查阅有关的详细资料命令包括与真实和复杂参数的集成,参见集成

单变量表达式的不定积分

假设您要集成符号表达式。第一步是创建符号表达式:

Syms x f = sinx ^2;

求不定积分,输入

int (f)
Ans = x/2 - sin(2*x)/4

多元表达式的不定积分

如果表达式取决于多个符号变量,则可以指定集成变量。如果未指定任何变量,则Matlab通过邻近信件选择默认变量x

Syms x y n = x^n + y^n;int (f)
Ans = x*y^n + (x*x^n)/(n + 1)

对于完整的规则集Matlab适用于选择默认变量,请参阅找到默认的符号变量

你也可以对表达式进行积分F = x^n + y^n关于y

Syms x y n = x^n + y^n;int(f,y)
Ans = x^n*y + (y*y)/(n + 1)

如果积分变量为n,输入

Syms x y n = x^n + y^n;int (f, n)
Ans = x^n/ logx + y^n/ logy

定积分

要找到一个明确的积分,将集成的限制作为最后的两个论点。功能:

Syms x y n = 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不能找到积分的闭形式

如果函数不能计算一个积分,它返回一个未解析的积分:

Syms X Int(SIN(SINH(x))))
Ans = int(sinh(x)), x)

解决方程

你可以解决不同类型的符号方程,包括:

  • 一个符号变量的代数方程

  • 具有若干符号变量的代数方程

  • 代数方程系统

有关解决符号方程(包括微分方程)的深入信息,请参见方程求解

用一个符号变量求解代数方程

使用双等号(==)来定义方程。然后你就可以解决通过调用求解函数来求解方程。例如,解这个方程:

(x^3 - 6*x^2 == 6 - 11*x)
答案:1 2 3

如果你不指定方程的右边,解决假设它为零:

Syms x解(x^3 - 6*x^2 + 11*x - 6)
答案: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 +√(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]

一个多项式的嵌套(霍纳)表示是最有效的数值计算:

Syms x h = x^5 + x^4 + x^3 + x^2 + x霍纳(h)
ans = x *(x *(x *(x *(x *(x + 1)+ 1)+ 1)+ 1)

有关符号数学工具箱简化函数的列表,请参见选择重新排列表达式的功能

符号表达式中的替换

用数字代替符号变量

您可以使用数字值替换符号变量潜艇函数。例如,求符号表达式的值f在点x= 1/3:

syms 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 f = x^3 - 15*x^2 - 24*x + 350;a = [1 2 3;4 5 6];潜艇(F,A)
Ans = [312, 250, 170] [78, -20, -118]

你可以对矩形或方阵做一个元素一个元素的替换。

在矩阵意义上替换。如果你想用标准矩阵乘法规则将一个矩阵代入一个多项式,那么这个矩阵必须是平方的。例如,你可以替换魔术方块一个成一个多项式f

  1. 创建一个多项式:

    Syms x f = x^3 - 15*x^2 - 24*x + 350;
  2. 创建魔术方矩阵:

    A =魔术(3)
    A = 8 1 6 3 5 7 4 9 2
  3. 得到一个包含多项式的数值系数的行向量f

    b = sym2poly (f)
    B = 1 -15 -24
  4. 代入神奇的方阵一个到多项式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中的一些元素

syms a b c = [a b c;c b;b c)
A = [A, b, c] [c, A, b] [b, c, A]

替换的(2,1)元素一个β和变量b整个矩阵有变量α,输入

α=符号(“α”);β=符号(“贝塔”);(2, 1) =β;一个=潜艇(A, b,α)

结果是矩阵:

a = [a,alpha,c]β[β,a,alpha]α[alpha,c,a]

有关更多信息,请参阅符号矩阵中的替换元素

绘制符号函数

符号数学工具箱提供绘图功能:

  • Fplot.在笛卡尔坐标中创建2-D符号表达式,方程或函数的图表。

  • fplot3来创建三维参数图。

  • ezpolar在极坐标下绘制绘图。

  • fsurf创建平面图。

  • Fcontour.创建轮廓图。

  • fmesh创建网状图。

显式功能情节

使用。创建一个二维线图Fplot..情节表达 x 3. - 6 x 2 + 1 1 x - 6

信谊xf = x ^ 3  -  6 * x ^ 2 + 11 * x  -  6;fplot(f)

图中包含一个轴对象。轴对象包含类型函数线的对象。

为X和Y轴添加标签。通过使用生成标题Texlabel(F).使用网格.有关详细信息,请参阅向图表添加标题和轴标签

Xlabel(“x”) ylabel (“y”)标题(texlabel (f))网格

图中包含一个轴对象。标题为1 1 blank x blank - blank 6 blank x Squared baseline blank + blank x cubic baseline blank - blank 6的坐标轴对象包含一个类型为functionline的对象。

隐函数图

用。绘制方程和隐函数fimplicit

绘制方程 x 2 + y 2 4 x 2 - y 2 2 - 1 < x < 1

信谊xy方程= (x^2 + y^2)^4 = (x^2 - y^2)^2;fimplicit (eqn [1])

图中包含一个轴对象。axes对象包含一个implicitfunctionline类型的对象。

三维图

通过使用绘制3-D参数线fplot3

绘制参数线

x t 2 1 0 t y t 2 因为 1 0 t z t

信谊tfplot3 (t ^ 2 * sin (10 * t), t ^ 2 * cos (10 * t), t)

图中包含一个轴对象。axis对象包含一个参数化函数线类型的对象。

创建表面图

创建一个三维表面使用fsurf

画出抛物面 z x 2 + y 2

信谊xyfsurf (x ^ 2 + y ^ 2)

图中包含一个轴对象。axis对象包含一个函数曲面类型的对象。

相关的话题