0
텍스트 파일에서 측정 데이터를 읽고 싶습니다. 데이터는 예를 들어. 형태 다음 : 내가 잘못 뭐하는 거지텍스트 파일에서 측정 데이터를 읽고이를 Fortran의 배열에 입력하십시오.
0.000000000 0.000314191
0.000157095 0.000471286
0.000314191 0.000628381
0.000471286 0.000785477
0.000628381 0.000942572
0.000785477 0.001099670
0.000942572 0.001256760
0.001099670 0.001413860
0.001256760 0.495540000
0.001413860 0.433729000
그러나
SUBROUTINE test(name)
implicit none
character :: name*(*)
real*8,allocatable, dimension(:,:) :: measMatrix
integer :: i,
& nrcols
nrcols = 2
nrrows = 10
allocate(measMatrix(nrcols,nrrows))
open(unit = 20, file = Dateiname, status = 'old', action = 'read')
do i = 1, nrrows
read(20,*) measMatrix(i,1:nrcols)
end do
close(20)
open(unit = 10, file = 'Test4.txt')
do i = 1,nrrows
write(10,777) (measMatrix(i,j), j = 1,nrcols)
end do
close(10)
777 format(F12.9,4X,F12.9)
deallocate(measMatrix)
END
출력은 잘못, 다음과 같이
0 0.0531139
0.000157095 0.306123
0.000314191 0.133868
0.000471286 0.29799
0.000628381 0.0182098
0.000785477 0.121222
0.000942572 0.32111
0.00109967 0.0267326
0.00125676 0.49554
0.00141386 0.433729
내 코드는? 도움에 미리 :(
감사합니다.
코드가 완전하지 않습니다.이 예를 만들기 위해 최소한의 변경 사항을 포함하도록 확장 할 수 있습니까 (예 : 'nrrows'의 'nrrows'선언을 표시하지 않음). 또한 실제로 alloc_status로 놓여진 것을 검사하여 할당이 잘되었는지 확인해야한다. (또한 첫 번째 차원의 길이는'nrcols'로 정의되지만 루프에서 첫 번째 차원은'nrrows '이고 두 번째 차원은'nrcols' long입니다. –
확실합니다. 죄송합니다. 코드를 변경했습니다. – ingenium