我的IDE是CodeBlocks 16.01。 这是我的代码:
Program Matrix_To_Vector
Implicit none
Integer::i,j
Integer, parameter :: M = 3 , N = 2
Integer, dimension ( M , N ) :: Matrix_0
Integer, dimension ( M*N ) :: Vector_0
! Population of matrix
Do i = 1 , 3
Do j = 1 , 2
Matrix_0(i,j) = i+j
End Do
End Do
Open (15, File = 'Result.txt', Status = 'Unknown', Action = 'Write')
Do i = 1 , 3
Write(15,*) Matrix_0(i,:)
End Do
Write(15,*) ( Vector_0(i), i =1 , size(Vector_0))
Close (15)
End Program Matrix_To_Vector
矩阵群的结果是:
2 3
3 4
4 5
我的目的是使用矩阵Vector_0
中的元素制作向量Matrix_0
。向量的大小为M*N
。向量的第一个元素是来自矩阵的(1,1)
,最后一个是(3,2)
- 我想逐列进行。
是否有办法做do循环?
想要向量的对象是:
2 3 4 3 4 5
答案 0 :(得分:0)
do j=1,2
vector_0(3*(j-1)+1:3*(j-1)+3)=Matrix_0(:,j)
enddo
当然你可以做到
vector_0=reshape(matrix_0,shape(vector_0))
以及