我正在尝试创建一个围绕特定有限范围(从1到1.05)的等高线图。同时,我需要非常高的分辨率接近1,我想我可以使用类似以下,但间距看起来还是直线如何在Matlab中创建非线性间隔矢量?
out=exp(linspace(log(1),log(1.05),100))
plot(diff(out))
什么是增强间距的非线性的最佳途径时,边界如此紧张?再次,我需要保持高密度接近1,分辨率以非线性方式逐渐减小。我有一些想法,但我认为有人可能会有一个快速的班轮或类似的东西。的
我正在尝试创建一个围绕特定有限范围(从1到1.05)的等高线图。同时,我需要非常高的分辨率接近1,我想我可以使用类似以下,但间距看起来还是直线如何在Matlab中创建非线性间隔矢量?
out=exp(linspace(log(1),log(1.05),100))
plot(diff(out))
什么是增强间距的非线性的最佳途径时,边界如此紧张?再次,我需要保持高密度接近1,分辨率以非线性方式逐渐减小。我有一些想法,但我认为有人可能会有一个快速的班轮或类似的东西。的
代替将函数F(X)= E X,以获得一个 '更陡的' 非线性,而申请F(X)= E 斧
n = 20;
a = 100;
lower = 1;
upper = 1.05;
temp = exp(linspace(log(1)*a,log(1.05)*a,n))
% re-scale to be between 0 and 1
temp_01 = temp/max(temp) - min(temp)/max(temp)
% re-scale to be between your limits (i.e. 1 and 1.05)
out = temp_01*(upper-lower) + lower
现在plot(diff(out),diff(out),'o')
产生
注意,您可以用logspace
使用上面完全相同的缩放方案因此就使用
temp = logspace(...)
,然后剩下的就是同