我正在尝试以增量步骤构建一个数组。我猜一定有一个类似于matlab的向量构建的函数,例如vector(1:0.1:2),它构建一个向量,并在0.1步中用1到2的值填充它。在fortran有办法做到这一点吗?
您可以使用如下代码所示的数组构造函数:
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
out:
1.00 1.10 1.20 1.30 1.40 1.50 1.60 1.70 1.80 1.90 2.00