Wpis z mikrobloga

#python #python3

Pomoże ktoś rozkminić zadanie?
Link do zadania

Equations of motion

dr = x2 - x1

m a1 = dr k (1 - l/|dr|)

m a2 = - dr k (1 - l/|dr|)


# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation
k=10
l=10
m_1=1
m_10=10
kroki=500
czas_poczatek=0
czas_koniec=10
lokalizacja_a = [0,0]
lokalizacja_b = [-l,0]
predkosc_a=[0,0.5]
predkosc_b=[-3,3]
grawitacja=9.81
tablica=np.linspace(czas_poczatek,czas_koniec,kroki+1)
dt=tablica[1]-tablica[0]
przyspieszenie=np.zeros((kroki+1,2))

Tylko, że nie wiem jak to w ogóle ugryźć. Wykresy to jakaś czarna magia.
Może jakieś przydatne materiały gdzieś na sieci? Bo na podanej stronce niby jest trochę teorii, ale nie umiem je zastosować.
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ssupkowski: lubie takie zadania, "tablica to kontener na dane dowolnego typu. Zadanie: korzystajac z tej wiedzy zasymuluj bezpaliwowy lot i wyrysuj trajektorie lotu satelity na jowisza, bonusowe zadanie: czy bedzie mozliwy przelot obok tytana? Jezeli tak, to w jakiej odleglosci od powierzchni planety (z dokladnoscia do 1 centrymetra)?"
  • Odpowiedz
@zefj: Też wolałbym zacząć od czegoś łatwiejszego. Jak się nie ma co się lubi, to się lubi co się ma.
Zadanie 1 jakoś rozkminiłem. I nawet w materiałach trochę na ten temat było.
Ale to przerasta moje możliwości.
  • Odpowiedz
@ssupkowski @stranger13 @TenToTamTaki @zefj: napisze jak mi się wydaje, może za kilka dni będe miał chwilę żeby w całości zrobić to zadanie, póki co szkic myślowy:
W każdej kolejnej iteracji po czasie dt:
1. Najpierw wyznaczasz przyspieszenie w osi Ox działające na ciało pierwsze: a1 oraz na ciało drugie: a2
2. Wyznaczasz prędkości ciała pierwszego v1x oraz drugiego v2x po tym czasie dt, znając przyspieszenie oraz prędkość
  • Odpowiedz