我知道如何在{/ p>等示例中将$
与using
一起使用
plot datafile using f($1):g($2)
绘制列数据的功能。但我想在循环中使用此功能:
plot for [c=1:10] datafile using f($(c)):g($(c+1))
当然这段代码不起作用。我想如果我知道如何将整数c
转换为字符串(或单个ASCII字符),那么它将起作用。我该怎么办?
(如果可以在不将整数转换为字符串的情况下完成相同的任务,那也没关系。)
答案 0 :(得分:15)
您可以使用内部函数sprintf将数字转换为字符串
gnuplot> a=3; b=6;
gnuplot> plot a*x+b title sprintf("a=%1.2f; b=%1.2f",a,b)
答案 1 :(得分:6)
您正在寻找类似的东西:
plot for [c=1:5] datafile using (column(c)):(column(c+1))
这样做:plot datafile u 1:2, "" u 2:3, "" u 3:4, "" u 4:5, "" u 5:6
答案 2 :(得分:-1)
这样的事情怎么样?循环语句可能会有所不同,具体取决于您使用的shell。下面的一个是使用bash。
plot '< for i in 1 2 3 4 ; do echo $i ; done' us ($1):($1+1)
答案 3 :(得分:-1)
如有必要,请输入一个空字符串。例如:
gnuplot> a=42
gnuplot> print a." questions"
internal error : STRING operator applied to non-STRING type
gnuplot> print "".a." questions"
42 questions
第一个print
由于类型不匹配而失败。第二个虽然很好。显然,.
是关联的。
答案 4 :(得分:-2)
set title sprintf("Polinômio de Taylor no ponto %f ",a)
或英文变种
set title sprintf("Taylor Polynomial at the point %f ",a)
将定义标题,将数字a转换为前一个字符串 我已经在一个循环中使用它,之前计算过Taylor Polynomial 在a点,其中包含数字是while的控制变量。