我试图以增量步骤构建数组。我猜测必须有一个类似于matlab的矢量构建的功能,例如向量(1:0.1:2),它构建一个向量,并用0.1到1的1到2的值填充它。有没有办法在fortran中做到这一点?
答案 0 :(得分:2)
您可以使用数组构造函数,如以下代码所示:
program main
implicit none
real,allocatable,dimension(:) :: vec
real :: a,inc
integer :: n ,i
a = 1. ! initial value
inc = 0.1 ! increment value
n = 11 ! number of values
allocate(vec(n))
vec = [(a + (i-1) * inc, i=1,n)] ! array constructor
write(*,'(11f7.2)') vec
end program main
出:
1.00 1.10 1.20 1.30 1.40 1.50 1.60 1.70 1.80 1.90 2.00