arrays - 数组中的 Fortran 数组

标签 arrays matrix fortran dimension

<分区>

我正在尝试在 Fortran 中创建一个类似于 MATLAB 中的单元格的数组。

基本上(例如)我正在尝试创建一个数组 X(10),其中元素 X(1) 是一个维度为 (20,2) 的数组, X(2) 是维度为 (25,2) 等的数组

我该怎么做?

最佳答案

您的特定情况的等效项是使用包含单个组件的派生类型实现的。元胞数组对应于该派生类型的数组,位于元胞数组每个元素内的数组就是每个数组元素的数组组件。

类似于:

TYPE Cell
  ! Allocatable component (F2003) allows runtime variation 
  ! in the shape of the component.
  REAL, ALLOCATABLE :: component(:,:)
END TYPE Cell

! For the sake of this example, the "cell array" equivalent 
! is fixed length.
TYPE(Cell) :: x(10)

! Allocate components to the required length.  (Alternative 
! ways of achieving this allocation exist.)
ALLOCATE(x(1)%component(20,2))
ALLOCATE(x(2)%component(25,2))
...
! Work with x...

MATLAB 中的单元格比上面的特定类型具有更大的灵 active (这实际上更类似于结构的 MATLAB 概念)。对于接近元胞数组灵 active 的东西,您需要使用无限的多态组件和进一步的中间类型定义。

关于arrays - 数组中的 Fortran 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21568652/

相关文章:

arrays - (/值/) 是什么意思? value 是子例程的输入参数

arrays - 从其他数组继承大小的简洁表示法?

python - 创建一个由 0 和 1 组成的随机数 block

javascript - WebGL - 如何将向量取消投影到屏幕空间

python - 如何为每列使用不同的默认值初始化 NumPy 数组?

performance - 'recursive' 属性如何影响 FORTRAN90 子例程的性能

java - Java中交替显示2个字符串

javascript - new Array() 创建的 <empty> 元素有什么值?

javascript - 在javascript es5中计算数组的特定位置

javascript - 如何加入两个数组的值加上它们之间的一些html代码?