如何在gnuplot中使用二维数组?我在互联网上找不到类似的东西,也找不到用户手册。
答案 0 :(得分:0)
我发现这是非常肮脏的解决方法,但我确实希望有更好的东西。
在gnuplot的新版本中(至少从版本4.6开始,虽然这也适用于旧版本),您可以通过三元运算符定义案例函数。使用它来定义一个行为类似于数组的函数。
假设你的数组只是
A = 1 2
3 4
然后你可以定义
A(i,j) = ( i == 1 ? A1(j) : i == 2 ? A2(j) : 'error')
A1(j) = ( j == 1 ? 1 : j == 2 ? 2 : 'error')
A2(j) = ( j == 1 ? 3 : j == 2 ? 4 : 'error')
这也可用于定义关联数组(例如i
和j
也可以是字符),但是在运行时更改此“数组”将非常麻烦,因为您必须重新定义每次要更改条目时,整行功能。
也就是说,如果数组在运行时更改,那么您可能会发现最好声明
A11 = 1; A12 = 2; A21 = 3; A22 = 4
A1(j) = ( j == 1 ? A11 : j == 2 ? A12 : 'error')
A2(j) = ( j == 1 ? A21 : j == 2 ? A22 : 'error')
并根据需要重新定义变量Aij
。