我正在嘗試創建一個圍繞特定有限範圍(從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(...)
,然後剩下的就是同