如何在 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 中简化符号和数字混合表达式的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB中函数taylor(f)的作用

正则表达式仅数字和字符

如何查询matlab中都有哪些函数

Matlab:具有混合字符/双条目的单元格列 - 如何使所有数字化?

背包问题怎样给出符号说明,目标函数和约束条件

MATLAB是做啥用的?