본문 바로가기

물리학/Mathematica

5강. 벡터장(vector field) 그리기


   

오늘은 벡터장(vector field)을 그려봅시다.~

사실 수리물리학 강좌 10강을 쓰다가 보니 기울기장이 나와서 ㅋㅋㅋ

이거 그리는 방법 먼저 쓰고 수리물리학 강좌에 링크를 걸어야 하겠더라고요

   

벡터장을 그리기 위해 필요한 명령어는

VectorPlot 입니다.

   

   

예를 들어   

   

VectorPlot[{y,-x}, {x,-3,3},{y,-3,3}]

이렇게 명령을 주면 위 그림과 같은 벡터장이 그려집니다.

의미는 이렇습니다.

   

각각의 포인트에 해당하는 벡터를 그려라

이 때, x성분에는 y축 값을 대입하고

y성분에는 x축 값에 -1을 곱한 결과를 대입한다

   

그럼 어떻게 되냐 하면

   

(0,0) 에서는 y값도 0, -x값도 0

그래서 x방향 성분도 0 , y방향 성분도 0

벡터 { }이 그려지는데

결국 그냥 점이죠 ㅋㅋㅋ

보이지도 않아요~

   

(1,1) 에서는 y값은 1, -x값은 -1

그래서 x방향 성분은 1, y방향 성분은 -1

벡터{ 1 , -1 }이 그려집니다.

   

   

바로 요놈이 (1,1)지점에서 그려지는 벡터 {1,-1}이죠

   

이렇게 포인트마다 우리가 입력한 함수의 값을 계산해서

벡터 성분에 대입한 뒤에 벡터 그래프로 표현 해 주는 명령이

VectorPlot입니다.

   

그런데 이걸로 특별한 장을 그릴 수 있습니다.

물리에서 의미 있는 장 중에 하나는 기울기장 입니다.

어떤 함수의 기울기미분하면 알 수 있죠?

즉, 어떤 함수의 기울기장 그래프를 그리고 싶다면

그 함수를 미분해서

VectorPlot[{1,y'}, {x,-3,3},{y,-3,3}]

이런 식으로 입력 하면 됩니다.

   

이 때, x성분에 1을 입력하는 이유

   

   

이런 관계인데

x증가량을 1로 설정 해야 제대로 된 벡터장이 그려지기 때문입니다

   

그럼 지금은 y=sin(x) 의 기울기장을 그려 봅시다.

   

   

이렇게 그리시면 됩니다~

언제나 그렇듯

파일도 다운받을 수 있게 올립니다.



이제 이 그래프를 가지고 미분방정식 강의를 진행 할건데....

글 쓸 시간이 잘 안 나네요 ㅜ.ㅜ

최대한 빨리 올릴게요!!

   

명색이 과학 블로그인데

과학관련 글이 끊긴지가 한 달이 다 되어가네요 ㅋㅋㅋㅋ

빠른 시일 내에 미분방정식 글 올릴게요~^^