python - 使用 np.piecewise 进行均匀分布

标签 python numpy

我想绘制以下累积分布函数

enter image description here

为此我想我可以使用 np.piecewise 如下

x = np.linspace(3, 9, 100)
np.piecewise(x, [x < 3, 3 <= x <= 9, x > 9], [0, float((x - 3)) / (9 - 3), 1])

但这给出了以下错误

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我该怎么做?

最佳答案

np.piecewise是一个反复无常的野兽。

使用:

x = np.linspace(3, 9, 100)
cond = [x < 3, (3 <= x) & (x <= 9), x > 9];
func = [0, lambda x : (x - 3) / (9 - 3), 1];
np.piecewise(x, cond, func)

说明 here .

关于python - 使用 np.piecewise 进行均匀分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42231156/

相关文章:

python - 用什么代替NavigationToolbar2TkAgg?

python - 在 FreeBSD 程序中加载 linux 库(Python 脚本)

python - 如何使用 matplotlib.pyplot 将不同的函数应用于同一个绘图?

python - 从 matplotlib 等值线图中提取特定路径

python - pygame.image.load 不工作

python - PySide 在工作线程中等待来自主线程的信号

python - Numpy 不返回值或简单列表,而是返回 30 个空嵌套列表?

python - 从 SymPy 符号定义函数

python - 比较两个不同长度的numpy数组

python - 淡入/淡出wxpython网格单元格的背景颜色