2016-10-15 12 views
1

t(時間的)方向の補間をしようとしています。私は行列Y100*100*3を持っています。第1のスライスは、2秒でYの値であり、第2のスライスは、4秒でYの値であり、第3のスライスは、7秒でYの値である。私は、時間に対する、補間しようとしています時間方向の補間

at time 2 sec Y(:,:,1) 
at time 4 sec Y(:,:,2) 
at time 7 sec Y(:,:,3) 

、例えば3.4秒と5.7

Y値を取得しようとしています。私はちょうどそれが3.4

y_3_4 = interpn(1:size(Y,1), 1:size(Y,2), [2, 4], Y, 1:size(Y,1), 1:size(Y,2), [3.4]); 

おかげ

ため

Y_3_4 = interpn(1:size(Y,1), 1:size(Y,2), [2, 4], Y, 1:size(Y,1), 1:size(Y,2), [3.4]); 

更新コードを動作していない私の質問

Y_3_4 = interp3(Y(1,:),Y(:,1),3.4) 

を更新

Y_3_4 = interp2(X,Y,V,3.4) 
Y_5_7 = interp2(X,Y,V,5.7) 

を使用しました210

+0

interp3を:t=3.4については
?その3次元 –

+0

@アンダービグリ。ありがとうございました。私はそれがまだ動作していないしようとしました – user6052232

+2

@ user6052232それはタイプミスがあるためです。どちらの場合も '1; size(Y、2)'は '1:size(Y、2)'でなければなりません。 Shaiちょうどそれを修正して、もう一度試してみて –

答えて

1

interpnを試しましたか?

y_3_4 = interpn(1:size(Y,1), 1:size(Y,2), [2, 4, 7], Y, 1:size(Y,1), 1:size(Y,2), [3.4]); 
+0

@ interpn。ありがとうございました。私は、コードを私の更新された質問と同じようにする必要がある場合は、それぞれの点だけでそれを必要とします。(私はコードに従ってコードを更新します) – user6052232

+2

@TasosPapastylianouはい。それを見つけてくれてありがとう。それはあなたがモバイルから答えたときに起こることです... – Shai

+0

@ user6052232私の更新を見てください – Shai