Gnuplot及时绘制逻辑门输出

Gnuplot及时绘制逻辑门输出,gnuplot,Gnuplot,我正在做一个学校项目,这是一个模拟逻辑门的项目。我可以轻松地实现和运行模拟,但我需要显示输出的帮助 现在,我将所有内容打印到控制台,如下所示: sample frequency: 50 ############################################### IN NOT(1) OUT IN1:0 IN1:3 IN1:5 IN2:0 IN2:0 IN2:0 OUT:3 OUT:

我正在做一个学校项目,这是一个模拟逻辑门的项目。我可以轻松地实现和运行模拟,但我需要显示输出的帮助

现在,我将所有内容打印到控制台,如下所示:

sample frequency: 50
###############################################

        IN      NOT(1)  OUT
        IN1:0   IN1:3   IN1:5
        IN2:0   IN2:0   IN2:0
        OUT:3   OUT:5   OUT:0
0       1       -1      -1
50      1       -1      -1
100     1       0       0
150     0       0       0
200     1       1       1
250     1       0       0
300     1       0       0
350     1       0       0  (IN = 1, delay is 1 so we can see
400     0       0       0  the correct output of NOT element in line 400 <-> 350 + 1*50)
450     1       1       1
500     1       0       0
550     1       0       0
600     1       0       0
650     0       0       0
700     0       1       1
750     1       1       1
800     1       0       0
850     1       0       0
900     1       0       0
950     1       0       0
1000    1       0       0
 0   1   2   4
 49  1   2   4
 50  1   2   4
 99  1   2   4
 100 0   2   4
 149 0   2   4
 150 0   3   5
 199 0   3   5
 200 1   3   5
 249 1   3   5
 250 1   2   4
 299 1   2   4
 300 0   2   5
 349 0   2   5
 350 1   3   5
 399 1   3   5
 400 0   2   4
 449 0   2   4
 450 1   3   5
 499 1   3   5
显然,可以有更多的元素,IN和OUT,但是为了简单起见,让我们坚持这一点

我想看到的结果是:X轴告诉模拟时间(0-1000,步长为50),y轴告诉系统中每个元素的输出值,元素将输出一个接一个地写,以图片为例

您能告诉我如何创建这种gnuplot脚本,将应用程序的输出转换为所需的绘图吗


谢谢大家!

好的,我自己找到了一个解决方案,在这里:

首先,我必须稍微转换一下应用程序的输出,使其看起来像这样:

sample frequency: 50
###############################################

        IN      NOT(1)  OUT
        IN1:0   IN1:3   IN1:5
        IN2:0   IN2:0   IN2:0
        OUT:3   OUT:5   OUT:0
0       1       -1      -1
50      1       -1      -1
100     1       0       0
150     0       0       0
200     1       1       1
250     1       0       0
300     1       0       0
350     1       0       0  (IN = 1, delay is 1 so we can see
400     0       0       0  the correct output of NOT element in line 400 <-> 350 + 1*50)
450     1       1       1
500     1       0       0
550     1       0       0
600     1       0       0
650     0       0       0
700     0       1       1
750     1       1       1
800     1       0       0
850     1       0       0
900     1       0       0
950     1       0       0
1000    1       0       0
 0   1   2   4
 49  1   2   4
 50  1   2   4
 99  1   2   4
 100 0   2   4
 149 0   2   4
 150 0   3   5
 199 0   3   5
 200 1   3   5
 249 1   3   5
 250 1   2   4
 299 1   2   4
 300 0   2   5
 349 0   2   5
 350 1   3   5
 399 1   3   5
 400 0   2   4
 449 0   2   4
 450 1   3   5
 499 1   3   5
额外的sim时间步长使边缘看起来几乎是方形的,我还将每一列用2隔开(将0添加到第2列,将2添加到第3列,将4添加到第4列,依此类推),因此它是一个接一个地绘制的,绘制此图的简单命令是:

plot 'out.txt' using 1:2 with lines, 'out.txt' using 1:3 with lines, 'out.txt' using 1:4 with lines
加上一些套装XTIC、套装ytics和其他化妆品

现在我必须用元素的名称来命名这些行