MATLAB - 防止方程式简化

3

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

快速问题:

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

例如:

代码

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

在命令窗口输出

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

问题:

方程V3被“自动”转换为最简式,这使得难以将方程与所引用的方程联系起来。

非常感谢任何帮助。

干杯!


1
两者完全相同,不是吗? - P0W
这是同一个方程,只是不同的写法。我想知道有没有办法防止 Matlab 对等式进行重新排列。 - Ben Winding
值得一提的是,您在使用哪个版本的MATLAB和/或符号工具箱。 符号工具箱的内部几年前已被替换。 我假设您正在使用足够新的基于MuPAD的版本,但永远无法确定...(抱歉,我不记得The MathWorks何时切换到基于MuPAD的实现。) - Bob Gilmore
2个回答

2
您可以使用以下方式来禁用自动简化:
sympref('AbbreviateOutput', false)

0

实现你想要做的一种方法是使用字符串,并随后使用sym()函数在此处将它们转换为需要的符号方程。

这样做的好处是,每当你需要参考这些方程式时,你只需要比较它们的字符串版本即可,而这些字符串版本会保持不变。


感谢您的建议。是的,我正在将方程定义为字符串,并将其转换为符号方程以在Matlab中使用。我遇到的问题是,当我使用latex()函数显示方程式时,它会重新排列自己,通常看起来不像所需的公式。有没有办法改变这个? - Ben Winding
1
@TylerDurden:我不确定,但是你应该能够在图表上轻松地放置字符串。 - Roney Michael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接