我正在为模拟滤波器设计的数字GUI编写演示。由于演示只允许一个操作函数,有没有办法动态更新我的操作控件?
E.x.我有 4 种不同的滤波器类型(低通、高通、带通、带阻(,前两种只需要两个频率输入,而后两种需要四个频率输入。有没有办法在不嵌套操作的情况下根据选择的模式在两个操作滑块和四个操作滑块之间切换?或者,我可以在不需要时全部拥有四个并灰显两个吗?
下面是动态更改Manipulate
控件的示例,这些控件应该易于修改以实现所需的内容。我没有写它,我不记得我在哪里看到它。
Manipulate[
{x, yyy},
{{x, a}, {a, b, c, d}, None},
{{yyy, 0.5}, 0, 1, None},
{{type, 1}, Range@3, None},
PaneSelector[{
1 -> Column[{
Control@{x, {a, b, c, d}, RadioButtonBar},
Control@{{yyy, 0.5}, 0, 1},
Control@{type, Range@3}
}],
2 -> Column[{
Control@{x, {a, b, c, d}, SetterBar},
Control@{yyy},
Control@{type, Range@3}
}],
3 -> Column[{
Control@{x, {a, b, c, d}, PopupMenu},
Control@{{yyy, 0.5}, 0, 1},
Control@{type, Range@3}
}]
}, Dynamic@type]
]