Tip

[Julia] function내에서 동적 Module 로딩 및 분산처리

function 내에서 using ModuleXX 등으로 동적으로 모듈을 로딩하는 것은 쉽지 않다. function내에서 using ModuleXX로 모듈을 로딩하는 경우 “syntax: “using” expression not at top level “에러가 발생한다. 이런 경우 에러없이 동적으로 모듈을 로딩하기 위해서 eval 사용등으로 메타프로그램을 해야 된다. 아래 예제에서는 분산처리(Parallel Processing)예를 들어 설명한다. 특정 폴더 예를 들어 “/home/shpark/julia_test/exproptimizatoin/examples” 에 TestM01.jl을 생성한다.파일명과 모듈명을 같이 해야

[Julia] function내에서 동적 Module 로딩 및 분산처리 Read More »

[Julia] Plot에서 다중 시계열 데이터의 라벨(label) 표시

t에 대해 여러개의 x1(t),x2(t) 등이 있을 때 원하는 원하는 라벨(label)을 붙이려면 plot 옵션에서 label=[“x1(t)” “x2(t)”] 로 표현 한다. label=[“x1(t)” , “x2(t)”] 즉 라벨을 콤마(“,”)로 구분하면 안됨 n = 161:161+length(test_y_real)-1 display(plot(n,[test_y_real,test_y_pred],label=[“Real Test” “Predicted Test”],size=(900,300),legend=:topright))

[Julia] Plot에서 다중 시계열 데이터의 라벨(label) 표시 Read More »

[Julia] Debugging with Juno (줄리아 디버깅)

모듈 WS에 test() 하는 function이 있을 때 이를 디버깅 하는 방법은 먼저 Juno에서 디버깅 대상이 되는 블록을 잡고 실행 한다블록을 실행 하면 해당 블록의 모듈, 함수,변수 등이 REPL session에 로딩된다. 그 이후 아래와 같이 REPL 에서 타이핑하고 디버깅을 시작 한다 julia> Juno.@enter WS.test() 를 타이핑 하고 실행 한다. 그러면 아래와 같이 화면이 디버깅 모드로 된다.

[Julia] Debugging with Juno (줄리아 디버깅) Read More »

[Julia] 선언한 type을 재선언 하는 방법

jupyter notebook이나 REPL에서 이미 선언한 타입을 변경하거나 삭제하기는 어렵다.workspace()등은 julia 1.0 이전에는 동작 했으나 그 이후에는 동작 하지 않는다.개발시 잘 못된 type선을 수정하기기 어렵다. REPL이나 notebook을 다시 시작하는 경우가 많다. 해결책은 module을 사용하면 된다. module 내에 선언된 type은 다시 선언 하여 사용할 수 있기 때문에 변경이 용이 하다. 아래와 같이 XYZ을 선언하고 바로 아래에 수정된

[Julia] 선언한 type을 재선언 하는 방법 Read More »