0

x等距離の長い間隔(10分ごと)の変数とy等距離でない短い間隔(30秒から90秒ごと)の変数を測定しました。とdatenumの両方のタイムスタンプ( )が使用可能ですが、同じになることはないため、機能しません。どうすれば集約できますか(たとえば、2つを比較できるように間隔を空けて(たとえば、それらを互いにプロットするか、同じ時間ベクトルでプロットする)?xyintersectymean(y(...))x(i+1) - x(i))

/ edit 1:混乱xyていて、最後の1文です。

/編集2:元の質問で十分な情報を提供できなかったようです。申し訳ありません。あなたの多くは補間を提案します。xは10分間の平均風速であり、明確な測定値ではありません。つまり、time= 07:10およびm/sと言うと、07:00から07:10までの期間のm/sx = 3を意味します。mean(x) = 3これが、それを補間するのがおそらく最善の考えではないと私が思う理由です。は他の多くの(非常にノイズの多い)変数の1つであり、(平均)のへyの影響を調べたいと思います。したがって、 (その10分間の)1つの測定値に多くの値を割り当てるか、の1つの測定値にを割り当てたいと思います。コードに関しては、ソリューションは非常に似ていると思います。xyyxmean(y)x

4

5 に答える 5

1

編集された(2x)質問を読む:

x測定値がないある時点での値を推定しようとしています。前後に測定があります。あなたができる唯一のことは、補間することです。どの方法を選択するかは、決定するのがやや難しいです。

オプションは次のとおりです。

y/編集: 2 つの測定値の平均値を取得するだけの場合xは、次のことをお勧めします。

new_y = zeros(size(x));
new_y(1) = mean(y(ty<=tx(1)));
for ii=2:length(x):
        new_y(ii) = mean(y(and(ty>tx(ii-1),ty<=tx(ii))));
end

histを使用すると、さらに良い解決策になるかもしれません:

n = hist(ty,tx)

ベクトルには、 の値に最も近いnの値の数が含まれます。どちらも単調なので、 で値をグループ化する方法を説明します。次に、 を使用して、各セルが の 1 つの測定値に対応するセル配列に入れることができます。2 番目のパラメーターは、各セルに入れる値の数を指定するようになりました。tytxnymat2cellyxn

new_y = mat2cell(y,n)
于 2013-03-13T17:14:49.780 に答える
1

値を集計するには、次を使用しますaccumarray

accumarray(fix(ty(:) / T) + 1, y, [], @mean)

はサンプリングyされた信号、tyはタイムスタンプ配列、Tは集計値の時間間隔 (たとえば、T = 10 / (24 * 60) = 0.006910 分間隔) です。

于 2013-03-13T16:47:14.510 に答える
0

1 次元補間を使用した簡単な例を次に示します。

# make two example functions on different x bases.
x1 = [0:.023:10];
x2 = [0:1:10];
y1 = x1.^2/10;
y2 = 10 - x2.^1.3;

# convert both to a common x base (x1 in this case).
y2i = interp1(x2,y2,x1);
plot(x1,y1,x1,y2i)
于 2013-03-13T16:43:06.453 に答える
0

線形補間を使用してください!

自分でやるのは簡単で楽しいです。x のタイムスタンプ、x の値、および y の値がわかっているので (ただし、y のタイムスタンプは x のタイムスタンプと一致しません)、線形補間を使用できます (または、 x のタイムスタンプで発生したかのように、y の値を補間/「更新」する必要があります。その後、同じ x タイムスタンプ ベクトルに対して x 値と補間された y 値の両方をプロットできます。

参照: http://en.wikipedia.org/wiki/Linear_interpolation

于 2013-03-13T16:45:03.210 に答える
0

x から等距離でないタイムスタンプ (またはその逆) にデータを補間し (interp1 関数を参照)、結果を比較できます。

プロット:

plot(Time_x, x, Time_y, y)
于 2013-03-13T16:38:08.653 に答える