2016-06-10 113 views
-1

我正在尝试创建一个循环,让用户可以创建多个矩阵,并在其中声明矩阵的大小,如列数和行数。我已经创建了这个循环的第一部分,但是我的问题是创建一个变量,其名称将会改变,以至于先前在循环中创建的矩阵不会被覆盖。然后我必须将所有不同的矩阵相乘。在Fortran循环中更改变量名称

DO n = 1时:数数目是需要创建

WRITE() '输入的行数的矩阵具有'

READ(矩阵的数, )R

WRITE() '输入列号'

READ(,

REAL,DIMENSION(r,c)::“这里我需要一个改变的变量名,所以每次都不会覆盖它。”

+0

请分享你到目前为止的代码 –

回答

1

我不会动态生成新变量。看起来更像是你只是想让每个新变量成为数组的一个元素。分配一个大小等于循环迭代次数的数组。如果变量都是不同维度的二维数组,那么它可能会变得棘手,但是你当然可以用某种结构来包装它。

+1

我必须做不同矩阵的部分产品,如果它们都是同一个数组的元素,我仍然可以做矩阵乘法。 –

+0

@SpencerMickus是的,如果二维数组的大小相同,并且可以在循环中构建一个3d数组。后来在你的程序中,你可以索引你需要进行乘法运算的特定二维数组。尝试将3D数组视为存储,然后将矩阵拉出到临时的2d数组变量中。 – maldata

+0

我认为他将不得不创建一个3D数组和两个数组来保存每个矩阵的大小。像'A(500,500,number)''length_x(number)''length_y(number)',其中500是最大行数和列数。只是一个例子。 – Jagte