2017-04-16 6 views
1

배열 (벡터, 행렬 또는 심지어 스칼라)을 포트란에서 0으로 설정하는 방법이 있습니까? 2003/2008은 매우 현대적인 수준으로 포트란을 복용하는 것, 그리고 나는 그들이Fortran에서 배열을 0으로 초기화하는 내장 함수가 있습니까?

do i = 1,X 

     do j = 1,Y 

      A(i,j) = 0 

     enddo 

enddo 

을 할 필요없이 제로에 배열 값을 설정하는 쉬운 방법을 포함 한 경우 X 행의 수입니다 궁금해해야 Y는 2 차원 행렬의 열 수입니다. 이것은 원하는만큼 많은 차원으로 일반화 될 수 있지만 원칙은 동일합니다.

매트랩

이 쉽게 즉,

A = zeros(X,Y) 

현대 포트란은 MATLAB과는 레퍼토리의로 다른 언어에 대한 같은 것들의 많은 사람들을 통합하는 것으로 보인다는 제로 기능을 수행, 그래서 난 그냥 오전 그들이이 단순하고 기본적인 임무를 위해 본질적으로 가지고 있는지 궁금하다.

아니면 현대의 Fortran에서는 배열을 초기화하여 이전에 저장된 값을 지울 필요가 없습니다.

나는 짧은 방법은 단지

real, dimension(X,Y)  :: A 

A = A*0.0 ! Set all elements to zero by multiplying matrix by scalar value 0 

그러나 고유에 대한 질문은 여전히 ​​유효을 이동하는 것 같아요.

+4

나는'A는 = 0.0' 생각 해. – rici

+0

@rici, 정확합니다. 그것은 내가 과잉 살상을하고있는 것에 대한 아주 간단한 해결책입니다. –

+2

올바른 답을 찾았으나 "0으로 곱하기"방법이 올바르지 않습니다. 식에서 초기화되지 않은 변수를 사용하는 것이 정확하지 않습니다. –

답변

1

답변은 매우 간단합니다.

A = 0.0 

하거나

A = 0 

는 0.0000로 배열의 모든 요소를 ​​설정합니다 ...

가 (질문에서 이동은.)