Mathematica的Manipulate函数将最终参数作为您想要滑块的参数列表及其值范围。但为什么不列出清单呢? 通过这种方式,我可以轻松地为我拥有的这一大型转换规则生成所有滑块,例如:
parms = {a -> 2, b -> 4, c -> 5};
Table[{{parms[[i]][[1]], parms[[i]][[2]]}, 0, 10}, {i, 1,Length[parms]}]
{{{a, 2}, 0, 10}, {{b, 4}, 0, 10}, {{c, 5}, 0, 10}}
然而,我想拥有的是:
{{a, 2}, 0, 10}, {{b, 4}, 0, 10}, {{c, 5}, 0, 10}
我现在正在复制细胞之间的粘贴,这是相当混乱的。我相信有更好的方法可以做到这一点。请帮忙,谢谢!
答案 0 :(得分:3)
当您用作输入时,您需要Sequence@@
来获取要视为所需输出的列表列表。
也许是这样的:
ClearAll[a, b, c];
parms = {a -> 2, b -> 4, c -> 5};
With[{values = Table[parms[[i]][[1]], {i, 1, Length[parms]}],
controls = Sequence @@
Table[{{parms[[i]][[1]], parms[[i]][[2]],
Style[ToString[parms[[i]][[1]]], Red, Bold]}, 0, 10}, {i, 1,
Length[parms]}]},
Manipulate[values, controls]]
给出了