각 요소가 치수 (taille, taille)의 행렬 인 phi0(ngrains)
의 배열을 정의하려고합니다. 예를 들어 phi0(1)
을 찾을 때 예를 들어 taille*taille
요소의 행렬과 phi0(2) .... phi0(ngrains)
의 경우를 표시해야합니다. .배열 배열을 정의하는 방법은 무엇입니까?
어떻게 Fortran에서 수행 할 수 있습니까?
이것은 내가 지금까지 시도한 것입니다 :하지만 난 점점 오류 메시지
PROGRAM DERIVED_TYP
INTEGER :: i,ngrains,nmax=4
TYPE INITIAL
REAL, DIMENSION(:,:), ALLOCATABLE :: zeros(:,:)
END TYPE INITIAL
TYPE (INITIAL), dimension(:), allocatable :: phi0
ALLOCATE (phi0(1)%zeros(nmax,nmax))
ALLOCATE (phi0(2)%zeros(nmax,nmax))
print*,phi0(1)%zeros
!phi0(2)=INITIAL(0.)
END PROGRAM DERIVED_TYP
어떤 오류 메시지가 나타 납니까? 나는 의심 스럽다. 그들은 제로 (zeros)의 정의와 관련이있다. '진짜, 할당 가능 :: 제로 (:, :)'를 대신 사용해 보았습니까? – PVitt
당신은 아직'phi0' 컨테이너 배열을 할당하지 않았으므로'ALLOCATE (phi0 (1) % 0 (nmax, nmax))'를 할 때 할당되지 않은 배열 요소에 접근하고 있습니다. 'ngrains = 2;를 추가하십시오. 이 줄 앞에 (phi0 (ngrains))'를 할당하십시오. –
검색을 시도 했습니까? 이것은 bean이 중복되기 전에, –