我需要从.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)
以上不起作用,我尝试了上述代码的许多不同变体....我没有运气.
目前,在我的程序中,我有几个公共块分布在多个子程序和函数中。有时,当我向公共块添加变量时,我会忘记更改公共块的所有实例。我想将这些公共块放入模块中,这样我就可以在一处向模块添加和删除变量,而不必担心在子程序中更新模块的所有实例。
我是否需要在程序中包含“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) 包含我的主要可执行文件的文件夹非常混乱,包含输入,输出和源文件.我想将其中一些文件移动到我的可执行文件的不同目录中,但仍然可以访问它们.如果我可以创建一个目录,例如./main/outfile,它保存我程序中的所有输出文件,那将是非常棒的.在Fortran 77/90中访问这些文件时是否可以包含路径?
如果编译器有任何重要性,我使用在Ubuntu 11.10上运行的gfortran.