2014-11-08 104 views
1

在matlab中有一個名爲linspace的函數,它將給定範圍內的間隔分開。例如:如何用手計算MATLAB linspace函數

>> x = linspace(-10,5, 10) 

x = 

    -10.0000 -8.3333 -6.6667 -5.0000 -3.3333 -1.6667   0 1.6667 3.3333 5.0000 

如何找到X(4)通過做手工計算?

+1

輸入'open linspace'並查看其代碼 – 2014-11-08 19:50:59

回答

4

這似乎是工作 -

x = linspace(-10,5, 10) 

start = -10; 
stop = 5; 
num_elements = 10; 
index = 4; 

out = start + (index-1)*(stop - start)./(num_elements-1) 

輸出 -

x = 
    -10.0000 -8.3333 -6.6667 -5.0000 -3.3333 -1.6667 0 1.6667 ... 
out = 
    -5 

因此,(stop - start)./(num_elements-1)將是stepsize

所以,如果你想完整的陣列,這樣做 -

complete_array = start : (stop - start)./(num_elements-1) :stop 

但是,如果你反對linspace結果比較這些結果要小心的浮點精度問題 - What is the advantage of linspace over the colon 「:」 operator?