Fortran和gnuplot:参数传递和返回值

时间:2016-04-06 09:07:04

标签: fortran gnuplot

我想从Fortran中的程序调用gnuplot脚本。该程序应该执行线性拟合,以获得线性参数并将它们发送回主程序。我知道可以使用命令

从Fortran调用gnuplot
call system ('gnuplot script.gnu')

我不知道的是如何在此调用中向gnuplot发送参数(让我们说一个名为t的真实变量)并返回主程序的值。拟合参数(两个实数值ab)。

注意:我想避免使用文件在程序之间进行通信:我不希望gnuplot编写一个文件,然后由Fortran程序读取。< / p>

我的线性拟合脚本:

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

1 个答案:

答案 0 :(得分:1)

您可以使用gnuplot的-e命令行参数

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

将参数传递给gnuplot。我不知道有什么方法可以返回一个值。

(为了使它真正有用,你必须将数字输入字符串,请参阅 Convert integers to strings to create output filenames at run time以及&#34; Linked&#34;中的许多相关问题关于如何做到这一点的标签。)

在Fortran中进行线性拟合应该非常容易,公式非常简单,并且还有可用的库,并避免所有这些复杂情况。