올려주신 내용에 대해 정확한 답변이 될 지는 모르겠는데,
일단 파악한 바로는 병렬 처리를 통해 다수의 변수가 생성된 것을 하나의 변수로 합치는 방법에 대해 문의하신 것 같습니다.
해당 부분은 올려주신 것과 같이
xx=[xx_0, xx_1, …, xx_N]
와 같이 처리가 가능할텐데 문제는 이 xx 변수 개수에 변동이 생기면 매번 명령어를 다시 작성해야 한다는 것 같습니다.
일단 원래 변수 명과 개수만 알면 위와 같은 명령어는 만드실 수 있을 것 같은데, 만들어진 명령어는
EXECUTE 명령어를 통해서 실행이 가능합니다.
void = EXECTUE(‘xx=[xx_0, xx_1, …, xx_N]’)
그 외 EXECUTE 명령어에 대한 부분은 IDL 도움말을 참조하시면 될 것 같습니다.
정리하면 다음과 같을 것 같습니다.
baseName = ‘xx’ ; 원래 변수명
cmd = baseName + “=[”
FOR i = 0, num – 1 DO BEGIN ; num = 병렬화 개수
varName = baseName + STRING(i) ; i를 문자열로 변환 시 split_for에서 만들어주는 규칙에 따라 FORMAT을 정의해 주어야 합니다.
cmd += varName
IF i NE num – 1 THEN cmd += ‘,’
ENDFOR
cmd += ‘]’
void = EXECUTE(cmd)