首页 > 解决方案 > 在 Mathematica 中显示完整计算以复制到乳胶中

问题描述

我是 Mathematica 的新手,我希望这是一个内置的功能。我正在计算表的条件熵,并有以下 4 个变量:

a = 1/8*Log[(1/8)/(1/2)] + 1/16*Log[(1/16)/(1/2)] + 1/16*Log[(1/16)/(1/2)] + 1/4*Log[(1/4)/(1/2)]

b = 1/16*Log[(1/16)/(1/4)] + 1/8*Log[(1/8)/(1/4)] + 1/32*Log[(1/32)/(1/4)] + 0

c = 1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 1/16*Log[(1/16)/(1/8)] + 0

d = 1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 0

那么最终的计算是:

a + b + c + d

我希望有一种方法可以将扩展后的内容显示a + b + c + d为输出,这样我就可以右键单击/复制为乳胶以粘贴到文档中,这样我就不必输入它了。我不知道该怎么做。我猜有一种方法可以在输出中扩展这些变量以显示完整的计算,但也许这是不可能的。谢谢你的帮助。

标签: latexwolfram-mathematicawolframalphamathematica-8wolfram-language

解决方案


我不确定您希望数学表达式的扩展程度。查看以下表达式是否是您要转换为 LaTeX 的形式:(1/16 Log[1/(16/4)]+1/8 Log[1/(8/4)]+1/32 Log[1/(32/4)]+0)+(1/32 Log[1/(32/8)]+1/32 Log[1/(32/8)]+1/16 Log[1/(16/8)]+0)+(1/32 Log[1/(32/8)]+1/32 Log[1/(32/8)]+1/32 Log[1/(32/8)]+0)+(1/8 Log[1/(8/2)]+1/16 Log[1/(16/2)]+1/16 Log[1/(16/2)]+1/4 Log[1/(4/2)]).

您可以通过使用作业右侧的 HoldForm 来获得它。然后使用TeXForm[a+b+c+d]转换:

a = HoldForm[
  1/8*Log[(1/8)/(1/2)] + 1/16*Log[(1/16)/(1/2)] + 
   1/16*Log[(1/16)/(1/2)] + 1/4*Log[(1/4)/(1/2)]];

b = HoldForm[
  1/16*Log[(1/16)/(1/4)] + 1/8*Log[(1/8)/(1/4)] + 
   1/32*Log[(1/32)/(1/4)] + 0];

c = HoldForm[
   1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 
    1/16*Log[(1/16)/(1/8)] + 0];

d = HoldForm[
   1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 
    1/32*Log[(1/32)/(1/8)] + 0];

TeXForm[a + b + c + d]

推荐阅读