Julia에서 수치 계산 3: 코드 샘플~2차원 플롯·가시화편~

12143 단어 수치 계산Julia
Julia에서 수치 계산 1: 코드 샘플~기본 계산편~
htps : // 코 m / 코메 ts 코메 _phys / MS / 31d0b811345 A3E 12f
Julia에서 수치 계산 2 : 코드 샘플 ~ 알기 쉬운 쓰기 편 ~
htps : // 코 m / 코메 ts 코메 _phys / MS / dfd63f1f7b51b 4 또는 4
에 이어 Fortran과 C에서 온 사람들을 위해 Julia를 작성하는 방법을 소개합니다.
이 기사는 저 3이다. 사용하고 싶은 것을 적당히 추가해 갱신할 예정.

계산한 결과를 그래프로 할 때 Fortran이나 C라면 계산한 데이터를 파일에 내보내고 gnuplot 등으로 가시화하는 경우가 많을 것이다. Julia이면 파일에 내보내지 않고도 그 자리에서 그래프를 출력시킬 수 있다.
htp // // cs. 쥬아아 pぉts. 오 rg / 아 st /

Julia에서 플롯하는 경우 기본적으로 Plots 라이브러리를 사용합니다. 이 때 다양한 백엔드 라이브러리가 있습니다. 어떤 것이 있는지
"프로그래밍/julia/그래프 쓰기"
https://dora.bk.tsukuba.ac.jp/~takeuchi/? 프로그래밍 %2Fjulia%2F 그래프 작성 방법
매우 상세한.
이 기사에서는 몇 가지에 대해 소개합니다.
또한 Julia 버전은 1.0.0을 사용하고 있다.

JuliaBox 소개



줄거리에 대해 이야기하기 전에 Julia를 부담없이 시도하고 싶은 사람들을위한 JuliaBox
htps : // 쥬우 아보 x. 이 m
를 소개해 둔다. Google 또는 github 또는 LinkedIn 계정이 있으면 즉시 로그인하여 브라우저에서 Julia를 사용해 볼 수 있습니다. 최근 Julia 1.0도 도입됐다. 자신의 PC에 설치할 필요가 없기 때문에 매우 간단합니다.
이 기사에서는 JuliaBox에서 움직이는 것을 확인했습니다.

2차원 플롯



간단한 경우



우선 가장 간단한 경우.
using Plots
f(x) = cos(x)
x=0.0:0.2:2π #x=0からx=2πまで、0.2刻みの配列を生成
y=f.(x) #関数fをxに適用
plot(x,y)

그렇다면 JuliaBox이면 그래프가 출력됩니다. 여기서 .는 어떤 함수를 요소 마다 연산하는 것으로, f.(x)는 x의 각 요소에 f를 적용시킨 것이다.



그래프 파일 내보내기



그래프는
savefig("cos.pdf")

에서 PDF 파일에,
savefig("cos.png")

에서 PNG 파일로 내보내집니다.

여러 플롯



그래프를 추가하고 싶다면 방금전에,
f2(x) = cos(2*x)
y2=map(f2,x)
plot!(x,y2)

로 plot 대신에 plot!를 사용하여 겹칠 수 있다.



또, plot!로 추기하는 것이 아니라, 동시에 플롯하고 싶으면,
using Plots
f(x) = cos(x)
x=0.0:0.2:2π #x=0からx=2πまで、0.2刻みの配列を生成
y=f.(x) #関数fをxに適用
f2(x) = cos(2*x)
y2=map(f2,x)
plot(x,[y,y2])

와 [y, y2]와 나란히 하면 된다.

범위 지정



플롯의 범위를 지정하려면,
using Plots
f(x) = cos(x)
x=0.0:0.2:2π
y= f.(x)
plot(x,y,xlims=(0,1),ylims=(0.5,1))

그리고 xlims와 ylims를 사용하면 좋다. 이것을 플롯하면



된다.

수식해보자



다음으로, 플롯을 수식해 보자.
using Plots
f(x) = cos(x)
x=0.0:0.2:2π #x=0からx=2πまで、0.2刻みの配列を生成
y=f.(x) #関数fをxに適用
f2(x) = cos(2*x)
x=0.0:0.2:2π
y2=map(f2,x)
xticks_values = [0,π/2,π,3π/2,2π]
xticks_labels = ["0","pi/2","pi","3pi/2","2pi"]
yticks_values = [-1.0,-0.5,0,0.5,1.0]
yticks_labels = ["-1","-1/2","0","1/2","1"]
plot(x,[y,y2],labels=["cos(x)","cos(2x)"],xticks = (xticks_values,xticks_labels),
    yticks = (yticks_values,yticks_labels),
    shape = [:circle :star5],color=[:green :orange],
    xlabel="t[sec]",ylabel="f(t)") 

그렇다면,



얻어집니다. labels를 사용하면 그래프의 라벨이, xticks를 사용하면 x축의 눈금이, 추가된다.

좋은 웹페이지 즐겨찾기