데이터 리드 문제 입니다.

게시판 IDL Q&A 데이터 리드 문제 입니다.

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #880 Reply
      Dropsoda
      회원

      dir = ‘C:\Users\킴정훈\Desktop\알찬방학\ADCP\’

      fn = file_search(dir + ‘ADCP.dat’)

      fl = file_lines(fn)

      yy = intarr(fl-16)
      mm = intarr(fl-16)
      dd = intarr(fl-16)
      hh = intarr(fl-16)
      mn = intarr(fl-16)
      dep = fltarr(fl-16)
      U = intarr(fl-16,39) ; EAS
      V = intarr(fl-16,39) ; Nor
      sp = intarr(fl-16,39) ; Mag
      dir = intarr(fl-16,39) ; dir

      aa = intarr(4723,1329)

      tmp = ‘ ‘

      openr, 1, fn

      for k = 0,15 do begin

      readf, 1, tmp

      endfor

      i = 0

      while (not eof(1)) do begin

      readf, 1, x1, x2, x3, x4, x5, x6, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16, u17, u18, u19, u20,u21, u22, u23, u24, u25, u26, u27, u28, u29, u30, u31, u32, u33, u34, u35, u36, u37, u38, u39,v1, v2, v3, v4, v5, v6, v7, & v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32,v33, v34, v35, v36, v37, v38, v29 format = ‘(12x, i4,4i8, 26x, f6.3, 39i8, 39i8)’

      yy(i) = x1 & mm(i) = x2 & dd(i) = x3 & hh(i) = x4 & mn(i) = x5 & dep(i) = x6 & U(i,0) = u1
      U(i,1) = u2 & U(i,2) = u3 & U(i,3) = u4 & U(i,4) = u5 & U(i,5) = u6 & U(i,6) = u7 & U(i,7) = u8
      U(i,8) = u9 & U(i,9) = u10 & U(i,10) = u11 & U(i,11) = u12 & U(i,12) = u13 & U(i,13) = u14
      U(i,14) = u15 & U(i,15) = u16 & U(i,16) = u17 & U(i,17) = u18 & U(i,18) = u19 & U(i,19) = u20
      U(i,20) = u21 & U(i,21) = u22 & U(i,22) = u23 & U(i,23) = u24 & U(i,24) = u25 & U(i,25) = u26
      U(i,26) = u27 & U(i,27) = u28 & U(i,28) = u29 & U(i,29) = u30 & U(i,30) = u31 & U(i,31) = u32
      U(i,32) = u33 & U(i,33) = u34 & U(i,34) = u35 & U(i,35) = u36 & U(i,36) = u37 & U(i,37) = u38 & U(i,38) = u39

      V(i,0) = v1 & V(i,1) = v2 & V(i,2) = v3 & V(i,3) = v4 & V(i,4) = v5 & V(i,5) = v6 & V(i,6) = v7 & V(i,7) = v8
      V(i,8) = v9 & V(i,9) = v10 & V(i,10) = v11 & V(i,11) = v12 & V(i,12) = v13 & V(i,13) = v14
      V(i,14) = v15 & V(i,15) = v16 & V(i,16) = v17 & V(i,17) = v18 & V(i,18) = v19 & V(i,19) = v20
      V(i,20) = v21 & V(i,21) = v22 & V(i,22) = v23 & V(i,23) = v24 & V(i,24) = v25 & V(i,25) = v26
      V(i,26) = v27 & V(i,27) = v28 & V(i,28) = v29 & V(i,29) = v30 & V(i,30) = v31 & V(i,31) = v32
      V(i,32) = v33 & V(i,33) = v34 & V(i,34) = v35 & V(i,35) = v36 & V(i,36) = v37 & V(i,37) = v38 & V(i,38) = v39

      i = i+1

      endwhile
      ==================================================================
      배열이 많아 이렇게 사용하고 있습니다. 위에 U는 읽혔지만 V에서 readf 중에 v31에서 옥색의 글씨로
      변하더니 dir부터 파일이 읽히지 않고 있습니다. 어떤부분이 잘못 됬나요?

    • #917 Reply
      Sangwoo
      회원

      우선 WHILE문의 내용은 아래와 같이 고쳐야 할 것 같습니다.

      while ~eof(1) do begin

      그리고 읽는 파일에서 매 줄마다 110개의 값들을 가져오는 것 같은데, 모든 줄이 110개의 값을 갖고있는게 맞는지 확인이 필요할 것 같습니다. 혹시나 특정한 줄에서 110개의 값을 갖지 않은 경우가 있다면, 읽어야 할 값들을 다 못갖고오기 때문에 문제가 발생할 여지가 있기 때문입니다.

1 답변 글타래를 보이고 있습니다
'데이터 리드 문제 입니다.'에 답변달기
글쓴이 정보: