提问人:Noah Dbc 提问时间:11/15/2023 最后编辑:Jason AllerNoah Dbc 更新时间:11/15/2023 访问量:32
GNUplot 没有任何东西在绘制
GNUplot nothing is plotting
问:
我试图表示温度在铝板上随时间的扩散。
我正在使用 GNUplot 以热图的形式显示结果。问题是,我希望图形随着时间的推移而演变,并向我展示热图随时间推移的演变。
double T0 = 20;
double D = 9.7 / (10 * 10 * 10 * 10 * 10);
double h = 0.001;
double *U = malloc(ia[n] * sizeof(double));
double *result = malloc(n * sizeof(double));
for(int i = 0; i < ia[n]; i++){
U[i] = T0;
}
FILE *fp = NULL;
fp = popen("gnuplot -persist", "w");
fprintf(fp, "unset key\n");
fprintf(fp, "set view map\n");
fprintf(fp, "set pm3d interpolate 10,10\n");
for (double k = 0.0; k < 10; k = k + 0.01) {
fprintf(fp, "splot '-' with pm3d\n");
for (int i = 0; i < n; i++) {
result[i] = 0.0;
for (int j = ia[i]; j < ia[i + 1]; j++) {
result[i] += (-D) * U[j] * a[j];
}
U[i] = U[i] + (h * result[i]);
fprintf(fp, "%f %f %f\n", datax[i], datay[i], U[i]);
}
fprintf(fp, "\n\n");
fprintf(fp, "e\n");
fflush(fp);
}
fclose(fp);
此代码基于我编写的另一段代码,该代码模拟了同一块铝板的振荡。
启动后,GNUplot 窗口打开,只显示轴以及颜色和温度之间的对应关系。唯一会随着时间的推移而变化的是颜色和温度之间的对应关系,在较冷的温度下会出现新颜色,这是意料之中的。
我的终端没有给我任何错误或任何东西。
如果有人能找到解决我问题的方法,那将非常有帮助。
答: 暂无答案
评论