【问题标题】:MATLAB - preventing simplification of equationsMATLAB - 防止简化方程
【发布时间】:2013-09-03 02:46:33
【问题描述】:

喜欢这个网站以及上面所有出色的贡献者!它帮助了我很多次,但在这种情况下我找不到我要找的东西。

快速提问:

如何防止 Matlab 自动“简化”我的 matlab m 文件中的方程?

示例:

代码

syms w l a
V3=(w/(2*l))*(l^2+a^2)

在命令窗口中输出

V3 =
(w*(a^2 + l^2))/(2*l)

问题:

方程 V3 以最简单的形式“自动”重新排列,这使得方程难以与引用的方程相关。

任何帮助将不胜感激

干杯

【问题讨论】:

  • 两者完全一样,不是吗?
  • 这是同一个等式,但写法不同。我在问是否有办法阻止 Matlab 重新排列方程。
  • 可能值得一提的是您使用的是哪个版本的 MATLAB 和/或 Symbolic Toolbox。符号工具箱的内部结构在几年前被换掉了。我假设您正在使用的版本足够新,可以基于 MuPAD,但您永远无法判断...(抱歉,我不记得 哪个版本 MathWorks 切换到基于 MuPAD 的实现。)

标签: matlab symbolic-math simplification


【解决方案1】:

您可以使用抑制自动简化

sympref('AbbreviateOutput', false)

【讨论】:

    【解决方案2】:

    实现您想要做的事情的一种方法是使用 strings 并随后使用 sym() 函数,如图所示 here 在需要时将它们转换为符号方程。

    这样做,当您需要与引用的方程式相关时,您可以简单地比较它们保持不变的字符串版本。

    【讨论】:

    • 为这个建议干杯。是的,我将方程定义为字符串并将其转换为符号方程以在 Matlab 中使用。我遇到的麻烦是,当我使用 latex() 函数显示方程式时,它会重新排列自己,通常看起来不像所需的公式。有什么办法可以改变吗?
    • @TylerDurden:我不确定,但您应该能够在图表上轻松放置字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多