特定の瞬間に2つのデータセット間の差を計算したいと思います。問題は、2つのデータセットの「タイムスタンプ」が異なることです。たとえば、次のデータセットを考えます。
time-1 state-1 time-2 state-2
6.164012 1 6.164015 1
6.290051 2 6.290055 2
6.454675 3 6.454678 3
7.006175 4 7.006178 4
7.080418 5 7.016555 5
7.193570 6 7.016595 4
7.351850 7 7.016595 3
7.465638 8 7.016595 2
7.492480 9 7.080421 3
7.524426 10 7.193572 4
8.006629 11 7.203975 5
0.000001秒ごとに状態1と状態2の差を計算するだけで十分です(無差別代入)。この問題を解決する方法を知っている人はいますか?
編集:私の質問を明確にするために:最初のデータセットにはタイムスタンプ(時間-1)とその値(状態-1)が含まれています。 2番目のデータセットには、タイムスタンプ(時間-2)と対応する値(状態-1)状態-2も含まれています。私は各瞬間の「状態」変数を比較して、2つの間の最大の違いを見つけたいと思います。ただし、2つのデータセット間のタイムスタンプが同期していないため、単に行1と行1などを比較することはできません。データセットは次のように読み取ることができます。データセット1には、6.164012秒の時点で1つの状態があり、6.290051秒後に2つの状態があります。 。データセット2には、6.164015秒後に1つの状態があり、6.290055秒後に2つの状態があります。
編集2:両方のデータセットをステップ関数として考えることができます(x軸は時間、y軸は状態変数)。その後、次のように終了します。
^
| +---------+
| | | +---+
| +--+ +---+ | | |
| | | | +-+ + ... f1
|--------+ +-------- ... f2
+------------------------------->
f1とf2(y_1 - y_2)の違いがどの時点(x値)にピークかを知りたいです。この場合、「関数」はありませんが、同じ実験に属する2つのデータセットが異なるパラメータを使用して実行されています。
答え1
あなたの質問は明確ではありません。ファイルの 2 番目と 4 番目のフィールドを比較する場合は、次の手順を実行します。
awk '{print $2-$4}' file.txt
これはあなたが望むものではないようです。もしそうなら、より良い助けを得るために、より多くの情報で質問を更新してください。