2016-06-10 53 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