【问题标题】:Fortran and gnuplot: parameter passing and returning a valueFortran 和 gnuplot:参数传递和返回值
【发布时间】:2016-04-06 09:07:04
【问题描述】:

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

call system ('gnuplot script.gnu')

我不知道如何在此调用中向 gnuplot 发送参数(假设是一个名为 t 的实变量)并将拟合参数的值返回到主程序(两个实值 @987654323 @ 和 b)。

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

我的线性拟合脚本:

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

【问题讨论】:

    标签: fortran gnuplot


    【解决方案1】:

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

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

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

    (为了让它真正有用,你必须将数字放入字符串中,请参阅 Convert integers to strings to create output filenames at run time 以及“已链接”选项卡中有关如何执行此操作的许多相关问题。)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-22
      • 2017-09-07
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多