以小于1的增量构建数组-Fortran



我正在尝试以增量步骤构建一个数组。我猜一定有一个类似于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

最新更新