我需要在图表中表示(最好使用graphviz)计算公式,如下所示:
raw_unitary_value = <user_input>
quantity = <user_input>
discount = <user_input>
net_unitary_value = raw_unitary_value * (1 - discount/100)
total_value = quantity * net_unitary_value
我可以这样实现:
raw_unity_value -> net_unitary_value
discount -> net_unitary_value
net_unitary_value -> total_value
quantity -> total_value
或者
raw_unity_value -> net_unitary_value_calc
discount -> net_unitary_value_calc
net_unitary_value_calc [label="%"]
net_unitary_value_calc -> net_unitary_value
net_unitary_value -> total_value_calc
quantity -> total_value_calc
total_value_calc [label="*"]
total_value_calc -> total_value
但在这两种方法中,我感到不舒服,这是一个很好的解决方案。这只是公式的第一部分,它总共有大约30个变量。
很难表示计算的细节,所以在第二种方法中我添加了一个名为* _calc的新节点来表示已经完成的操作。
有人知道如何呈现这种解释吗?或者,这种情况可能不适合用图表表示吗?
由于
答案 0 :(得分:0)
传统上,在(控制)工程意义上,你要求的是block diagram。方框图是捕获依赖于先前状态的关系的便捷方式(通常是离散或连续意义上的求和或积分)。这种方法的范围非常广泛,我确信它包含了你想要的东西。
尽管graphviz可以做到这一点,但您正在寻找比使用graphviz工具时更高程度的布局控制。有一些像simulink这样的工程工具可以解决这个问题,但是如果你已经有了代码,它们往往会过多。也许更好的选择是生成LaTeX / TiKZ代码,并从那里生成PDF。这可确保您获得(学术)出版物质量图表。有这么好的包already。