【发布时间】:2023-02-10 17:14:25
【问题描述】:
我想创建一个时间向量,从 1e-7 到 1e-5 最后具有更高分辨率(更小的间距)。
标准 v = logspace(-7,-5) 创建一个对数向量增加间距。如果我切换a和b(logspace(-5,-7))的顺序并使用flip(v),间距仍然相同,只是数字的顺序发生了变化。
【问题讨论】:
我想创建一个时间向量,从 1e-7 到 1e-5 最后具有更高分辨率(更小的间距)。
标准 v = logspace(-7,-5) 创建一个对数向量增加间距。如果我切换a和b(logspace(-5,-7))的顺序并使用flip(v),间距仍然相同,只是数字的顺序发生了变化。
【问题讨论】:
除了限制和值的数量之外,您还需要指定一个附加参数:对数的底数。这相当于选择对数曲线上的值进行采样的位置。
此代码在您的两个限制之间生成一系列对数递减的值:
lims = [1e-7,1e-5];
N = 10;
e = 10; % we'll generate linear values from 1 to e
% Generate logarithmic sequence (we need to flip for decreasing intervals)
d = flip(exp(linspace(1, e, N)));
% Map the sequence to our limits
d = (d - d(1)) / (d(end) - d(1));
d = d * (lims(2) - lims(1)) + lims(1);
d 是:
1.0e-05 *
0.0100 0.6359 0.8661 0.9508 0.9820 0.9935 0.9977 0.9992 0.9998 1.0000
【讨论】: