Python Sympy 는 경사도,산도,회전 도 를 계산 하 는 인 스 턴 스 입 니 다.
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 컴 퓨 팅 경사도,산도,회전 도 를 계산 하 는 인 스 턴 스 는 바로 소 편 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시 기 를 바 랍 니 다.여러분 들 이 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.