选择重新排列表达式的功能

结合同一代数结构的条款

符号数学工具箱™提供结合组合原始表达式子表达式的功能。这结合函数使用您指定的函数的数学标识。例如,组合三角形表达式。

syms x y组合(2 * sin(x)* cos(x),'sincos')
ans = sin(2 * x)

如果未指定目标函数,则结合无论这些身份有效,都使用权力的标识:

  • 一种B.一种C=一种B.+C

  • 一种CB.C=(一种B.C

  • 一种B.C=一种公元前

例如,默认情况下,函数结合了以下方形根。

组合(SQRT(2)* SQRT(x))
ans =(2 * x)^(1/2)

该功能不会结合方形根源sqrt(x)* sqrt(y)因为身份对变量的负值无效。

组合(SQRT(x)* sqrt(y))
ans = x ^(1/2)* y ^(1/2)

结合这些平方根,使用Ignoreanalyticonstraints.选项。

组合(SQRT(x)* sqrt(y),'ignoreanalyticconstraints',true)
ans =(x * y)^(1/2)

Ignoreanalyticonstraints.提供快捷键,允许您将表达式组合在常用的假设下的表达式与变量的值相结合。或者,您可以明确地在变量上设置适当的假设。例如,假设Xy是正值。

假设([x,y],'正')组合(sqrt(x)* sqrt(y))
ans =(x * y)^(1/2)

对于进一步的计算,清除假设Xy通过使用它们进行重新创建Syms.

Syms X Y.

作为目标功能,结合接受晒黑exp.伽玛日志, 和sinhcosh.

展开表达式

对于基本表达,使用扩张通过乘以产品和乘以改造原始表达式的功能。下载188bet金宝搏此功能提供了一种扩展多项式的简单方法。

展开((x  -  1)*(x  -  2)*(x  -  3))
ans = x ^ 3  -  6 * x ^ 2 + 11 * x  -  6
展开(x *(x *(x-6)+ 11) -  6)
ans = x ^ 3  -  6 * x ^ 2 + 11 * x  -  6

该功能还扩展了指数和对数表达式。例如,展开包含指数级的以下表达式。

展开(exp(x + y)*(x + exp(x  -  y)))))
ans = exp(2 * x)+ x * exp(x)* exp(y)

展开包含对数的表达式。扩展对数对通用复杂值无效,但它对于正值是有效的。

syms a b c正展开(日志(a * b * c))
ans = log(a)+ log(b)+ log(c)

为了进一步计算,清除假设。

Syms A B C

或者,使用Ignoreanalyticonstraints.扩展对数时的选项。

展开(日志(a * b * c),'ignoreanalyticconstraints',true)
ans = log(a)+ log(b)+ log(c)

扩张也适用于三角表达式。例如,展开此表达式。

展开(cos(x + y))
ans = cos(x)* cos(y) -  sin(x)* sin(y)

扩张使用函数之间的数学标识。

展开(SIN(5 * x))
ans = sin(x) -  12 * cos(x)^ 2 * sin(x)+ 16 * cos(x)^ 4 * sin(x)
展开(COS(3 * ACOS(x))))
ans = 4 * x ^ 3  -  3 * x

扩张为所有子表达式递归工作。

展开((SIN(3 * x)+ 1)*(cos(2 * x) -  1)))
ans = 2 * sin(x)+ 2 * cos(x)^ 2  -  10 * cos(x)^ 2 * sin(x)+ 8 * cos(x)^ 4 * sin(x) -  2

为防止扩展所有三角,对数和指数子表达式,请使用该选项算法

展开(exp(x + y)*(x + exp(x-y)),'arthmeticonly',true)
ans = exp(x  -  y)* exp(x + y)+ x * exp(x + y)
展开((SIN(3 * x)+ 1)*(cos(2 * x) -  1),'arthmetticonly',true)
ans = cos(2 * x) -  sin(3 * x)+ cos(2 * x)* sin(3 * x) -  1

因子表达

要返回表达的所有不可可动化的因素,请使用因素功能。例如,找到这种多项式表达的所有不可缩短的多项式因子。结果表明,这种多项式有三根:x = 1x = 2, 和x = 3.

Syms x因子(x ^ 3  -  6 * x ^ 2 + 11 * x  -  6)
ans = [x  -  3,x  -  1,x  -  2]

如果多项式表达是不可缩短的,因素返回原始表达式。

因子(x ^ 3  -  6 * x ^ 2 + 11 * x  -  5)
ans = x ^ 3  -  6 * x ^ 2 + 11 * x  -  5

寻找表达的不可减少的多项式因素x ^ 6 + 1。默认,因素使用对Rational Numbers的分解,以其确切的符号形式保持合理的数字。此表达的结果因子不显示多项式根源。

因子(x ^ 6 + 1)
ans = [x ^ 2 + 1,x ^ 4  -  x ^ 2 + 1]

使用其他分解模式可让您进一步提供此表达式。例如,因素对复杂数字的表达相同。

因子(x ^ 6 + 1,'temormode','complex')
ans = 0.5i,... x + 0.86025403784317075294 + 0.81170376372317075294- 0.8117075294-x + 0.5i,... x + 1.0i,... x  -  1.0i,... x  -  0.86602540378444317075294 + 0.5i,... x-  0.8660254037844438075294  -  0.5i]

因素还在多项式和理性表达式以外的表达式上工作。例如,您可以根据包含对数,正弦和余弦功能的以下表达式。在内部,因素将这些表达式转换为多项式和Rational表达式,通过用变量替换子表达式。计算不可减少的因素后,该函数恢复原始子表达式。

因子((log(x)^ 2  -  1)/(cos(x)^ 2  -  sin(x)^ 2)))
ans = [log(x) -  1,log(x)+ 1,1 /(cos(x) -  sin(x)),1 /(cos(x)+ sin(x))]

因素要考虑符号整数和符号的rational。

因子(SYM(902834092))因子(1 / sym(210))
ans = [2,2,47,379,12671] ans = [1/2,1 / 3,1 / 5,1 / 7]

因素也可以数量大于Flintmax.那个matlab.®因素不能。要准确表示大量,请将数字放在引号中。

因素(SYM('41758540882408627201')))
ANS = [479001599,87178291199]

从表达式中提取子表达式

孩子们函数返回表达式的子表达式。

定义表达式F有几个子表达。

syms x y f = exp(3 * x)* y ^ 3 + exp(2 * x)* y ^ 2 + exp(x)* y;

提取子表达式F通过使用孩子们

expr =儿童(f)
expr = [y ^ 2 * exp(2 * x),y ^ 3 * exp(3 * x),y * exp(x)]

您可以通过调用提取较低级别的子表达式孩子们反复参加结果。

提取子表达式expr(1)通过呼叫孩子们反复。当输入到孩子们是矢量,输出是一个单元数组。

expr1 =儿童(expr(1))expr2 =儿童(expr1)
expr1 = [y ^ 2,exp(2 * x)] expr2 = 1×2单元阵列{1×2 sym} {1×1 sym}

访问单元格数组的内容Expr2.使用括号。

EXPR2 {1} EXPR2 {2}
ans = [y,2] ans = 2 * x

收集具有相同权力的术语

如果数学表达式包含具有指定变量或表达式相同权力的术语,则搜集功能通过分组这些条款重新组织表达式。在呼唤时搜集,指定函数必须认为未知数的变量。这搜集函数将原始表达式视为指定的未知数中的多项式,并将系数与等功率分组。将表达的条款与平等的权力进行组X

Syms X Y.Z.exp.r = x*y^4 + x*z + 2*x^3 + x^2*y*z +... 3*x^3*y^4*z^2 + y*z^2 + 5*x*y*z; collect(expr, x)
ans =(3 * y ^ 4 * z ^ 2 + 2)* x ^ 3 + y * z * x ^ 2 +(y ^ 4 + 5 * z * y + z)* x + y * z ^ 2

将相同表达的条款与平等的权力进行分组y

收集(expr,y)
ans =(3 * x ^ 3 * z ^ 2 + x)* y ^ 4 +(x ^ 2 * z + 5 * x * z + z ^ 2)* y + 2 * x ^ 3 + z * x

将相同表达的条款与平等的权力进行分组Z.

收集(expr,z)
ans =(3 * x ^ 3 * y ^ 4 + y)* z ^ 2 +(x + 5 * x * y + x ^ 2 * y)* z + 2 * x ^ 3 + x * y ^ 4

如果您未指定变量搜集必须考虑作为未知,功能使用Symvar.确定默认变量。

收集(expr)
ans =(3 * y ^ 4 * z ^ 2 + 2)* x ^ 3 + y * z * x ^ 2 +(y ^ 4 + 5 * z * y + z)* x + y * z ^ 2

通过将这些未知数指定为载体来收集关于几个未知数的表达式的术语。

收集(expr,[y,z])
ans = 3 * x ^ 3 * y ^ 4 * z ^ 2 + x * y ^ 4 + y * z ^ 2 +(x ^ 2 + 5 * x)* y * z + x * z + 2 * x ^3.

以其他功能重写表达式

在特定功能方面呈现表达式,使用改写。此函数使用函数之间的数学标识。例如,根据特定三角函数重写包含三角函数函数的表达式。

Syms X Rewrite(Sin(x),'tan')
ans =(2 * tan(x / 2))/(tan(x / 2)^ 2 + 1)
重写(cos(x),'tan')
ans =  - (tan(x / 2)^ 2  -  1)/(tan(x / 2)^ 2 + 1)
重写(SIN(2 * X)+ COS(3 * x)^ 2,'tan')
ANS =(TAN((3 * x)/ 2)^ 2  -  1)^ 2 /(tan((3 * x)/ 2)^ 2 + 1)^ 2 + ...(2 * tan(x))/(tan(x)^ 2 + 1)

改写在指数函数方面表达这些三角函数。

重写(SIN(x),'exp')
ans =(exp(-x * 1i)* 1i)/ 2  - (exp(x * 1i)* 1i)/ 2
重写(cos(x),'exp')
ANS = EXP(-X * 1i)/ 2 + exp(x * 1i)/ 2

改写在指数函数方面表达这些双曲线功能。

重写(Sinh(x),'exp')
ans = exp(x)/ 2  -  exp(-x)/ 2
重写(Cash(x),'exp')
ans = exp(-x)/ 2 + exp(x)/ 2

改写还表达了对逻辑上的反向双曲函数。

重写(asinh(x),'log')
ans = log(x +(x ^ 2 + 1)^(1/2))
重写(Acosh(x),'log')
ans = log(x +(x  -  1)^(1/2)*(x + 1)^(1/2))

计算表达的部分分数分解

Partfrac.功能以多项式和Rational术语的总和的形式返回合理表达。在每个Rational项中,分子的程度小于分母的程度。对于一些表达,Partfrac.返回明显更简单的表单。

syms x n = x ^ 6 + 15 * x ^ 5 + 94 * x ^ 4 + 316 * x ^ 3 + 599 * x ^ 2 + 602 * x + 247;d = x ^ 6 + 14 * x ^ 5 + 80 * x ^ 4 + 238 * x ^ 3 + 387 * x ^ 2 + 324 * x + 108;partfrac(n / d,x)
ans = 1 /(x + 1)+ 1 /(x + 2)^ 2 + 1 /(x + 3)^ 3 + 1

理性术语中的分母代表了原始表达的常见常见分支。

因子(D)
ans = [x + 1,x + 2,x + 2,x + 3,x + 3,x + 3]

计算正常形式的理性表达式

简化零件函数表示原始合理表达式,作为具有扩展分器和分母的单个Rational术语。返回表达式的分子和分母的最大常见除数为1.该功能对于简化分数而言更有效简化功能。

Syms x Y Simplifyfraction((x ^ 3 + 3 * y ^ 2)/(x ^ 2  -  y ^ 2)+ 3)
ans =(x ^ 3 + 3 * x ^ 2)/(x ^ 2  -  y ^ 2)

简化零件取消分数和分母中出现的常见因素。

SimpleIffileFraction(x ^ 2 /(x + y) -  y ^ 2 /(x + y))
ans = x  -  y

简化零件还处理除多项式和合理功能之外的表达式。在内部,它将这样的表达式转换为多项式或Rational函数,通过用标识符代替子表达式。用临时变量归一化表达式后,简化零件恢复原始子表达式。

simpleIcefroaction((exp(2 * x) -  exp(2 * y))/(exp(x) -  exp(y)))
ans = exp(x)+ exp(y)

代表使用角嵌套形式的多项式

角多项式表达的角叶片或嵌套形式对于数值评估是有效的,因为它通常涉及与相同多项式的其他数学相同的形式相比的算术操作较少。通常,这种形式的表达是数值稳定的。以嵌套形式表示多项式表达式,使用霍尔尔功能。

Syms x Horner(x ^ 3  -  6 * x ^ 2 + 11 * x  -  6)
ans = x *(x *(x-6)+ 11) -  6

如果多项式系数是浮点数,所得到的角色形式表示它们为理性数字。

Horner(1.1 + 2.2 * x + 3.3 * x ^ 2)
ans = x *((33 * x)/ 10 + 11/5)+ 11/10

将结果中的系数转换为浮点数,使用VPA.

VPA(ANS)
ans = x *(3.3 * x + 2.2)+ 1.1