小编kxk*_*607的帖子

两个数据集的绘图分为两种不同的方式

我需要从.csv文件和空白分隔文件中绘制数据.两组数据都需要出现在同一个图上.

data1.dat

 #t   y
  1   1
  2   1
  3   1
Run Code Online (Sandbox Code Playgroud)

data2.csv

 #t,y
  1,2
  2,2
  3,2
Run Code Online (Sandbox Code Playgroud)

通常,如果两者都是.csv集,我会做以下事情:

 set datafile separator ','
 plot 'data1.csv' using 1:2,'data2.csv' using 1:2
Run Code Online (Sandbox Code Playgroud)

有没有办法在plot语句中包含分隔字符的设置?

plot 'data1.dat' using 1:2,'data2.csv' using datafile separator ',' using 1:2
Run Code Online (Sandbox Code Playgroud)

以上不起作用,我尝试了上述代码的许多不同变体....我没有运气.

gnuplot

8
推荐指数
2
解决办法
6816
查看次数

从 Fortran 77 的多个通用块制作多个模块

目前,在我的程序中,我有几个公共块分布在多个子程序和函数中。有时,当我向公共块添加变量时,我会忘记更改公共块的所有实例。我想将这些公共块放入模块中,这样我就可以在一处向模块添加和删除变量,而不必担心在子程序中更新模块的所有实例。

我是否需要在程序中包含“use”语句来初始化模块中的变量,还是将程序包含在模块中?我通常会为此使用通用块,但我正在尝试实现模块,因为我认为它们将帮助我的代码在复杂性增加时保持可读性。

注意:模块中变量的某些值在从一个程序传递到另一个程序时需要能够更改。

我尝试编写一个简化的测试程序来熟悉模块,但无法让它工作。我熟悉 fortran 77 但以前从未使用过模块。我很感激任何帮助或建议。

我正在使用 gfortran 4.6.1

主程序.f

program main
use Words
use Vals
double precision x,y,z
character*5 Greet
integer i

Greet = 'Hello'
x = 4.1
y = 5.2
z = 10.0
i = 3

call foo ()

end program main

subroutine foo ()
use Words
use Vals

print *, Greet

z = x + y
print *, z

print *, i

end subroutine

module Words
character*5 Greet
save
end module

module Vals
double precision x,y …
Run Code Online (Sandbox Code Playgroud)

fortran gfortran fortran77 fortran-common-block

4
推荐指数
1
解决办法
2257
查看次数

访问主程序子目录中的文件

包含我的主要可执行文件的文件夹非常混乱,包含输入,输出和源文件.我想将其中一些文件移动到我的可执行文件的不同目录中,但仍然可以访问它们.如果我可以创建一个目录,例如./main/outfile,它保存我程序中的所有输出文件,那将是非常棒的.在Fortran 77/90中访问这些文件时是否可以包含路径?

如果编译器有任何重要性,我使用在Ubuntu 11.10上运行的gfortran.

fortran gfortran

3
推荐指数
1
解决办法
7508
查看次数