2013-04-23 82 views
0

我正在繪製使用gnuplot從我的模擬輸出直接訪問二進制文件輸出,並且希望編寫一個簡單的通用腳本來繪製文件,而無需編輯文件。這是我想做的事:在gnuplot二進制文件繪圖中使用變量

nx=real(system(sprintf("command to find nx"))) 
dx=real(system(sprintf("command to find dx"))) 
plot 'Fvy.dat' binary format="%double" record=nx skip=0*nx u ($0*dx):1 w l t '{/Symbol d}vy' 
similar plotting multiple times 

現在的問題是,上面的命令給我一個錯誤

gnuplot> plot 'Fvy.dat' binary format="%double" record=nx skip=0*nx u ($0*0.025):1 w l t '{/Symbol d}vy' 
               ^
    ';' expected 

如果我直接使用數字,如

plot 'Fvy.dat' binary format="%double" record=128 skip=0*nx u ($0*dx):1 w l t '{/Symbol d}vy' 

它工作正常。記錄命令唯一的麻煩所在。 skip命令很容易將nx作爲參數。有沒有人有一個想法如何使記錄接受變量?

謝謝!

+0

這是很難不重複的例子來進行測試。 – Thor 2013-04-24 07:07:33

回答

1

NX周圍加上小括號:

plot 'Fvy.dat' binary format="%double" record=(nx) skip=0*nx u ($0*0.025):1 w l t '{/Symbol d}vy' 
+0

謝謝Tobias!你能否也解釋一下它背後的理由?謝謝! – toylas 2013-04-24 18:12:24

+1

與使用參數大致相同。你可以說使用固定數字的1:2或者計算一個表達式,但是你必須像使用($ 1 * 2):(sin($ 2))一樣放入類似的東西。 – 2013-04-25 08:02:07