帮助中心帮助中心
用公共子表达式重写符号表达式
[r,sigma] = subexpr(expr)
[r,var] = subexpr(expr,'var')
[r,var] = subexpr(expr,var)
例子
[r,sigma] = subexpr(expr)重写符号表达式expr对于公共子表达式,用符号变量替换此公共子表达式σ.输入表达式expr不能包含变量σ.
[r,sigma] = subexpr(expr)
r
expr
σ
[r,var] = subexpr(expr,'var”)将公共子表达式替换为var.输入表达式expr不能包含符号变量var.
[r,var] = subexpr(expr,'var”)
var
[r,var= subexpr(expr,var)等于[r,var] = subexpr(expr,'var'),除了符号变量var必须已经存在于MATLAB中®工作区。
[r,var= subexpr(expr,var)
此语法将覆盖变量的值var中找到的公共子表达式expr.的值,以避免重写var,使用另一个变量名作为第二个输出参数。例如,使用[r,var1] = subexpr(expr,var).
[r,var1] = subexpr(expr,var)
全部折叠
解下面的方程。解都是很金宝搏官方网站长的表达式。控件末尾的分号可显示解金宝搏官方网站解决命令。
解决
信谊一个bcdx金宝搏官方网站解= solve(a*x^3 + b*x^2 + c*x + d == 0, x,“MaxDegree”3);
这些长表达式有共同的子表达式。若要缩短表达式,请使用subexpr.的第二个输入参数,如果没有指定用于缩写的变量subexpr,然后subexpr使用变量σ.
subexpr
[r, sigma] = subexpr(金宝搏官方网站解)
r = ( σ - b 3. 一个 - σ 2 σ σ 2 2 σ - b 3. 一个 - σ 2 - σ 1 σ 2 2 σ - b 3. 一个 - σ 2 + σ 1 ) 在哪里 σ 1 = 3. σ + σ 2 σ 我 2 σ 2 = c 3. 一个 - b 2 9 一个 2
( σ - b 3. 一个 - σ 2 σ σ 2 2 σ - b 3. 一个 - σ 2 - σ 1 σ 2 2 σ - b 3. 一个 - σ 2 + σ 1 ) 在哪里 σ 1 = 3. σ + σ 2 σ 我 2 σ 2 = c 3. 一个 - b 2 9 一个 2
σ= d 2 一个 + b 3. 27 一个 3. - b c 6 一个 2 2 + c 3. 一个 - b 2 9 一个 2 3. - b 3. 27 一个 3. - d 2 一个 + b c 6 一个 2 1 / 3.
d 2 一个 + b 3. 27 一个 3. - b c 6 一个 2 2 + c 3. 一个 - b 2 9 一个 2 3. - b 3. 27 一个 3. - d 2 一个 + b c 6 一个 2 1 / 3.
解一个二次方程。
信谊一个bcx金宝搏官方网站解= solve(a*x^2 + b*x + c == 0, x)
金宝搏官方网站解决方案= ( - b + b 2 - 4 一个 c 2 一个 - b - b 2 - 4 一个 c 2 一个 )
( - b + b 2 - 4 一个 c 2 一个 - b - b 2 - 4 一个 c 2 一个 )
使用信谊来创建符号变量年代,然后用该变量替换结果中的常用子表达式。
信谊
年代
信谊年代[abbr金宝搏官方网站Solutions,s] = subexpr(solutions,s)
abbr金宝搏官方网站Solutions = ( - b + 年代 2 一个 - b - 年代 2 一个 )
( - b + 年代 2 一个 - b - 年代 2 一个 )
s = b 2 - 4 一个 c
另外,使用“年代”指定缩写变量。
“年代”
[abbr金宝搏官方网站Solutions,s] = subexpr(解决方案,“年代”)
这两种语法都会覆盖变量的值年代使用公共子表达式。因此,你不能,例如,代入年代有一定的价值。
潜艇(abbrSo金宝搏官方网站lutions年代,0)
ans = ( - b + 年代 2 一个 - b - 年代 2 一个 )
避免重写变量的值年代,第二个输出参数使用另一个变量名。
信谊年代[abbr金宝搏官方网站Solutions,t] = subexpr(解决方案,“年代”)
t = b 2 - 4 一个 c
ans = ( - b 2 一个 - b 2 一个 )
( - b 2 一个 - b 2 一个 )
包含公共子表达式的长表达式,指定为符号表达式或函数。
用于替换公共子表达式的变量,指定为字符向量或符号变量。
subexpr如果输入表达式,则抛出错误expr已经包含了var.
用缩写替换公共子表达式的表达式,作为符号表达式或函数返回。
用于缩写的变量,作为符号变量返回。
孩子们|简化|潜艇
孩子们
简化
潜艇
您有这个示例的修改版本。要使用编辑打开此示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处