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

时间:2014-11-03 07:10:40

标签: arrays fortran

我试图以增量步骤构建数组。我猜测必须有一个类似于matlab的矢量构建的功能,例如向量(1:0.1:2),它构建一个向量,并用0.1到1的1到2的值填充它。有没有办法在fortran中做到这一点?

1 个答案:

答案 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