我正在使用Modelica来解决传热问题的方程组,其中一个就是Ta^4-Tb^4
写的辐射。有人可以给我一个独家的答案吗?用计算方法(Ta-Tb)(Ta+Tb)(Ta^2+Tb^2)
来解决系统的计算速度更快?
此致
答案 0 :(得分:2)
这个问题没有明确的答案。这是因为Modelica规范用于正式定义问题陈述,但它没有说明工具如何解决这些方程式。此外,由于大多数Modelica工具无论如何都要进行符号操作,因此很难预测这些方程可能采取的步骤。例如,一个工具可以很好地将其转换为Horner多项式(无需人工干预)。
如果要在非线性系统这样的等式中求解温度,请注意负温度解决方案。当这些温度是非线性问题中的迭代变量时,您应该调查“start”属性以指定初始(正)猜测。
答案 1 :(得分:0)
我想说有两个原因可以将它分成(Ta-Tb)(Ta + Tb)(Ta ^ 2 + Tb ^ 2)为SLOWER而不是更快。
(Ta ^ 2 + Tb ^ 2)需要2次乘法和加法,这意味着(Ta-Tb)(Ta + Tb)(Ta ^ 2 + Tb ^ 2)需要4次乘法和3次加法。另一方面,我猜Ta ^ 4-Tb ^ 4是这样完成的:((Ta ^ 2)^ 2 - (Tb ^ 2)^ 2)这意味着1次加法和4次乘法。
< / LI>Mathematica,就像一个更通用的编译器,可能非常清楚如何优化这些非常简单的表达式。这意味着使用简单模式在计算时间方面通常更安全,这些模式很容易引起注意并转化为超高效的机器代码。
我可能显然是错的,但我看不出任何理由(Ta-Tb)(Ta + Tb)(Ta ^ 2 + Tb ^ 2)可能更快。希望它有所帮助。
的奥斯卡