3

2 つのファイルがfile1.datありfile2.dat、それぞれに次元が一致する (つまり、両方のm x n行列である) 行列 (それぞれ F1 と F2 など) が含まれています。gnuplot を使用してそれらのいずれか (splot "file1.dat" matrixたとえば) をプロットする方法は知っていますが、gnuplot に F1-F2 をプロットするように指示するにはどうすればよいですか?

4

2 に答える 2

1

これは、gnuplot で少し awk を使用した実際の例です。

set terminal postscript enhanced colour
set output 'matrixdiff.eps'

unset key 
splot "<awk 'NR==FNR{for(i=1;i<=NF;++i)a[FNR,i]=$i;next}{for(i=1;i<=NF;++i)$i=a[FNR,i]-$i;print}' mat1 mat2" matrix

mat1およびmat2は、プロットする行列ファイルです。awkスクリプトはこちらから。

于 2012-04-11T16:45:07.103 に答える
1

残念ながら、(私の知る限り) gnuplot を使用して複数のファイルから情報をプロットする方法はありません。解決策は、2 つのファイルを入力として受け取り、差分を出力として書き込む簡単なスクリプトを (好きな言語で) 書くことです。

splot "<myscript file1.dat file2.dat" matrix ...

set table十分な説得、使用、およびシェル マジックがあれば、(gnuplot に複数のデータ ファイルを出力させたり、シェル コマンドを発行してデータ ファイルを貼り付けたりする...)、あなたが望むことを行うためのハックを思い付くことができると確信していますが、最終的には、独自のスクリプトを作成すると、はるかにクリーンなソリューションになります。

于 2012-04-11T01:20:59.827 に答える