이상우의 IDL 블로그
과학기술용 프로그래밍 언어인 IDL에 관한 폭넓은 내용들을 다루는 블로그입니다

방명록

   
등록
  • shjwl12e
  • 2019.03.28 12:33
안녕하세요. IDL에 대한 강의나 설명 항상 잘 보고있습니다.
제가 SetData를 이용해서 움직이는 그래프를 그리려고 했는데 잘 되지 않아 여쭤보고자 하는데요.

일단 배열 BB는 3차원 배열: BB(21,4,100) 이고
x가 BB(*,0,t), y가 BB(*,1,t)이고, x는 대략 1~610정도까지의 정수가, y에는 1~3까지의 정수가 랜덤하게 들어있습니다.
SetData를 이용해서 t가 0부터 99까지의 100개의 그래프를 동영상으로 만들고 싶은데 어떻게 해야할지 몰라서 도움을 요청하고자 합니다.

저는 일단
frame=100
win = WINDOW(DIMENSIONS=[1200, 300])
 x = BB(*,0,0)
 y = BB(*,1,0)
 p = PLOT(x, y, psym=2,symsize=5,YRANGE=[0, 4],/CURRENT)
FOR t = 0, frame-1 DO BEGIN
 x = BB(*,0,t)
 y = BB(*,1,t)
 p.SetData, x, y
ENDFOR
이렇게 짰는데 win창에 아무것도 뜨지를 않네요.
혹시 도움 주실 수 있으신가요?
감사합니다.
   
등록 취소
   
등록 취소
  • shjwl12e
  • 2019.03.28 12:38
아 질문은 IDL Q&A 게시판에서 다시 여쭤보도록 하겠습니다. 비밀번호를 까먹어서 이 글이 삭제가 되질 않네요. 죄송합니다.
   
등록 취소
올리신 질문에 대해서는 Q&A 게시판에 댓글을 달아놓았으니 확인해보시기 바랍니다
   
등록 취소
  • planted
  • 2019.03.14 16:45
안녕하세요. idl을 전혀 모르는데 수정을해야하는 긴급한 상황이라 도움을 얻고자 이렇게 글을 남깁니다.
sav 파일을 보거나 디컴파일? 할수 있는 방법이 있을까요? 있다면 방법좀 알려주시면 감사하겠습니다.
   
등록 취소
   
등록 취소
sav 파일은 실행파일이기 때문에 소스코드의 내용이 전혀 들어가 있지 않은 파일입니다. 따라서 sav 파일만으로는 원하시는 작업이 불가능합니다. IDL 소스코드 파일인 .pro 파일이 있어야 수정 작업이 가능합니다.
   
등록 취소
  • 양양
  • 2018.02.05 17:17
안녕하세요.., idl 사용 중 막막함에 이곳에 질문을 올립니다..

다름이 아니라
크기가 같은 1차원 배열, a와 b를 아래와 같이 두 개의 함수를 적용했습니다.

reg = regress(a,b,const=const)
lin = linfit(a,b,ynew=ynew)

저는 regress와 linfit 함수 모두 선형회귀분석을 할 목적으로 사용하였는데요, 결과가 너무나도 다르게 나와 어려움을 겪고 있습니다. 이 두 함수 모두 선형회귀분석에 사용하는 함수가 아닌가요? 왜 차이가 나는지 답을 구합니다...........ㅠㅠ
   
등록 취소
   
등록 취소
올려주신 두 경우 모두 같은 결과가 나옵니다. 다만 REGRESS와 LINFIT이 결과값을 돌려주는 방식에 있어 약간의 차이만 있을 뿐입니다. REGRESS의 결과에서는 const가 상수항(Y절편)이 되고 reg[0]가 1차항의 계수(기울기)가 됩니다. 그리고 LINFIT의 결과에서는 lin[0]가 상수항(Y절편)이 되고 lin[1]이 1차항의 계수(기울기)가 됩니다. 그리고 근사된 Y값 배열을 돌려받는 키워드는 REGRESS, LINFIT 모두 지원하며 그 명칭은 YFIT입니다. 더 자세한 사항들은 IDL 도움말에서 각 함수에 대한 내용에서 찾아보시면 됩니다.
   
등록 취소
  • 이양고
  • 2018.01.29 16:27
안녕하세요, 블로그에서 많은 도움을 받고 있습니다. 질문이 있어서 여기에 올립니다. array에 랜덤으로 일정한 확률을 가진 binary 값을 n개 생성하려고 합니다. 즉 1이 발생할 확률이 p라고 하면 array에 확률 p를 가진 1이 랜덤으로 n개 생성하게끔 하고 싶은데 randomu에서 binomial로 했을 때 n이 통제가 안되네요.. 어떻게 하면 될가요?
   
등록 취소
   
등록 취소
질문하신 내용을 제가 이해를 제대로 한 것인지 확인이 필요할 것 같습니다. 예를 들면 1000개의 값들로 구성된 배열이 있고, 배열 내 값들이 0 아니면 1인데, 확률이 0.4라면 1000개 중 정확히 400개의 1이란 값들이 랜덤하게 분포해있는 그런 배열을 얻고자 한다는 뜻인지요?
   
등록 취소
  • 이양고
  • 2018.01.31 10:23
안녕하세요~^^ 답글 감사합니다. 확률이 0.4인 1 값이 1000개의 값들로 구성된 배열 안에서 랜덤으로 20번 생성하는 배열을 얻고자 합니다.. 즉 배열 안에서 확률이 0.4인 이벤트가 랜덤으로 20번 발생하는 구조를 만들고자 합니다. 배열의 곳곳에 랜덤으로 뿌리고 싶은데 for문으로 돌리면 배열의 앞쪽에서만 생성되어 끝나버려서 고민입니다.
   
등록 취소
그러면 1000개의 0값들로 구성된 배열을 하나 생성하고, 이 배열 내 임의의 20개의 인덱스들에 대하여 1이란 값이 존재하면 되는 것으로 생각되긴 하는데요. 다만 1이란 값의 총 갯수가 정확히 20이어야 하는지 아니면 0.4의 확률이므로 20개가 아닌 다른 갯수(8개, 10개 등)여도 되는 것인지 궁금합니다.
   
등록 취소
  • 이양고
  • 2018.02.01 12:59
1이란 값의 갯수는 고정이 되어 있어서 정확히 20개 여야 합니다.
   
등록 취소
1000개의 0값들로 구성된 배열을 하나 생성하고, 이 배열 내에서 정확히 20개의 임의의 인덱스들에 대하여 그 값이 1이되어야 한다고 정리하면 될까요? 그렇다면 이 작업에서만큼은 0.4와 같은 확률값 자체는 별다른 의미가 없는 것처럼 보이는군요.
   
등록 취소
일단 제가 이해한 내용을 바탕으로 게시물을 작성해서 올렸습니다. 이 내용을 참조해보시면 될 것 같습니다. 혹시라도 원하시던 내용과 안맞는 부분이 있다면, 게시물에 수록된 코드의 내용을 바탕으로 수정해보시기 바랍니다.

http://blog.daum.net/swrush/448
   
등록 취소
  • 숲속의참치
  • 2017.09.12 09:50
안녕하세요 이 블로그에 자주 도움을 받고 있습니다ㅎ 특히 강의영상을 정말 유익하게 봤습니다. 감사합니다.

제가 ENVI를 이용해서 작업을 하던 중 계속 에러가 나는데 이 에러가 도데체 무슨 뜻인지를 모르겠습니다.

코드를 잘못 짠건지 컴퓨터의 하드웨어의 문제인지 ㅜㅜ 무지몽매한 중생에게 길을 가르쳐 주십시요

% IMSL Error: IMSL_MULTIREGRESS: Warning: STAT_RANK_DEFICIENT: The model is not full
  rank.  There is not a unique least squares solution. The rank of the matrix of regressors is 1.
   
등록 취소
   
등록 취소
방문 감사합니다. 죄송한 말씀이지만, ENVI는 다른 영역이고 여기서는 다루지 않습니다. ENVI 관련 질문은 아래 링크를 이용하시면 됩니다.

http://idl.selab.re.kr/?forum=envi-qa
   
등록 취소
  • Elijah
  • 2017.05.18 11:18
안녕하세요.이블로거를 통해 많을 도움을 받고 있습니다.
주로 DG을 사용하고 있습니다.
colorbar를 넣고 싶은데 어떻게 해야 되는지요?
NG에서는 쉽게 되는데 DG에서는 잘 되지 않습니다.

   
등록 취소
   
등록 취소
여기서 댓글을 올릴까 하다가 그냥 블로그 게시물로 작성하였습니다. 오늘 제가 올린 게시물의 내용을 참조하시면 될 것 같습니다.
   
등록 취소
  • willms
  • 2017.04.28 10:53
안녕하세요? New graphic 초보자입니다.
New graphic으로 polyfill를 적용할 수 있는지 궁금해서 질문드립니다
idl 도움말에 있는 polyfill은 direct graphic 에서의 예제인거 같아서요
   
등록 취소
   
등록 취소
NG 체계에서는 POLYGON 함수가 유사한 키워드를 갖고 있습니다. 그 외에 PLOT, BARPLOT 등 폴리곤 스타일의 표출 기능을 수행하는 그래픽 함수들도 유사한 기능의 키워드를 갖고 있습니다. 이런 키워드들은 대부분 그 명칭이 "FILL_" 시작되는 경우가 많습니다. 이러한 키워드들이 색상을 채우는 역할을 하는데 세부 기능에 대해서는 도움말을 참조하시면 됩니다.
   
등록 취소
  • willms
  • 2017.07.03 09:27
이상우 박사님, 안녕하세요?
박사님  이전 답변을 읽고 제가 감사의 댓글을 달지 않았네요
정말 감사합니다!
하나만 더 여쭤보겠습니다.
패닝 박사님 홈페이지 (코요테) 갤러리에 많은 예제가  DG기반으로 업로드 되어 있는거 같은데요,
NG체계로 다시 그리는게 가능할까요?
   
등록 취소
Coyote Graphics 라이브러리에 있는 DG 기반의 코드들을 NG 기반으로 변환하는 것은 너무 비효율적인 작업이라고 봅니다. 그냥 CG 라이브러리에서 그릴 수 있는 그림의 형태를 참조해서 유사한 그림을 그릴 수 있는 NG 기반의 코드들을 직접 작성하는 것이 더 좋을 것 같습니다. 물론 이를 위해서는 NG 체계 그래픽 기능에 대한 공부가 좀 필요합니다. IDL 도움말에서 관련 내용을 참조하시거나, 아니면 이 블로그에 있는 예제들을 참조하시길 권해 봅니다.
   
등록 취소
  • willms
  • 2017.07.03 23:44
감사합니다!
   
등록 취소
  • DpoN
  • 2017.01.11 19:05
안녕하세요. 평소에 블로그 보고 정말 여러가지 배워가며 IDL 이용하고 있습니다.
최근에 아무리 검색하여도 해답을 알 수 없는 질문이 생겨 여기에 질문을 올립니다.

현재 Mac에서 ssh로 서버에 접속하여 IDL을 돌리고 있습니다.
이과정에서 PS 이미지 파일을 만들고, 다시 제 데스크탑 (MAC)으로 파일을 전송하여 결과를 확인하고 있는데

어떤 ps 파일들은 MAC 미리보기로 잘 보이나, 어떤 파일들은 'PostScript 파일 변환 실패'란 문구가 뜨면서 실행이 안됩니다.

예를들어, for문으로 70개의 ps 이미지 파일을 만들었다고 치면, 약 50번째까지는 MAC에서 미리보기로 잘 되나, 51번째부터 70번째는 위의 문구가 뜹니다. (50번까지는 잘 실행이 되는걸 보면 code문제는 아닐듯 싶습니다.) 혹시 이와 관련하여 도움을 구할 수 있을까 싶어 이렇게 글을 올립니다. ㅠ
   
등록 취소
   
등록 취소
글쎄요. 실제 돌아가는 코드의 내부 상황을 제대로 보지 못하는 제 3자 입장에서는 뾰족한 답을 드리기는 어려울 것 같습니다. 만약 반복 작업 과정에서 메모리 낭비가 누적되는 문제가 존재하는 경우라면, 어느 이상 회차부터는 파일 생성 작업에 문제가 생길 가능성도 있겠지요. 서버에서 돌아가는 원본 코드 내에서 각 회차 작업 때마다 뭔가 중간 결과를 계속 출력하게 하는 방식으로 원인 파악을 직접 해보셔야 할 것으로 보입니다.
   
등록 취소
  • orang-z
  • 2016.12.15 23:31
idl을 파이썬으로 완전하게 돌릴 수 있나요?
   
등록 취소
   
등록 취소
질문하신 의미가, Python에서 IDL을 불러서 사용하는 것이 가능한가 여부를 문의하신 것이 맞다면, IDL의 Python Bridge라는 기능을 사용하면 가능합니다. 물론 이게 가능하려면 약간의 셋업 과정이 필요한데, 아래 링크들의 내용을 참조하시면 좋을 것 같습니다.

http://blog.daum.net/swrush/326

http://idl.selab.re.kr/?p=2672

http://idl.selab.re.kr/?p=2676
   
등록 취소
급한 마음에 여기에 질문 올립니다.(SELAB 홈페이지에는 에러가 뜨면서
진문이 안올라 가네요ㅠ)

원격으로 리눅스 서버에 접속하여
매일 자동으로 IDL을 이용하여 시계열 그림을 그리려고 합니다.
현재 Putty와 Xming을 이용합니다.

이 과정에서 궁금한 점이 2개가 있습니다.

1. Direct graphic으로 PNG 포멧으로 그림을 그리려고 합니다.
  그런데 시계열 축에 한글을 넣으려고 하는데 한글을 넣으면
  한글이 깨집니다. 한글을 그림에 넣을 수 있는 방법이 있을까요?

2. 매일 그림을 일정한 시간에 그려야 하니 윈도우없이
  리눅스 서버만 켜져 있는 상태에서도 그림이 생산되어야 합니다.
  원격으로 그림을 그릴 때 윈도우에 있는 Xwindow(Xming) 등을 이용하지 않고
  그림을 그릴 수 있는 방법이 있을까요?
  z-buffer로도 그리려고 했는데 이때도 xming을 켜 놓고 해야
  그림이 나옵니다.(그리고 Z-buffer로 그림을 그리니 그림 깨지네요..)

인터넷에서도 방법을 찾지 못해 질문 올립니다!!
   
등록 취소
   
등록 취소
안녕하세요. 죄송한 말씀이지만 기술적인 질문은 IDL 유저그룹 웹페이지에 있는 IDL Q&A 게시판을 이용해주시면 감사하겠습니다. 링크는 아래에 있습니다. 제가 방명록을 통해서는 기술적인 질문을 받지 않고 있습니다. 양해 부탁드립니다.

http://idl.selab.re.kr/?forum=idl-qa
   
등록 취소