如何在 Matlab 中简化符号和数字混合表达式
Posted
技术标签:
【中文标题】如何在 Matlab 中简化符号和数字混合表达式【英文标题】:How get to simplify a symbolic and numeric mixed expression in Matlab 【发布时间】:2016-08-22 18:18:14 【问题描述】:我的最终结果是:
(12*u)/5 + (12*4^(3/2))/13 - 1484/34
如何将这句话简化为:2.4000u - 36.2624?
以及如何自动找到你? (u = 15.1093)
【问题讨论】:
【参考方案1】:我敢肯定这个问题之前一定在某个地方得到过回答。它也可以在 MATLAB 文档中找到。
使用simplify(expression)
和solve(expression, u)
。
【讨论】:
【参考方案2】:simplify() 和 solve() 不能正常工作:
a = (12*u)/5 + (12*4^(3/2))/13 - 1484/34
一个=
[ (12*u)/5 - 8014/221, (12*u)/5 - 8014/221, (12*u)/5 - 8014/221, (12*u)/5 - 8014/ 221, (12*u)/5 - 8014/221]
简化(a)
ans =
[ (12*u)/5 - 8014/221, (12*u)/5 - 8014/221, (12*u)/5 - 8014/221, (12*u)/5 - 8014/ 221, (12*u)/5 - 8014/221]
求解(a, u) 警告:1 个变量中有 10 个方程。 在 C:\Program Files\MATLAB\R2011b\toolbox\symbolic\symbolic\symengine.p>symengine 在 54 在 mupadengine.mupadengine>mupadengine.evalin 在 96 在 137 处的 mupadengine.mupadengine>mupadengine.feval 在 151 处求解 警告:找不到明确的解决方案。 在 160 处求解
ans =
[空符号]
【讨论】:
以上是关于如何在 Matlab 中简化符号和数字混合表达式的主要内容,如果未能解决你的问题,请参考以下文章