2
C++
현재이 비트의 코드를 사용하여 을 사용하여 일부 데이터를 플롯합니다. Gnuplot
의 fit
명령은 명령 줄 콘솔에서 원치 않는 출력을 많이 생성합니다.이 프로그램은 다른 프로그램에도 출력합니다.숨기기 C++ Gnuplot 파이프 콘솔 출력
이 출력은 내 콘솔 출력을 클러 터링하므로이 콘솔 출력을 비활성화하고 싶습니다. 이 작업을 수행하는 두 가지 방법이 있어야한다 : pipe
를 사용하여 외부 프로그램에 의해 생성
- 숨기기 출력을 침묵 아니라 출력 할
gnuplot
을 말하는C++
- 에 훨씬
FILE *pipe = popen("gnuplot -persist", "w");//open up a pipe to gnuplot
fprintf(pipe, "set terminal x11 enhanced\n"); //set appropriate output terminal for the plot
fprintf(pipe, "set xlabel 'N'\n");//set xlabel
fprintf(pipe, "set ylabel 'error'\n");//set ylabel
fprintf(pipe, "set yrange [0:0.0001]\n");//set the y range
fprintf(pipe, "plot 'dataSimp.dat' ti 'Simpson method'\n");//plot the Simp error
fprintf(pipe, "replot 'dataTrap.dat' ti 'Trapezium method' \n");//plot the Trap error
fprintf(pipe, "replot 1/(x**2) ti '1/{x^2}'\n");//plot y=1/(x^2) function for comparison
fprintf(pipe, "replot 1/(x**4) ti '1/{x^4}'\n");//plot y=1/(x^4) function for comparison
//fit curve to dataSimp
fprintf(pipe, "set output 'rommel.txt'");
fprintf(pipe, "fSimp(x)=aSimp/(x**4) \n");
fprintf(pipe, "fit fSimp(x) 'dataSimp.dat' via aSimp\n");
fprintf(pipe, "replot aSimp/(x**4) ti 'fitted aSimp/{x^4}'\n");
//fit curve to dataSimp
fprintf(pipe, "fTrap(x)=aTrap/(x**2) \n");
fprintf(pipe, "fit fTrap(x) 'dataTrap.dat' via aTrap \n");
fprintf(pipe, "replot aTrap/(x**2) ti 'fitted aTrap/{x^2}'\n");
pclose(pipe);//close gnuplot pipe
는 것을 시도했지만 작동하지 않습니다. Gnuplot은 피팅 과정에서 모든 signle 반복을 표시하는데 지옥처럼 보였습니다 – romeovs
그냥 나에게 왔습니다 :'> 대신'2>를 사용하십시오! 외관상으로는'적합하다'는 오류 출력이다. 당신의 포스트를 편집하면 받아 들일 것이다. – romeovs
주 :'/ dev/null' 창은'/ nul'이어야합니다. – HeyYO