2016-12-14 151 views
0

贊同我想創建一個名爲pressure的函數p(一個2-D矩陣),它取決於2個變量rz如何定義具有小數索引號的數組

uvw是線性的矩陣,其也依賴於兩個變量rz

rz是下述定義線性矩陣採取i={1,2,3,4,5,6,7,8,9,10}

r(i)=i/10 
z(i)=i/10 
u(i) = 2*r(i) + 3*z(i) 
v(i) = 8*r(i) + 4*z(i) 
w(i) = 3*r(i) + 2*z(i) 
p = p(r,z) %, which is given as, 
p(r(i),z(j)) = 2*v(i) - 4*u(i) + w(j) 

現在,在一個給定的位置假設的p(r,z)說需要(0.4,0.8),我想,如果我給輸入p(0.4,0.8),我得到的結果。

回答

0

在你的情況下,最簡單的方法是將分數爲整數乘以10

這樣的位置(R,Z)=(0.4,0.8)將成爲(4,8)轉換。

如果您不想記住每次提供的位置乘以10,只需創建一個函數,它將爲您做,因此您可以調用具有分數位置的函數。

如果你的矩陣是線性,你總是會找到一個乘法因子來擺脫小數座標。

0

不完全知道你的意思在這裏,但如果你的矩陣,在指數只定義了你給(即你只想從固定的一組您定義的索引得出的值),那麼這應該這樣做:

% the query indices 
r_i = 0.4; 
z_i = 0.8; 

value = p(r_i*10,z_i*10); 

,如果你想看看你值中定義的之間,你需要看看插補:

% the query indices 
r_i = 0.46; 
z_i = 0.84; 

value = interp2(r,z, p, r_i, z_i); 

(我可以在T已經變得rz帽子的最後一個功能按錯誤的順序,試試吧)。

+0

這不是OP想要的。他有一個公式來計算事情,他希望如他的頭銜所說的*分數指數*。這與插值無關。 – Adriaan

+0

也許你是對的,但我從他問的方式不太明白。無論如何,壓力是一個連續的現象,也許他可能會發現查看固定指數之間的值是有用的。 –