if문 해결좀해주세요ㅠㅠ

게시판 IDL Q&A if문 해결좀해주세요ㅠㅠ

3 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #1948 Reply
      kogodkr
      회원

      제가 원하는것은 CntM 이 0초과하면 평균을 계산하고
      cntM이 -1이면 999를 넣게 하고싶어요.
      for i=0,3 do begin
      for j=0,30 do begin
      tempM=reform(temp(*,j,i),24)
      indxM=where(tempM lt 50,cntM)

      if (cntM gt 0) then begin mn_temp(j,i)=mean(tempM(indxM))
      endif else
      if cntM eq -1 then begin mn_temp(j,i)=999
      endelse

      이 상황에서는 불가능하나여?

      endfor
      endfor

    • #1949 Reply
      Jonghyuk
      회원

      cntM은 최소값이 0입니다.
      where 에서 조건을 만족시키는 요소 개수를 의미하기 때문입니다. 마이너스가 될 수는 없어요.

    • #1955 Reply
      kogodkr
      회원

      음…그러면
      CntM이 0초과하면 평균을 계산하고
      CntM이 0이면 999로 넣게 할 수 있나여?

    • #1956 Reply
      Sangwoo
      회원

      IF문에서 조건을 만족할 때와 그렇지 않을 때 해야 할 작업이 한 줄이라면 굳이 BEGIN으로 시작하는 블록으로 안하고 그냥 다음과 같이 한 줄로 써도 됩니다.

      if (cntM gt 0) then mn_temp(j,i)=mean(tempM(indxM)) else mn_temp(j,i)=999

3 답변 글타래를 보이고 있습니다
'if문 해결좀해주세요ㅠㅠ'에 답변달기
글쓴이 정보: