0

ファイルに 2 つのシリーズがあり、散布図を作成できるように 1 つを遅らせたいですか?

できれば、次のような関数でこれを行いたいと思います。

f(x,y) = x*(y-previous(y))

これを行う方法はありますか?

あるいは

plot "mydata.txt" u 3:(lagged($3))

役立つだろう

Welcome to the XWin X Server 
Vendor: The Cygwin/X Project 
Release: 1.13.3.0 
OS: CYGWIN_NT-6.1-WOW64 LskyHome2 1.7.17(0.262/5/3) 2012-10-19 14:39 i686 
OS: Windows 7 Service Pack 1 [Windows NT 6.1 build 7601] (WoW64) 
Package: version 1.13.3-1 built 2013-03-09 
4

1 に答える 1

0

関数を定義できます。

lag(x) = ($0 == 0) ? (val1 = x, 0) : (val2 = val1, val1 = x, val1-val2)

これにより、各ポイントと前のポイントの差が返され、最初のデータポイントの場合は0が返されます。 $0行番号の疑似列です。関数は、plotコマンド内から呼び出された場合、データファイルの列を見ることができます。

あなたはそれを次のように使うことができます

plot 'mydata.txt' u 3:(lag($3))
于 2013-03-20T17:19:22.820 に答える