numpy二元高斯函数
二元高斯函数是两个自变量的高斯函数,其公式如下:
f(x,y) = 1 / (2πσ^2) * exp(-(x^2/(2σ^2) + y^2/(2σ^2)))
其中,x和y是自变量,σ是标准差,π是圆周率。
在Python中,你可以使用NumPy库来创建二元高斯函数。以下是一个例子:
import numpy as np | |
import matplotlib.pyplot as plt | |
# 定义参数 | |
mu = np.array([0, 0]) # 均值向量 | |
sigma = np.array([[1.0, 0.5], [0.5, 1.0]]) # 协方差矩阵 | |
# 创建二元高斯函数 | |
x, y = np.meshgrid(np.linspace(-3,3,100), np.linspace(-3,3,100)) # 创建网格 | |
z = np.exp(-np.dot(x-mu[0], np.linalg.inv(sigma[:1,:1]))/2 - np.dot(y-mu[1], np.linalg.inv(sigma[1:,1:]))/2) # 计算二元高斯函数值 | |
# 绘制图像 | |
plt.imshow(z, extent=(x.min(), x.max(), y.min(), y.max()), origin='lower', aspect='auto') # imshow可以绘制图像并设置坐标轴范围和原点位置 | |
plt.xlabel('X') | |
plt.ylabel('Y') | |
plt.show() | |
这段代码首先定义了均值向量mu和协方差矩阵sigma。然后,它创建了一个网格(x,y),并计算每个点的二元高斯函数值。最后,它使用matplotlib的imshow函数绘制图像,并设置坐标轴范围和原点位置。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论