2017-12-21 40 views
0

내 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 

내 의도는 매트릭스 Matrix_0의 요소 벡터 Vector_0을 확인하는 것입니다 이 내 코드입니다. 벡터의 크기는 M*N입니다. 벡터의 첫 번째 요소는 행렬의 (1,1)이고 마지막 요소는 (3,2)입니다.이 열을 열로 처리하려고합니다. do 루프로 그렇게하는 방법이 있습니까? 원하는 벡터의 컨테스트는 다음과 같습니다 : 2 3 4 3 4 5

답변

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)) 

뿐만 아니라

을 할 수