2017-02-20 20 views
0

브라운 운동의 N 개의 궤적을 I ~ N (0, dt) 단위로 생성하는 프로그램을 작성했습니다. W (1)> = 1 1 & & W (2)> = 2를 조건으로 테스트하고 있습니다. 출력물로서 나는 물론, "Wiener_data.dat"파일에 시간 지점 데이터를 저장하고 있습니다. 이제 조건 1을 만족하는 점은 "Wiener_data_pts1.dat"에 저장되고 조건 2는 "Wiener_data_pts2.dat"에 저장됩니다. 두 조건을 모두 만족하는 궤도의 인덱스를 별도의 파일 "Wiener_data_index.dat"에 저장합니다. 내가 원하는 무엇GnuPlot 데이터 용 가변 칼럼 인덱스

# total number of trajectories satisfying conditions 1 and 2 
12 
# indices 
143 146 173 281 354 496 503 610 613 755 761 965 

은 다음과 같습니다 플롯이 같은 GNUPLOT의 궤적 : N=1000 Trajectories

그래서 난 수동 물론, 대한 매우 지루한 것

plot for [i=1:1000] 'Wiener_data.dat' using 1:i+1 with linespoints ls 3 , 
for [i=143:143] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=146:146] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=173:173] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=281:281] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=354:354] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=496:496] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4, 
for [i=503:503] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=610:610] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=613:613] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=755:755] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=761:761] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
for [i=965:965] 'Wiener_data.dat' using 1:i+2 with linespoints ls 4 , 
Wiener_data_pts1.dat' using 1:2 with points ls 2 , 'Wiener_data_pts2.dat' 
using 1:2 with points ls 5 

을했다 수많은 궤도.

그래서 "Wiener_data_index.dat"의 색인이 주어지면 특정 궤도를 다른 색상으로 플롯하려고합니다. 내가 할 수있는 방법이 있니? 아마도 인덱스 데이터 파일을 배열에 저장 한 다음 인덱스를 반복 할 때 해당 값에 액세스하면됩니까?

답변

0

나는 예를 들어이 같은 일을해야한다고 생각 :

indices = system("gawk 'NR==4' Wiener_data_index.dat") 
plot for [idx in indices] 'Wiener_data.dat' using 1:(column(idx+2)) w l t sprintf("index %s", idx)