小编dhr*_*eel的帖子

为什么pyplot.contour()要求Z是2D数组?

matplotlib.pyplot.contour()函数需要3个输入数组X,YZ.
数组XY指定点的x坐标和y坐标,同时Z指定在点处评估的感兴趣函数的对应值.

据我所知,np.meshgrid()可以很容易地生成作为参数的数组contour():

X = np.arange(0,5,0.01)
Y = np.arange(0,3,0.01)

X_grid, Y_grid = np.meshgrid(X,Y)
Z_grid = X_grid**2 + Y_grid**2

plt.contour(X_grid, Y_grid, Z_grid)  # Works fine
Run Code Online (Sandbox Code Playgroud)

这很好用.方便的是,这也很好:

plt.contour(X, Y, Z_grid)  # Works fine too
Run Code Online (Sandbox Code Playgroud)

但是,为什么Z输入需要是2D阵列?

为什么类似以下内容不允许,即使它指定所有相同的数据对齐?

plt.contour(X_grid.ravel(), Y_grid.ravel(), Z_grid.ravel())  # Disallowed
Run Code Online (Sandbox Code Playgroud)

另外, Z指定了什么是语义(没有相应的XY)?

python numpy matplotlib contour

12
推荐指数
1
解决办法
2万
查看次数

用z3获得"好"的不饱和核心(逻辑QF_BV)

我正在使用Z3 SMT求解器来解决我在逻辑QF_BV中使用SMTLIB 2语言表达的问题.

该模型是不可满足的,我试图让求解器产生一个不满足的核心.

我的模型由几个"强制"约束组成,我使用assert语句指定.

我想要使​​用(assert (! (EXPR) :named NAME))构造来指定我想要用于不良核心生成的断言.

unsat正如预期的那样,Z3给了我一个.然而,Z3似乎总是抛弃一个由所有命名的断言组成的"琐碎的"不饱和核心.

我知道我的命名断言中存在一个子集,这是一个不可靠的核心.我使用Yices SMT求解器找到了这个核心,它经常给我相对较小的不饱和核心.Yices模型与Z3模型相同(几乎是从SMT2到Yices输入语言的逐行转换).

产生"好"的不良核心是解决者特有的功能,还是我可以做出任何通用的建议/改变来帮助Z3给我一个更好的核心?

z3

6
推荐指数
1
解决办法
2012
查看次数

TCL:如何使用大括号"{...}"引用一个字符串中的单个大括号"{"?

我试图使用大括号来定义字符串{ },而不是双引号的" ",所以我没有逃避几个字符(如$,[,]).

但是,当我的字符串需要在其中包含单个字符串时,我遇到了一些问题{.
我知道我可以通过简单地使用双引号字符串来实现这一点{,但是如何使用"花括号字符串"来实现它?

例如.我想要puts以下字符串' proc foo {} { '到stdout.

puts "proc foo \{ \} \{"给了我想要的输出:' proc foo {} { '

然而,puts { proc foo \{ \} \{ }给我:' proc foo\{\}\{ '通过字面打印反斜杠.

如果我跳过反斜杠,puts { proc foo { } {它会抱怨缺少支撑.

此外,如果所需的字符串中有匹配的闭括号,它可以正常工作.
puts { proc foo { } { } }给了我预期的:' proc foo {} {} '

在"花括号"字符串中逃避单个不匹配的花括号的正确方法是什么?

string tcl quoting curly-braces

2
推荐指数
1
解决办法
2746
查看次数

标签 统计

contour ×1

curly-braces ×1

matplotlib ×1

numpy ×1

python ×1

quoting ×1

string ×1

tcl ×1

z3 ×1