【发布时间】:2016-08-09 07:01:14
【问题描述】:
我有几个函数 f1(x),f2(x)...fn(x)。 每个函数都适合一个称为 v(i) 的数据集 每个都有这种形式,例如:f1(x)=a1*x 现在我想通过调用 for 循环来绘制所有这些
plot for [i=i0:ie:di] v(i) using 1:($3)
到目前为止一切顺利。 现在我想为每个 i 调用 a1,a2,a3..etc,例如重新缩放数据,我会这样写
plot for [i=i0:ie:di] v(i) using 1:($3/a(i))
在哪里
a(i)=sprintf("a%01.0f",i)
问题是从一个字符串传递到一个浮点数,然后到 gnuplot 将它识别为一个定义的参数。我试图添加零来进行隐式转换,但它不起作用。即使我打印
print (a(i)+0)
有人有想法来实现我的 a(i) 吗?
非常感谢您的任何建议
感谢您提供真正的功能建议,但我仍然遇到以下问题,可以看作是这个最小的例子
a1=12
a(x)=sprintf("a%01.0f",x)
print real(a(i)) #want to get 12 here
Non-numeric string found where a numeric expression was expected
【问题讨论】:
-
我更新了答案。在您的情况下,您需要执行
i=1; print real(value(a(i)))。希望这可以修复脚本 -
谢谢,价值函数是缺失的部分......
标签: gnuplot