공부/Python
20201111 DAY09 3차원 그래프 그리기
eℓlie
2020. 11. 11. 12:01
함수의 표면 표시: surface 함수
원래 코드
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
xn = 9
x0 = np.linspace(-2, 2, xn)
x1 = np.linspace(-2, 2, xn)
xx0, xx1 = np.meshgrid(x0, x1)
plt.figure(figsize=(5, 3.5))
ax = plt.subplot(1, 1, 1, projection='3d')
ax.plot_surface(xx0, xx1, y, rstride=1, cstride=1, alpha=0.5, color='cornflowerblue', edgecolor='black')
ax.set_zticks((0, 0.2))
ax.view_init(75, -95)
plt.show()
|
cs |
일단 무작정 따라 쳐 봤다. 그런데... 뭔가 이상하다. y가 정의되지 않았다고 나오고, 그래프도 안 뜸.
또 열심히 구 박사한테 물어봐서, 함수를 찾아냄.

def f(x0, x1):
r = 2 * x0**2 + x1**2
ans = r * np.exp(-r)
return ans
y = np.zeros((xn, xn))
for i0 in range(xn):
for i1 in range(xn):
y[i1, i0]=f(x0[i0], x1[i1])
이 두 코드를 추가하였다.

wikidocs.net/14645 이 링크도 참고하였음.