내가 포트란 큰 정수의 배열을 초기화 할 는, 나는 시도했다 : integer(kind=8) :: XGrid(1:20)
그러나 정수는 기본 종류 = 4 남아있다. 나중에 배열에 숫자를 추가하면 다음과 같습니다. XGrid = (/3002, 3340403,....,19460630000/)
그리고 "이 숫자 상수가 범위를 벗어났습니다."라는 오류 메시지
나는 84480 라인의 데이터 파일을 가지고 있는데, 각각을 4224 라인을 갖는 서브 루틴에서 20 개의 다른 파일로 나눕니다. 이제이 파일을 다른 서브 루틴에서 하나씩 사용하여 몇 가지 분석을 수행하려고합니다. 하지만 시도했을 때, 런타임 오류가 발생했습니다 : 파일 끝. 여기 메인 프로그램 여기 real (kind = 8) :: x(84480),y(8
이 코드 부분에서 부동 소수점 오버플로 오류가 발생합니다. 당신들 중 누구라도 그 이유를 찾도록 도와 줄 수 있습니까? do j=1,ny-1
do i=1,nx-1
sum = 0.0d0
do k=0,1000
n=2.0d0*dfloat(k)+ 1.0d0
sum = sum + ((dsinh(n*pi*x(i))*
다른 서브 루틴에서 서브 루틴으로 값을 전달하는 방법을 이해하려고합니다. 나는 코드가 있습니다 program pg
call sub()
end
subroutine sub()
character :: P(12,12)
character :: D(20), N(26), userInput
integer :: A,B
A = 5
B = 2
userInp
CSV로 읽고 최종적으로 데이터 배열에 저장하는 서브 루틴이 있습니다. 그러나 문자열 값을 제대로 읽지 못합니다. 나는 실제 값과 정수 값을 얻을 수 있지만 문자열은 매번 비어있게된다. 데이터 파일은 항상 알 수없는 행 번호가있는 동일한 정확한 형식 (F10.6,1x, I3,1x, A64)을가집니다. 내 출력은 부동 소수점 값 다음에 정수가오고 공백이옵니다
나는 병렬 코드 작성/실행에 상당히 익숙하다. 현재 저는 프로세스에 대한 느낌을 얻기 위해 병렬 코드를 작성하는 기본 자습서를 실험하고 있습니다. 내 컴퓨터는 Mpich와 함께 우분투를 사용하고 있습니다. 나는 제목의 코드를 실행하려고하고 이 페이지의 "벡터를 요약하는 완전한 병렬 프로그램"http://condor.cc.ku.edu/~grobe/docs/i
내가 Absoft 프로 포트란 사용하고 다음과 같이 내가 코드 조각이 : program test1
INTEGER :: q, CAPQ, ingrid(1:6), outgrid(1:10)
ingrid = (/1,2,3,4,5,6/)
outgrid = 0
CAPQ = 6
DO q=1,CAPQ
outgrid(q) = ingrid(q)
EN