내가 포트란 큰 정수의 배열을 초기화 할 는, 나는 시도했다 : integer(kind=8) :: XGrid(1:20)
그러나 정수는 기본 종류 = 4 남아있다. 나중에 배열에 숫자를 추가하면 다음과 같습니다. XGrid = (/3002, 3340403,....,19460630000/)
그리고 "이 숫자 상수가 범위를 벗어났습니다."라는 오류 메시지
내가 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
나는 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