2016-12-07 11 views
1

補間に問題があります。これを補間する方法は?

点のプロットは、我々はズームインした場合、プロットは、私はこれを補間するためにMatlabのinterp1を機能を使用する方法がわからないこの this.

のようになります here.

です。

説明:

これは、すなわち、X軸は空間とy軸は時間である時空間図です。

したがって、次のようにベクトルxとyの構造は以下の通りである:

ベクトルyが

Y =(1,1,2,2,3,3-のように定義されます、4,4、...、2500,2500)

とXベクトルは、(ペアワイズを含む)の位置、すなわち

x(i)およびx(i+1)は、時刻y(i)=y(i+1)の異なる位置である。

私はこの問題は、おそらく異なる時間に、私たちは上の写真でズームに見られるように同じポイントを持っているということだと思います。

どのように多くのxの値が、時には彼らは時々わずか2時間ステップのために、時には4時間ステップのために、3時間ステップのために同じまま、同じ異なりまま時間ステップ。

+0

あなたはMATLABの 'interp1'を使用しようとしていますか? – Royi

+0

はい、そうです。しかし私は、異なるy値に対して同じx値を持っていればうまくいきません。 –

+0

すべての小さなセグメントの中心を通る線を描くことができます(それに物理的な意味がある場合) – BillBokeey

答えて

1

acccumarrayを使用して、Xの各一意の値に対応するYの値に対して何らかの操作を実行できます。

x = [1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8]; 
y = 1:length(x); 

を私たちは、次のような何かを得る:

raw

は今、各クラスタ上のいくつかの計算を実行するためにaccumarrayを使用します。

clusteravg = accumarray(x', y, [], @mean); 
clustermax = accumarray(x', y, [], @max); 
clustermin = accumarray(x', y, [], @min); 

いくつかの例のデータを使用して

への最初の入力は添え字の配列であり、2番目の入力はそれらの添え字に対応する値の配列です。 accumarrayは、同じ添字(最初の入力)を共有する2番目の入力のすべての要素を集め、指定された計算を実行します。ここで私は、値の各クラスタの平均、最大値、および最小を計算しました:

yay

イェーイ

関連する問題