gpt4 book ai didi

user-interface - Mathematica 中的对数 slider 控制

转载 作者:行者123 更新时间:2023-12-04 16:55:55 24 4
gpt4 key购买 nike

我正在制作一个用于在 Mathematica 中计算分压器的小接口(interface)。我有两个 slider (z1 和 z2)代表电阻值,还有几个 slider 将 Vin 表示为正弦曲线。

问题是可用电阻值的范围(在现实世界中)在 {r, 100, 1,000,000} 上大致成对数。 .如果我将 slider 范围设置为 r但是,在大约{100, 10,000} .

是否可以创建一个扫过对数范围的 slider ?

Manipulate[
Grid[{{Plot[(VinRCos[t] + VinC), {t, -3, 9},
PlotRange -> {-1, VMax}, AxesLabel -> {t, Vin}]}, {Plot[
z2/(z1 + z2)
(VinR*Cos[t] + VinC), {t, -3, 9},
PlotRange -> {-1, VMax}, AxesLabel -> {t, Vout}]}},
ItemSize -> 20],
{{z1, 10000}, 10, 1000000, 10}, {z1}, {{z2, 10000}, 10,
1000000}, {z2}, Delimiter, {{VinR, 2.5}, 0,
5}, {VinR}, {{VinC, 2}, -VMax, VMax}, {VinC}]
Mathematica graphics

最佳答案

迈克尔的答案可能是最好的,即让用户指定指数。另一种解决方案是制作 LogSlider键入命令。这是一个简单的例子:

LogSlider[{v:Dynamic[var_], v0_?Positive}, {min_?Positive, max_?Positive}, 
base_:10, options___] := DynamicModule[{ev}, Dynamic[
var = base^ev;
Slider[Dynamic[ev], Log[base, {min, max}]]]]
LogSlider[v:Dynamic[var_], {min_?Positive, max_?Positive},
base_:10, options___] := LogSlider[{v, min}, {min, max}]

该函数仅具有 Slider 的灵 active 的一个子集。如果您想要自定义步长等,则必须扩展...

然后你修改你的 Manipulate通过使用指定变量 {{z1, 10000}, 10, 1000000, LogSlider[##]&} ETC...

关于user-interface - Mathematica 中的对数 slider 控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5307244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com