gpt4 book ai didi

c - Gnuplot 和 C "x range is invalid"

转载 作者:行者123 更新时间:2023-11-30 17:35:27 25 4
gpt4 key购买 nike

我正在尝试生成一个数据文件并使用 Gnuplot 绘制它。问题是当我将 Nstep 保持低于 348 时,我收到错误

line 0: warning: Skipping data file with no valid points

plot 'plot.txt' using 1:2 with lines
^
line 0: x range is invalid

但我将 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[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;
}

plot.txt 示例(Nstep = 10)

1 100.000
2 99.000
3 97.000
4 94.010
5 90.050
6 85.150
7 79.349
8 72.697
9 65.252
10 57.079

最佳答案

我无法复制您的错误,因为您没有包含完整的源代码(函数Fx以及posv的定义) 。你的结束方式是错误的。您应该调用fclose()(这也会刷新文件句柄)。

fclose(pipe)

而不是

close(pipe)

您可以通过调用fflush()显式刷新数据。

关于c - Gnuplot 和 C "x range is invalid",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22989612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com