Python Sympy 는 경사도,산도,회전 도 를 계산 하 는 인 스 턴 스 입 니 다.

sympy 는 vector 모듈 이 있 는데 그 안에 스칼라 필드,벡터 필드 의 경사도,산도,회전 도 등 계산 을 제공 하고 공식 적 으로 연결 을 참고 합 니 다.
http://docs.sympy.org/latest/modules/vector/index.html
sympy 에서 경사도,산도 와 회전 도 를 계산 하 는 데 는 주로 두 가지 방식 이 있다.
하 나 는 8711°8711°연산 자 를 사용 하고 sympy 는 클래스 Del()을 제공 합 니 다.이런 방법 은 cross,dot 와 gradient 입 니 다.cross 는 차 승 이 고 회전 도 를 계산 하 는 것 입 니 다.dot 는 점 승 으로 산 도 를 계산 하 는 데 사 용 됩 니 다.gradient 는 자 연 스 럽 게 경사도 를 계산 하 는 것 입 니 다.
다른 방법 은 관련 API:curl,divergence,gradient 를 직접 호출 하 는 것 입 니 다.이 함수 들 은 모두 모듈 sympy.vector 아래 에 있 습 니 다.
sympy 를 사용 하여 경사도,산도 와 회전 도 를 계산 하기 전에 먼저 좌표 계 를 확인 해 야 한다.sympy.vector 모듈 에 좌표 계 를 구축 하 는 종 류 를 제공 했다.흔히 볼 수 있 는 것 은 피리 칼 좌표계,CoordSys3D 로 다음 의 예 에 따라 해당 하 는 응용 을 알 수 있다.
(1)경사도 계산

## 1 gradient

C = CoordSys3D('C')
delop = Del() # nabla  

#     f = x**2*y-xy
f = C.x**2*C.y - C.x*C.y

res = delop.gradient(f, doit=True) #   nabla  
# res = delop(f).doit()
res = gradient(f) #     gradient

print(res) # (2*C.x*C.y - C.y)*C.i + (C.x**2 - C.x)*C.j
(2)산도 계산

## divergence

C = CoordSys3D('C')
delop = Del() # nabla  

#     f = x**2*y*i-xy*j
f = C.x**2*C.y*C.i - C.x*C.y*C.j

res = delop.dot(f, doit=True)

# res = divergence(f)

print(res) # 2*C.x*C.y - C.x, 2xy-x,         
(3)회전 도 계산

## curl

C = CoordSys3D('C')
delop = Del() # nabla  

#     f = x**2*y*i-xy*j
f = C.x**2*C.y*C.i - C.x*C.y*C.j

res = delop.cross(f, doit=True)

# res = curl(f)

print(res) # (-C.x**2 - C.y)*C.k, (-x**2-y)*k,         
이상 의 Python Sympy 컴 퓨 팅 경사도,산도,회전 도 를 계산 하 는 인 스 턴 스 는 바로 소 편 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시 기 를 바 랍 니 다.여러분 들 이 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기