2016-04-06 55 views
0

我想從Fortran中的程序中調用gnuplot腳本。該程序應該執行線性擬合,以獲得線性參數並將其發送回主程序。我知道的gnuplot可以從Fortran語言使用命令Fortran和gnuplot:參數傳遞和返回值

call system ('gnuplot script.gnu') 

什麼,我不知道是如何發送的參數在此調用GNUPLOT被調用(比方說,一個真正的變量,名爲t),並返回到上主程序中擬合參數的值(兩個實際值ab)。

注意:我想避免使用文件在程序之間進行通信:我不希望gnuplot寫入一個文件,然後由Fortran程序讀取它。

我對線性擬合腳本:

f(x)=a*x+b fit [t:*] f(x) "data.txt" u 1:2 via a,b;

回答

1

可以使用的gnuplot

call system (`gnuplot -e "t=1" script.gnu') 

-e命令行參數來傳遞參數給GNUPLOT。我不知道有什麼方法可以返回值。

(要使它真正有用,您將獲得的數字串入,見 Convert integers to strings to create output filenames at run time和許多相關的問題中有關如何做到這一點的「鏈接」選項卡。)

它應該是非常易於在Fortran中進行線性擬合,公式非常簡單,並且還有庫可用,並避免所有這些複雜情況。