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和其他化妆品
现在我必须用元素的名称来命名这些行