sigma = 1; x = -2:0.01:2; y = -2:0.01:1.5; [X, Y] = meshgrid(x, y); %X = X; %Y = Y; P_E = X + sqrt(3) * Y + sigma/2 * (X.^2+Y.^2-1).^2; figure subplot(121) contour(X, Y, P_E, 80) sigma = 8; x = -2:0.01:2; y = -2:0.01:1.5; [X, Y] = meshgrid(x, y); %X = X; %Y = Y; P_E = X + sqrt(3) * Y + sigma/2 * (X.^2+Y.^2-1).^2; subplot(122) contour(X, Y, P_E, 180) 将matlab转成python
时间: 2024-03-20 09:41:20 浏览: 95
下面是将该 MATLAB 代码转换为 Python 代码的方式:
```python
import numpy as np
import matplotlib.pyplot as plt
sigma = 1
x = np.arange(-2, 2.01, 0.01)
y = np.arange(-2, 1.51, 0.01)
X, Y = np.meshgrid(x, y)
# X = X
# Y = Y
P_E = X + np.sqrt(3) * Y + sigma/2 * (X**2+Y**2-1)**2
fig, axs = plt.subplots(1, 2, figsize=(10, 5))
axs[0].contour(X, Y, P_E, 80)
axs[0].set_title('sigma = 1')
sigma = 8
X, Y = np.meshgrid(x, y)
# X = X
# Y = Y
P_E = X + np.sqrt(3) * Y + sigma/2 * (X**2+Y**2-1)**2
axs[1].contour(X, Y, P_E, 180)
axs[1].set_title('sigma = 8')
plt.show()
```
其中,`numpy` 库中的 `arange` 函数可以用于生成等差数列,`meshgrid` 函数可以生成网格点坐标矩阵。在 Python 中,可以通过 `subplots` 函数生成多个子图。其他部分与 MATLAB 代码的逻辑相同。
阅读全文
相关推荐









