我在MATLAB中为GUI创建滑块时遇到了麻烦。一世 真的想要一个范围从10 ^ -1到10 ^ -5的滑块。但那 因子间隔为0.1。所以滑块会 具有对数标度。有谁知道如何解决这个问题?
答案 0 :(得分:0)
我不确定我是否理解你。如果你想从线性比例做出对数比例:
对数的定义:
因此,如果您需要从10 ^ -1滑动到10 ^ -5,您希望从滑块获取某些值并正确转换它。我建议您将min
和max
设置为1和5(或-5和-1),并在每个滑块回调之后或仅使用滑块值转换使用此等式:
y = 10^(-x)
y
是您想要的值,x
是滑块中的值。
在代码中它应该类似于:
logValue = 10^(-get(hObject,'Value'));
set(handles.text2,'string',logValue);
通过在gui中添加一些可以显示y
的文本框来检查此方法。
但是如果你想从对数线上做出线性比例:
y = log(x)