파이썬으로 나비효과 가시화
"It simply deals with unpredictability in complex systems. The shorthand is the Butterfly Effect. A butterfly can flap its wings in Peking and in Central Park you get rain instead of sunshine." - Dr. Ian Malcolm, Jurassic Park
본고에서 저는 당신에게 파이썬 가시화 나비 효과를 어떻게 사용하는지 보여 드리겠습니다🐍.
이 점을 하려면 우리는 양진을 사용할 것이다. 이것이 바로 글자 그대로이다.두 번째 시계추가 달린 시계추.
끝까지 버티다가 300개의 양진이 아름다운 혼란스러운 잡음으로 떨어지는 것을 보았다😏.
❓ 왜 트위스트예요?
Wikipedia의 신들이 말한 바와 같이 쌍진자는'간단한 물리 체계로 풍부한 동태 행위를 나타내고 초기 조건에 강한 민감성을 가진다.
이 시스템의 단순성과 초기 조건에 대한 민감성은 우리로 하여금 상대적으로 쉽게 우리의 시스템을 구축하고 실제의 나비효과를 관찰할 수 있게 할 것이다🦋.
👻 수학적 배경
당황하지 마.이것은 수학에 대한 깊은 연구가 아니라 간단한 소개일 뿐이다. 그러면 너는 우리가 무엇을 하고 있는지 이해할 수 있다.관심이 없고 시뮬레이션을 하고 싶으면 언제든지 skip this section 하십시오.
쌍진자를 시뮬레이션하기 위해서 우리는 이미 알고 있는 Lagrangian mechanics 을 사용할 것이다.이렇게 하는 이유는 우리의 기이한 수학 근육을 단련해야 할 뿐만 아니라 이미 세워진 표현 구조를 이용하여 모델링Newtonian mechanics이 쉽지 않은 물리 시스템을 만들어야 하기 때문이다.
라그랑 일역학의 중요한 부분Euler-Lagrange equation은 2 단계 편미분 방정식이다.
그 중에서 L은Lagrangian은 시스템이 동력과 세력 방면에서의 상태를 묘사했다.
우리의 쌍진자의 Euler-Lagrange 방정식을 얻은 후에 우리는 결합의 2단계ordinary differential equations를 얻었다. 그리고 우리는 이를Python에 삽입하여 수치 구해를 할 수 있다!
만약 당신이 쌍진자 모형 뒤에 있는 수학을 더욱 깊이 이해하고 싶다면 this 링크를 보십시오.
TL;DR: 라그랑 일력학을 사용하여 우리는 2 단계 상미분 방정식을 얻었고 수치 방법으로 우리의 쌍진자 시스템을 풀 수 있다.
💻 아날로그 양진
And now for the moment we've all been waiting for: Let's model our double pendulum. The full code for this is too much to be shown here explicitly but I published it at this repo를 사용해 보십시오.
본질적으로 우리는 막대의 길이DoublePendulum
, 방분기의 질량L
, 초기 조건m
등 매개 변수 실례화 y0
대상을 사용한다.
double_pendulum = DoublePendulum(
L1=5,
L2=5,
m1=1,
m2=1,
g=9.81,
y0=[90, 0,-10,0]
)
내부에서 우리의 대상은 scipy.integrate.odeint과 우리가 서로 다른 시각에 얻은 시스템 수치 구해의 상미분 방정식을 사용한다.오래된 영화 두루마리를 상상해 보세요. 그것은 연속적으로 빠르게 재생되는 정지 이미지로 구성되어 우리에게 동적 화면을 제공합니다🎥.
현재 우리는 이미 수치 방법으로 우리의 시스템을 구해냈고, 우리는 matploblib.animation.FuncAnimation 우리의 두 진자에 애니메이션을 설정할 수 있다🙌
두 개의 진자로 시작해서 어떻게 보이는지 봅시다.
경탄했어우리는 곧 볼 수 있다. 이것은 틀림없이 한 개의 진자가 평온해지는 것보다 더욱 사람을 흥분시킬 것이다.그리고...그리고 돌아와...그리고...이게 더 혼란스러워요.😈!
내가 전에 말했던 양진이 초기 조건에 민감했던 거 기억나?이런 민감성 때문에 초기 각도나 초기 각도 속도의 최소 변화는 매우 빠른 다른 운동을 초래할 수 있다.
이를 보여주기 위해 나는 서로 1/2도 차이가 나는 두 개의 진자를 만들어 무슨 일이 일어날지 보겠다.
🦋 나비 효과
나비효과🦋❤️.
15초도 안 되는 시간 동안 10개의 두 개의 시작점이 서로 1/2도 차이가 나면 곧 갈라져 절대적인 혼돈으로 폭발할 것이다💥.
그렇다면 우리 쌍시계추는 모두가 알고 있는 나비가 베이징에서 날개를 치며 중앙공원의 날씨를 바꾸는 것과 무슨 관계가 있을까?
생각해 보자. 만약에 우리의 간단한 시스템이 각도의 미세한 변화에만 민감하다면 더욱 복잡한 시스템, 예를 들어 날씨를 생각해 보자.❄️.
날씨는 무수한 상호 관련 변수의 영향을 받는다😵. 이것이 바로 날씨가 이렇게 변화무쌍한 이유다.
그리고 역사적 사건을 생각해봐!수백 년 전에 발생한 보잘것없어 보이는 사건은 우리의 현재 생활에 커다란 영향을 미칠 수 있다.한 가지 일은 다른 한 가지 일을 야기한다. 그리고 갑자기 당신의 발가락 부상은 20년 후 호주의 정전을 초래할 수도 있다.
이 이야기의 의미: 다음에 존재주의의 두려움과 운이 좋지 않을 때 당신이 지금 하고 있는 작은 일이 미래에 큰 영향을 미친다는 것을 알면😄
약속한 바와 같이: 유쾌한 혼란 300개 양진자 (불러오는 데 시간이 좀 걸릴 수 있음):
마지막 메모
만약 당신이 이 강좌를 좋아하고 스스로 시도하고 싶다면, 환매를 보십시오
크리스 그린
/
쌍진자
Python과 라그랑 일역학 모형 쌍진자 사용하기
아니면 아래에 댓글을 남겨서 네 생각을 알게 해줘.💬
Reference
이 문제에 관하여(파이썬으로 나비효과 가시화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/chrisgreening/visualizing-the-butterfly-effect-with-python-39m3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
당황하지 마.이것은 수학에 대한 깊은 연구가 아니라 간단한 소개일 뿐이다. 그러면 너는 우리가 무엇을 하고 있는지 이해할 수 있다.관심이 없고 시뮬레이션을 하고 싶으면 언제든지 skip this section 하십시오.
쌍진자를 시뮬레이션하기 위해서 우리는 이미 알고 있는 Lagrangian mechanics 을 사용할 것이다.이렇게 하는 이유는 우리의 기이한 수학 근육을 단련해야 할 뿐만 아니라 이미 세워진 표현 구조를 이용하여 모델링Newtonian mechanics이 쉽지 않은 물리 시스템을 만들어야 하기 때문이다.
라그랑 일역학의 중요한 부분Euler-Lagrange equation은 2 단계 편미분 방정식이다.
그 중에서 L은Lagrangian은 시스템이 동력과 세력 방면에서의 상태를 묘사했다.
우리의 쌍진자의 Euler-Lagrange 방정식을 얻은 후에 우리는 결합의 2단계ordinary differential equations를 얻었다. 그리고 우리는 이를Python에 삽입하여 수치 구해를 할 수 있다!
만약 당신이 쌍진자 모형 뒤에 있는 수학을 더욱 깊이 이해하고 싶다면 this 링크를 보십시오.
TL;DR: 라그랑 일력학을 사용하여 우리는 2 단계 상미분 방정식을 얻었고 수치 방법으로 우리의 쌍진자 시스템을 풀 수 있다.
💻 아날로그 양진
And now for the moment we've all been waiting for: Let's model our double pendulum. The full code for this is too much to be shown here explicitly but I published it at this repo를 사용해 보십시오.
본질적으로 우리는 막대의 길이DoublePendulum
, 방분기의 질량L
, 초기 조건m
등 매개 변수 실례화 y0
대상을 사용한다.
double_pendulum = DoublePendulum(
L1=5,
L2=5,
m1=1,
m2=1,
g=9.81,
y0=[90, 0,-10,0]
)
내부에서 우리의 대상은 scipy.integrate.odeint과 우리가 서로 다른 시각에 얻은 시스템 수치 구해의 상미분 방정식을 사용한다.오래된 영화 두루마리를 상상해 보세요. 그것은 연속적으로 빠르게 재생되는 정지 이미지로 구성되어 우리에게 동적 화면을 제공합니다🎥.
현재 우리는 이미 수치 방법으로 우리의 시스템을 구해냈고, 우리는 matploblib.animation.FuncAnimation 우리의 두 진자에 애니메이션을 설정할 수 있다🙌
두 개의 진자로 시작해서 어떻게 보이는지 봅시다.
경탄했어우리는 곧 볼 수 있다. 이것은 틀림없이 한 개의 진자가 평온해지는 것보다 더욱 사람을 흥분시킬 것이다.그리고...그리고 돌아와...그리고...이게 더 혼란스러워요.😈!
내가 전에 말했던 양진이 초기 조건에 민감했던 거 기억나?이런 민감성 때문에 초기 각도나 초기 각도 속도의 최소 변화는 매우 빠른 다른 운동을 초래할 수 있다.
이를 보여주기 위해 나는 서로 1/2도 차이가 나는 두 개의 진자를 만들어 무슨 일이 일어날지 보겠다.
🦋 나비 효과
나비효과🦋❤️.
15초도 안 되는 시간 동안 10개의 두 개의 시작점이 서로 1/2도 차이가 나면 곧 갈라져 절대적인 혼돈으로 폭발할 것이다💥.
그렇다면 우리 쌍시계추는 모두가 알고 있는 나비가 베이징에서 날개를 치며 중앙공원의 날씨를 바꾸는 것과 무슨 관계가 있을까?
생각해 보자. 만약에 우리의 간단한 시스템이 각도의 미세한 변화에만 민감하다면 더욱 복잡한 시스템, 예를 들어 날씨를 생각해 보자.❄️.
날씨는 무수한 상호 관련 변수의 영향을 받는다😵. 이것이 바로 날씨가 이렇게 변화무쌍한 이유다.
그리고 역사적 사건을 생각해봐!수백 년 전에 발생한 보잘것없어 보이는 사건은 우리의 현재 생활에 커다란 영향을 미칠 수 있다.한 가지 일은 다른 한 가지 일을 야기한다. 그리고 갑자기 당신의 발가락 부상은 20년 후 호주의 정전을 초래할 수도 있다.
이 이야기의 의미: 다음에 존재주의의 두려움과 운이 좋지 않을 때 당신이 지금 하고 있는 작은 일이 미래에 큰 영향을 미친다는 것을 알면😄
약속한 바와 같이: 유쾌한 혼란 300개 양진자 (불러오는 데 시간이 좀 걸릴 수 있음):
마지막 메모
만약 당신이 이 강좌를 좋아하고 스스로 시도하고 싶다면, 환매를 보십시오
크리스 그린
/
쌍진자
Python과 라그랑 일역학 모형 쌍진자 사용하기
아니면 아래에 댓글을 남겨서 네 생각을 알게 해줘.💬
Reference
이 문제에 관하여(파이썬으로 나비효과 가시화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/chrisgreening/visualizing-the-butterfly-effect-with-python-39m3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
double_pendulum = DoublePendulum(
L1=5,
L2=5,
m1=1,
m2=1,
g=9.81,
y0=[90, 0,-10,0]
)
나비효과🦋❤️.
15초도 안 되는 시간 동안 10개의 두 개의 시작점이 서로 1/2도 차이가 나면 곧 갈라져 절대적인 혼돈으로 폭발할 것이다💥.
그렇다면 우리 쌍시계추는 모두가 알고 있는 나비가 베이징에서 날개를 치며 중앙공원의 날씨를 바꾸는 것과 무슨 관계가 있을까?
생각해 보자. 만약에 우리의 간단한 시스템이 각도의 미세한 변화에만 민감하다면 더욱 복잡한 시스템, 예를 들어 날씨를 생각해 보자.❄️.
날씨는 무수한 상호 관련 변수의 영향을 받는다😵. 이것이 바로 날씨가 이렇게 변화무쌍한 이유다.
그리고 역사적 사건을 생각해봐!수백 년 전에 발생한 보잘것없어 보이는 사건은 우리의 현재 생활에 커다란 영향을 미칠 수 있다.한 가지 일은 다른 한 가지 일을 야기한다. 그리고 갑자기 당신의 발가락 부상은 20년 후 호주의 정전을 초래할 수도 있다.
이 이야기의 의미: 다음에 존재주의의 두려움과 운이 좋지 않을 때 당신이 지금 하고 있는 작은 일이 미래에 큰 영향을 미친다는 것을 알면😄
약속한 바와 같이: 유쾌한 혼란 300개 양진자 (불러오는 데 시간이 좀 걸릴 수 있음):
마지막 메모
만약 당신이 이 강좌를 좋아하고 스스로 시도하고 싶다면, 환매를 보십시오
크리스 그린
/
쌍진자
Python과 라그랑 일역학 모형 쌍진자 사용하기
아니면 아래에 댓글을 남겨서 네 생각을 알게 해줘.💬
Reference
이 문제에 관하여(파이썬으로 나비효과 가시화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/chrisgreening/visualizing-the-butterfly-effect-with-python-39m3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(파이썬으로 나비효과 가시화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/chrisgreening/visualizing-the-butterfly-effect-with-python-39m3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)