Gnuplot和C“x范围无效”
我试图生成一个数据文件,并用Gnuplot绘制它。问题是,当我将Nstep保持在348以下时,会出现错误 但我保持Nstep高于348,一切正常。我不明白为什么。这是我的C代码:Gnuplot和C“x范围无效”,c,gnuplot,C,Gnuplot,我试图生成一个数据文件,并用Gnuplot绘制它。问题是,当我将Nstep保持在348以下时,会出现错误 但我保持Nstep高于348,一切正常。我不明白为什么。这是我的C代码: int main(void){ int Nstep = 348; //omitted part... FILE *pipe = fopen("plot.txt", "w+"); while (n<Nstep) { pos[n+1] = pos[n] + v[
int main(void){
int Nstep = 348;
//omitted part...
FILE *pipe = fopen("plot.txt", "w+");
while (n<Nstep) {
pos[n+1] = pos[n] + v[n]*h;
v[n+1] = v[n] + h * Fx(pos[n]);
fprintf(pipe, "%d %05.3lf\n", n, v[n]);
n++;
}
close(pipe);
system("gnuplot -p -e \"plot 'plot.txt' using 1:2 with lines\"");
return 0;
}
我无法复制您的错误,因为您没有包含完整的源函数Fx以及pos和v的定义。你打错电话了。您应该调用fclose,这也将刷新文件句柄
fclose(pipe)
而不是
close(pipe)
可以通过调用fflush显式刷新数据
fclose(pipe)
close(pipe)