定数部分に対応するベクトルの線形補間の方法は?たとえば、次のように2つの列の行列があります。matlabの対応する定数部分の補間
Matrix =
125.2985 5.7057
125.2991 5.7098
125.2997 5.6880
125.3004 5.6739
125.3010 5.7140
125.3016 6.0141
125.3022 6.3620
125.3029 6.4793
125.3041 6.4665
125.3047 6.4646
125.3053 6.4844
125.3060 6.4743
125.3066 6.4865
125.3072 6.4878
125.3078 6.4975
125.3085 6.4952
125.3091 6.4958
125.3128 6.5867
125.3134 7.0733
125.3141 7.3427
125.3147 7.3238
125.3153 7.3093
125.3159 7.3188
125.3166 7.3436
第2の行列は「C」と同じです。
C =
125.2985 2.0000
125.3004 3.0000
125.3053 5.0000
125.3085 4.0000
125.3147 6.0000
125.3166 7.0000
ここで、 'Matrix(:、1)'の 'C(:、2)'値の補間を行う必要があります。
Cinter=interp1(C(:,1),C(:,2),Matrix(:,1),'linear')
Cinter =
2.0000
2.3158
2.6316
3.0000
3.2449
3.4898
3.7347
4.0204
4.5102
4.7551
5.0000
4.7813
4.5937
4.4063
4.2187
4.0000
4.1935
5.3871
5.5806
5.8065
6.0000
6.3158
6.6316
7.0000
をたどるような線形補間の出した結果がある。しかし、私は唯一のそれらのデータポイントの補間をやりたい「マトリックス(:、2)」かなり安定しています。残りの部分は、補間されたベクトルのNaNと同じにする必要があります。必要な出力は 'Cinter'の代わりに以下のようにする必要があります。これを達成する方法は?
このことは、さらに第2の望ましい出力を達成するためにさらに進んだことができます。定数 'Matrix(:、2)'の最初の 'output1'データポイント(NaN)に基づいて、近くの 'C(:、2)value'に置き換えることができます。 2番目の出力は次のようになり、これを取得する方法は?
output2=
2.0000
2.3158
2.6316
3.0000
3.0000
NaN
NaN
5.0000
5.0000
5.0000
5.0000
4.7813
4.5937
4.4063
4.2187
4.0000
4.0000
4.0000
NaN
6.0000
6.0000
6.3158
6.6316
7.0000
ありがとうございました。 ベストウェイ
「安定」を定義します。その定義をしたら、定義に従わないすべての値を 'NaN'に補間して設定します。 – Adriaan
@ Adriaan:期間を変更するためには、diff(Matrix(:、2))<0.1と定義できますが、問題は安定した期間にありますが、その点の補間は他のレベルの影響を受けます。したがってこれはNaNに置き換えるか、補間なしで近くの 'C(:、2)'を考慮する必要があります。 – Umar