рд╡рд┐рднреЗрджрдХ рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рджреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧрдгрд┐рддреАрдп рдореЙрдбрд▓ рдХрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди

рдкрд░рд┐рдЪрдп:


рдХрдИ рддрдХрдиреАрдХреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЧрдгрд┐рддреАрдп рдореЙрдбрд▓рд┐рдВрдЧ рдореЗрдВ, рдЕрдВрддрд░ nonlinear рд╕рдореАрдХрд░рдгреЛрдВ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдореЙрдбрд▓ рди рдХреЗрд╡рд▓ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░, рд░рд╕рд╛рдпрди рд╡рд┐рдЬреНрдЮрд╛рди, рдЬреАрд╡ рд╡рд┐рдЬреНрдЮрд╛рди, рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдФрд░ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдРрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рд╕рдореАрдХрд░рдгреЛрдВ рдХреЗ рдЗрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЪреВрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдореАрдХрд░рдгреЛрдВ рдХреЗ рдереЛрдХ рдЧреИрд░-рд╕реНрдерд┐рд░ рдФрд░ рдЧреИрд░-рд╕реНрдерд┐рд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдХреНрд╕рд░ рдЕрд╕рдВрднрд╡ рд╣реЛрддрд╛ рд╣реИред

рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рд░рди-рдХреБрдЯреНрдЯрд╛ рд╡рд┐рдзрд┐ рд╣реИ [1]ред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП, рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП [2,3], рд░рдирдЧреЗ - рдХреБрдЯреНрдЯрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдмрд╣реБрдд рдХрдо рдбреЗрдЯрд╛ рд╣реИ, рдФрд░ рд░рдирдЧреЗ - рдХреБрдЯреНрдЯрд╛ - рдлреЗрд▓рдмрд░реНрдЧ рд╡рд┐рдзрд┐ рдХреЗ рдЗрд╕рдХреЗ рд╕рдВрд╢реЛрдзрди рдкрд░ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдЕрдкрдиреЗ рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП, scipy.integrate рдореЙрдбреНрдпреВрд▓ рд╕реЗ odeint рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд╛рдпрдерди рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╡рд┐рддрд░рдг рд╣реИред рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рджреВрд╕рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдХрдИ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдкрд╛рдВрдЪ-рд░реИрдВрдХ рд░рдирдЧреЗ-рдХреБрдЯреНрдЯрд╛-рдлреЗрд▓рдмрд░реНрдЧ рд╡рд┐рдзрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди, рдЗрд╕рдХреА рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХрддрд╛ рдХреЗ рдХрд╛рд░рдг, рд╕реАрдорд┐рдд рдкреНрд░рджрд░реНрд╢рди рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкрд╛рдпрдЬреЙрди рдХреЗ рддрд╣рдд рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рд▓реЗрдЦрдХ рдХреЗ рд╕рд╛рде рд░рди-рдХреБрдЯреНрдЯрд╛-рдлреЗрд▓рдмрд░реНрдЧ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рд╕рдореАрдХрд░рдгреЛрдВ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рд╕реВрдЪреАрдмрджреНрдз рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рддреБрд▓рдирд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣реИред рдкреНрд░рдХрд╛рд╢рди рд╡рд┐рднреЗрджрдХ рд╕рдореАрдХрд░рдгреЛрдВ (рдПрд╕рдбреАрдИ) рдХреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛ рдореВрд▓реНрдп рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рд╕реАрдбреАрдПрд╕ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЧрдП рддрд░реАрдХреЛрдВ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛


рдХреИрдЪреА рдХреА рд╕рдорд╕реНрдпрд╛

Nth рдЖрджреЗрд╢ рдХреЗ рдПрдХ рдЕрдВрддрд░ рд╕рдореАрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдХреЙрдЪреА рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдирддрд╛ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ:



рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢рд░реНрддреЗрдВ



рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реАрдбреАрдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

(1)

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде



Scipy.integrate рдореЙрдбреНрдпреВрд▓

рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рджреЛ рдХрд╛рд░реНрдп ode () рдФрд░ odeint () рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рдХреНрд░рдо рдХреЗ рд╕рд╛рдзрд╛рд░рдг рдЕрдВрддрд░ рд╕рдореАрдХрд░рдгреЛрдВ (ODEs) рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдПрдХ рдмрд┐рдВрджреБ (рдХрд╛рдКрдЪреА рд╕рдорд╕реНрдпрд╛) рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Ode () рдлрд╝рдВрдХреНрд╢рди рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИ, рдФрд░ odeint () (ODE рдЗрдВрдЯреАрдЧреНрд░реЗрдЯрд░) рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рдУрдбрд┐рдиреНрдЯ () рдлрд╝рдВрдХреНрд╢рди

Odeint () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рддреАрди рдЖрд╡рд╢реНрдпрдХ рддрд░реНрдХ рдФрд░ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдЗрд╕рдХреЗ рдирд┐рдореНрди рд╕реНрд╡рд░реВрдк рд╣реИрдВ odeint (func, y0, t [, args = (..., ...)) рддрд░реНрдХ рджреБрд░реНрдЧрдВрдз рджреЛ рдЪрд░ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рдкрд╛рдпрдерди рдирд╛рдо рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкрд╣рд▓реА рд╕реВрдЪреА y = [y1, y2, ..., yn рд╣реИ ], рдФрд░ рджреВрд╕рд░рд╛ рд╕реНрд╡рддрдВрддреНрд░ рдЪрд░ рдХрд╛ рдирд╛рдо рд╣реИред

рдлрдВрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрди рдлрд╝рдВрдХреНрд╢рди рдорд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА рд╡рд╛рдкрд╕ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рддрд░реНрдХ рдЯреА рдХреЗ рджрд┐рдП рдЧрдП рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдПред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдлрдВрдХ (y, t) рдлрд╝рдВрдХреНрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рджрд╛рд╣рд┐рдиреЗ-рд╣рд╛рде рдХреЗ рдкрдХреНрд╖реЛрдВ рдХреА рдЧрдгрдирд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ (1)ред

Odeint () рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реНрдХ y0 рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдиреЛрдВ рдХрд╛ рдПрдХ рд╕рд░рдгреА (рдпрд╛ рд╕реВрдЪреА) рд╣реИ t = t0 рдкрд░ред

рддреАрд╕рд░рд╛ рддрд░реНрдХ рд╕рдордп рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрд╕ рд╕рд░рдгреА рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ t0 рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

Odeint () рдлрд╝рдВрдХреНрд╢рди рдЖрдХрд╛рд░ len (t) x len (y0) рдХреА рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИред Odeint () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдЬреЛ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред Rtol (рд╕рд╛рдкреЗрдХреНрд╖ рддреНрд░реБрдЯрд┐) рдФрд░ рдПрдЯреЛрд▓ (рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐) рд╡рд┐рдХрд▓реНрдк рд╕реВрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ yi рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рди рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рддреНрд░реБрдЯрд┐ ei рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред



рд╡реЗ рд╡реИрдХреНрдЯрд░ рдпрд╛ рд╕реНрдХреЗрд▓рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ



рдСрдб () рдлрд╝рдВрдХреНрд╢рди

Scipy.integrate рдореЙрдбреНрдпреВрд▓ рдХрд╛ рджреВрд╕рд░рд╛ рдлрд╝рдВрдХреНрд╢рди, рдЬрд┐рд╕реЗ рдЕрдВрддрд░ рд╕рдореАрдХрд░рдгреЛрдВ рдФрд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреЛ ode () рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ ODE рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ (рдкреНрд░рдХрд╛рд░ scipy.integrate._ode.ode)ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрдиреЗ рдкрд░, рдХрд┐рд╕реА рдХреЛ рдЕрдВрддрд░ рд╕рдореАрдХрд░рдгреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реА рддрд░рд╣ odeint () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, ode (func) рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдлреЙрд░реНрдо (1) рдХреЗ рдЕрдВрддрд░ рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рдФрд░ рджрд╛рдПрдВ рд╣рд╛рде рдХреЗ рдкрдХреНрд╖реЛрдВ рдХреЗ рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рджрд╛рд╣рд┐рдиреЗ рд╣рд╛рде рдХреЗ рдлрдВрдХ (t, y) рдХрд╛ рдХрд╛рд░реНрдп рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдЪрд░ рдХреЛ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реВрдЪреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдирд┐рдореНрди рдЕрдиреБрдХреНрд░рдо рдПрдХ ODE рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдХреЙрдЪреА рдХрд╛рд░реНрдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред

рд░рдирдЧрддрд┐ - рдХреБрдЯреНрдЯрд╛ рд╡рд┐рдзрд┐

рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдЕрдВрддрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдореМрдЬреВрдж рд╣реИ, рдпрд╣ рдЕрджреНрд╡рд┐рддреАрдп рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЪрд┐рдХрдирд╛рдИ рдЧреБрдг рд╣реИрдВред

рдХреИрдЪреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ

(2)

(3)

рдмрд┐рдВрджреБ t = 0 рдкрд░ рдЬреНрдЮрд╛рдд рд╕рдорд╛рдзрд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЕрдиреНрдп t рдХреЗ рд▓рд┐рдП рд╕рдореАрдХрд░рдг (3) рд╕реЗ рд╣рд▓ рдЦреЛрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ (2), (3), рд╣рдо рдПрдХ рд╕рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдЪрд░рдг рдЯреА> 0 рдХреЗ рд╕рд╛рде рдЪрд░ рдЯреА рдореЗрдВ рдЧреНрд░рд┐рдбред

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдЕрдиреБрдорд╛рдирд┐рдд рд╕рдорд╛рдзрд╛рди (2), (3) рдмрд┐рдВрджреБ рдкрд░ рд▓рдХреНрд╖рд┐рдд ред рд╡рд┐рдзрд┐ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрддреА рд╣реИ рдЕрдЧрд░ рдкрд░ ред рд╡рд┐рдзрд┐ рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдПрдХ pth рдХреНрд░рдо рд╣реИ рдЕрдЧрд░ , p> 0 рдХреЗ рд▓рд┐рдП ред рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рдЧрднрдЧ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЕрдВрддрд░ рдпреЛрдЬрдирд╛ (2), (3) рд╣реИ

(4)

рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдзрд┐ рд╣реИ рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдВрддрд░ рдпреЛрдЬрдирд╛ рдкрд╣рд▓реЗ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕рдореАрдХрд░рдг (2) рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреА рд╣реИред рд╕рдордорд┐рдд рдбрд┐рдЬрд╛рдЗрди (4) рдореЗрдВ рд╕рдиреНрдирд┐рдХрдЯрди рдХрд╛ рджреВрд╕рд░рд╛ рдХреНрд░рдо рд╣реИред рдпрд╣ рдпреЛрдЬрдирд╛ рдирд┐рд╣рд┐рдд рд╡рд░реНрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ - рдПрдХ рдирдИ рдкрд░рдд рдкрд░ рдЕрдиреБрдорд╛рдирд┐рдд рд╕рдорд╛рдзрд╛рди рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреИрд░-рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рднрд╡рд┐рд╖реНрдпрд╡рдХреНрддрд╛-рд╕реБрдзрд╛рд░рдХ рд╡рд┐рдзрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдкрд╖реНрдЯ рджреВрд╕рд░реА рдФрд░ рдЙрдЪреНрдЪ-рдХреНрд░рдо рд╕рдиреНрдирд┐рдХрдЯрди рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рднрд╡рд┐рд╖реНрдпрд╡рдХреНрддрд╛ (рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА) рдХреЗ рд╕реНрддрд░ рдкрд░, рдПрдХ рд╕реНрдкрд╖реНрдЯ рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

(5)

рдФрд░ рд╕реБрдзрд╛рд░рдХ (рдкрд░рд┐рд╢реЛрдзрди) рд╕реНрддрд░ рдкрд░, рдПрдХ рдЖрд░реЗрдЦ



рдПрдХ-рдЪрд░рдг рд░реВрдЬ - рдХреБрдЯреНрдЯрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ, рднрд╡рд┐рд╖реНрдпрд╡рдХреНрддрд╛-рд╕реБрдзрд╛рд░рдХ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ:

(6)

рдЬрд╣рд╛рдБ



рдлреЙрд░реНрдореВрд▓рд╛ (6) рдлрд╝рдВрдХреНрд╢рди рдЪ рдХреА рдЧрдгрдирд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрд╕-рд╕реНрдЯреЗрдЬ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдЬ - рдХреБрдЯреНрдЯрд╛ рд╡рд┐рдзрд┐ рд╣реИред рдЕрдЧрд░ j> 1 рдФрд░ рдХреЗ рд▓рд┐рдП рд╕рдореАрдХрд░рдг рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд:

(7)

рдпрд╣ рд░рдирдЧ - рдХреБрдЯреНрдЯрд╛ рд╡рд┐рдзрд┐ рдХреЛ рддрд┐рд░рдЫреЗ рдирд┐рд╣рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдкрджрдВрдбреЛрдВ рд░реВрдЬ - рдХреБрдЯреНрдЯрд╛ рд╡рд┐рдзрд┐ рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред рд╡рд┐рдзрд┐ рдХрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдмреБрдЪрд░ рдЯреЗрдмрд▓)



рд╕рдмрд╕реЗ рдЖрдо рдореЗрдВ рд╕реЗ рдПрдХ рдЪреМрдерд╛ рдХреНрд░рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдЬ рд╣реИ - рдХреБрдЯреНрдЯрд╛ рд╡рд┐рдзрд┐ред

(8)

рд░рдирдЧреЗ - рдХреБрдЯреНрдЯрд╛ - рдлреЗрд▓рдмрд░реНрдЧ рд╡рд┐рдзрд┐

рдореИрдВ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдЧреБрдгрд╛рдВрдХ рдХрд╛ рдореВрд▓реНрдп рджреЗрддрд╛ рд╣реВрдВ рд╡рд┐рдзрд┐

(9)

(9) рдХреЗ рдорджреНрджреЗрдирдЬрд░, рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рд╣реИрдВ:

(10)

рдпрд╣ рд╕рдорд╛рдзрд╛рди рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдкрд╛рдВрдЪрд╡рд╛ рдХреНрд░рдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕реЗ рдкрд╛рдпрдерди рдХреЗ рдЕрдиреБрдХреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред

рдПрдХ nonlinear рдЕрдВрддрд░ рд╕рдореАрдХрд░рдг рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдХреА рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдкреНрд░рдпреЛрдЧ рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП odein (), def oden () of scipy.integrate рдореЙрдбреНрдпреВрд▓ рдФрд░ рд░рди-рдХреБрдЯреНрдЯрд╛ рдФрд░ рд░рди-рдХреБрдЯреНрдЯрд╛ - рдлреЗрд▓рдмрд░реНрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛



рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реВрдЪреАрдХрд░рдг
from numpy import* import matplotlib.pyplot as plt from scipy.integrate import * def odein(): #dy1/dt=y2 #dy2/dt=y1**2+1: def f(y,t): return y**2+1 t =arange(0,1,0.01) y0 =0.0 y=odeint(f, y0,t) y = array(y).flatten() return y,t def oden(): f = lambda t, y: y**2+1 ODE=ode(f) ODE.set_integrator('dopri5') ODE.set_initial_value(0, 0) t=arange(0,1,0.01) z=[] t=arange(0,1,0.01) for i in arange(0,1,0.01): ODE.integrate(i) q=ODE.y z.append(q[0]) return z,t def rungeKutta(f, to, yo, tEnd, tau): def increment(f, t, y, tau): if z==1: k0 =tau* f(t,y) k1 =tau* f(t+tau/2.,y+k0/2.) k2 =tau* f(t+tau/2.,y+k1/2.) k3 =tau* f(t+tau, y + k2) return (k0 + 2.*k1 + 2.*k2 + k3) / 6. elif z==0: k1=tau*f(t,y) k2=tau*f(t+(1/4)*tau,y+(1/4)*k1) k3 =tau *f(t+(3/8)*tau,y+(3/32)*k1+(9/32)*k2) k4=tau*f(t+(12/13)*tau,y+(1932/2197)*k1-(7200/2197)*k2+(7296/2197)*k3) k5=tau*f(t+tau,y+(439/216)*k1-8*k2+(3680/513)*k3 -(845/4104)*k4) k6=tau*f(t+(1/2)*tau,y-(8/27)*k1+2*k2-(3544/2565)*k3 +(1859/4104)*k4-(11/40)*k5) return (16/135)*k1+(6656/12825)*k3+(28561/56430)*k4-(9/50)*k5+(2/55)*k6 t = [] y= [] t.append(to) y.append(yo) while to < tEnd: tau = min(tau, tEnd - to) yo = yo + increment(f, to, yo, tau) to = to + tau t.append(to) y.append(yo) return array(t), array(y) def f(t, y): f = zeros([1]) f[0] = y[0]**2+1 return f to = 0. tEnd = 1 yo = array([0.]) tau = 0.01 z=1 t, yn = rungeKutta(f, to, yo, tEnd, tau) y1n=[i[0] for i in yn] plt.figure() plt.title("   (..- u(t)=tan(t)) \n\ du/dt=u**2+1 cu(0)=0  t>0") plt.plot(t,abs(array(y1n)-array(tan(t))),label=' тАФ \n\   -   ') plt.xlabel('') plt.ylabel(' .') plt.legend(loc='best') plt.grid(True) z=0 t, ym = rungeKutta(f, to, yo, tEnd, tau) y1m=[i[0] for i in ym] plt.figure() plt.title("   (..- u(t)=tan(t)) \n\ du/dt=u**2+1 cu(0)=0  t>0") plt.plot(t,abs(array(y1m)-array(tan(t))),label=' тАФтАФ  \n\   -   ') plt.xlabel('') plt.ylabel(' .') plt.legend(loc='best') plt.grid(True) plt.figure() plt.title("    (..- u(t)=tan(t)) \n\ du/dt=u**2+1 cu(0)=0  t>0") y,t=odein() plt.plot(t,abs(array(tan(t))-array(y)),label=' odein') plt.xlabel('') plt.ylabel(' .') plt.legend(loc='best') plt.grid(True) plt.figure() plt.title("    (..- u(t)=tan(t)) \n\ du/dt=u**2+1 cu(0)=0  t>0") z,t=oden() plt.plot(t,abs(tan(t)-z),label=' ode  тАФтАФ  \n\  ') plt.xlabel('') plt.ylabel(' .') plt.legend(loc='best') plt.grid(True) plt.show() 


рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:









рдирд┐рд╖реНрдХрд░реНрд╖:

рдкрд╛рдпрдерди-рд░реВрдкрд╛рдВрддрд░рд┐рдд рд░реВрдЬ - рдХреБрдЯреНрдЯрд╛ рдФрд░ рд░рдВрдЬ - рдХреБрдЯреНрдЯрд╛ - рдлреЗрд▓рдмрд░реНрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ odeint рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдирд┐рд░рдкреЗрдХреНрд╖ рд╣реИ, рд▓реЗрдХрд┐рди edu рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдпреЛрдЧ, рдбреЛрдкреНрд░реА 5 рд╡рд┐рд╢реЗрд╖рддрд╛ (рд░рди - рдХреБрдЯреНрдЯрд╛ рд╡рд┐рдзрд┐ 5 рд╡реЗрдВ рдХреНрд░рдо рдХреА рд╡рд┐рдзрд┐) рдХреЗ рд╕рд╛рде рдУрдбреЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрд╕рдбреАрдИ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдХреА рдЧрддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реБрдП рдФрд░ рд░рдирдЧреЗ - рдХреБрдЯреНрдЯрд╛ - рдлреЗрд▓рдмрд░реНрдЧ рдиреЗ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ред



рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ [2] рдореЗрдВ рджреА рдЧрдИ рдореЙрдбрд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рддреБрд▓рдирд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрд░реЛрдд рдХреЛ рдирд╣реАрдВ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдореЙрдбрд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реВрддреНрд░реАрдХрд░рдг рдФрд░ рд╕рдорд╛рдзрд╛рди [2] рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░реВрдВрдЧрд╛ред

рдЖрдЗрдП рд╣рдо рдХреИрдЪреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕ рдЕрдиреБрдорд╛рди рдХреЗ рддрд╣рдд рдПрдХ рдХреЛрдг ╬▒ рдкрд░ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡реЗрдЧ v0 рдХреЗ рд╕рд╛рде рдлреЗрдВрдХреЗ рдЧрдП рд╢рд░реАрд░ рдХреА рдЧрддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ, рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рдХрд┐ рд╡рд╛рдпреБ рдкреНрд░рддрд┐рд░реЛрдз рд╡реЗрдЧ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЖрдиреБрдкрд╛рддрд┐рдХ рд╣реИред рд╕рджрд┐рд╢ рд░реВрдк рдореЗрдВ, рдЧрддрд┐ рдХреЗ рд╕рдореАрдХрд░рдг рдХрд╛ рд░реВрдк рд╣реИ



рдЬрд╣рд╛рдБ рдЧрддрд┐рдорд╛рди рд╢рд░реАрд░ рдХреЗ рд╡реЗрдХреНрдЯрд░ рдХреА рддреНрд░рд┐рдЬреНрдпрд╛ рд╣реИ, рд╢рд░реАрд░ рдХрд╛ рд╡реЗрдЧ рд╡реЗрдХреНрдЯрд░ рд╣реИ, - рдЧреБрдгрд╛рдВрдХ, рд╡реЗрдХреНрдЯрд░ рдЦреАрдВрдЪреЗрдВ рджреНрд░рд╡реНрдпрдорд╛рди m рдХреЗ рднрд╛рд░ рдХреЗ рдмрд▓, g - рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рдХрд╛ рддреНрд╡рд░рдгред



рдЗрд╕ рдХрд╛рд░реНрдп рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдВрджреЛрд▓рди рдкрд╣рд▓реЗ рдЕрдЬреНрдЮрд╛рдд рд╕рдордп рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╢рд░реАрд░ рдЬрдореАрди рдкрд░ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдирд╛рдорд┐рдд рд╣реЛ , рддреЛ рд╕рдордиреНрд╡рдп рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ:



рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢рд░реНрддреЛрдВ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: (рдПрдЪ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдКрдВрдЪрд╛рдИ) ред рд░рдЦрдирд╛ ред рддрдм рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдердо-рдХреНрд░рдо ODE рд╕рд┐рд╕реНрдЯрдо рдлреЙрд░реНрдо рд▓реЗрддрд╛ рд╣реИ:



рдореЙрдбрд▓ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╣рдо рдбрд╛рд▓рддреЗ рд╣реИрдВ ред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдХреЗрд╡рд▓ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдПрдХ рд╕реВрдЪреА рджреВрдВрдЧрд╛, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐, рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ред рдХрд╛рд░реНрдпрдХреНрд░рдо рдиреЗ рддреБрд▓рдирд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдЬреЛрдбрд╝ рджреА рд╣реИред

рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реВрдЪреАрдХрд░рдг
 import numpy as np import matplotlib.pyplot as plt import time start = time.time() from scipy.integrate import ode ts = [ ] ys = [ ] FlightTime, Distance, Height =0,0,0 y4old=0 def fout(t, y):#   global FlightTime, Distance, Height,y4old ts.append(t) ys.append(list(y.copy())) y1, y2, y3, y4 = y if y4*y4old<=0: #    Height=y3 if y4<0 and y3<=0.0: #    FlightTime=t Distance=y1 return -1 y4old=y4 #      def f(t, y, k): #    k g=9.81 y1, y2, y3, y4 = y return [y2,-k*y2*np.sqrt(y2**2+y4**2), y4,-k*y4*np.sqrt(y2**2+y4**2)-g] tmax=1.41 #     alph=np.pi/4 #    v0=10.0 #   K=[0.1,0.2,0.3,0.5] #    y0,t0=[0, v0*np.cos(alph), 0, v0*np.sin(alph)], 0 #   ODE=ode(f) ODE.set_integrator('dopri5', max_step=0.01) ODE.set_solout(fout) fig, ax = plt.subplots() fig.set_facecolor('white') for k in K: #     ts, ys = [ ],[ ] ODE.set_initial_value(y0, t0) #    ODE.set_f_params(k) #    k #   f(t,y,k)     ODE.integrate(tmax) #   print('Flight time = %.4f Distance = %.4f Height =%.4f '% (FlightTime,Distance,Height)) Y=np.array(ys) plt.plot(Y[:,0],Y[:,2],linewidth=3,label='k=%.1f'% k) stop = time.time() plt.title("      \n    ode   dopri5 ") print ("   : %f"%(stop-start)) plt.grid(True) plt.xlim(0,8) plt.ylim(-0.1,2) plt.legend(loc='best') plt.show() 



рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:

рдЙрдбрд╝рд╛рди рдХрд╛ рд╕рдордп = 1.2316 рджреВрд░реА = 5.9829 рдКрдБрдЪрд╛рдИ = 1.8542
рдЙрдбрд╝рд╛рди рдХрд╛ рд╕рдордп = 1.1016 рджреВрд░реА = 4.3830 рдКрдБрдЪрд╛рдИ = 1.5088
рдЙрдбрд╝рд╛рди рдХрд╛ рд╕рдордп = 1.0197 рджреВрд░реА = 3.5265 рдКрдБрдЪрд╛рдИ = 1.2912
рдЙрдбрд╝рд╛рди рдХрд╛ рд╕рдордп = 0.9068 рджреВрд░реА = 2.5842 рдКрдБрдЪрд╛рдИ = 1.0240
рдореЙрдбрд▓ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рдордп: 0.454787



рд╡рд┐рд╢реЗрд╖ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╛рдпрдерди рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реАрдбреАрдПрд╕ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдирд┐рдореНрди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдФрд░ рдЬрд╛рдВрдЪ рдХреА:

def increment(f, t, y, tau
k1=tau*f(t,y)
k2=tau*f(t+(1/4)*tau,y+(1/4)*k1)
k3 =tau *f(t+(3/8)*tau,y+(3/32)*k1+(9/32)*k2)
k4=tau*f(t+(12/13)*tau,y+(1932/2197)*k1-(7200/2197)*k2+(7296/2197)*k3)
k5=tau*f(t+tau,y+(439/216)*k1-8*k2+(3680/513)*k3 -(845/4104)*k4)
k6=tau*f(t+(1/2)*tau,y-(8/27)*k1+2*k2-(3544/2565)*k3 +(1859/4104)*k4-(11/40)*k5)
return (16/135)*k1+(6656/12825)*k3+(28561/56430)*k4-(9/50)*k5+(2/55)*k6


рд╡реГрджреНрдзрд┐ (f, t, y, tau) рдлрд╝рдВрдХреНрд╢рди рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдзрд┐ рдХрд╛ рдкрд╛рдВрдЪрд╡рд╛ рдХреНрд░рдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ:

рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реВрдЪреАрдХрд░рдг
 from numpy import* import matplotlib.pyplot as plt import time start = time.time() def rungeKutta(f, to, yo, tEnd, tau): def increment(f, t, y, tau):#     тАФтАФ. k1=tau*f(t,y) k2=tau*f(t+(1/4)*tau,y+(1/4)*k1) k3 =tau *f(t+(3/8)*tau,y+(3/32)*k1+(9/32)*k2) k4=tau*f(t+(12/13)*tau,y+(1932/2197)*k1-(7200/2197)*k2+(7296/2197)*k3) k5=tau*f(t+tau,y+(439/216)*k1-8*k2+(3680/513)*k3 -(845/4104)*k4) k6=tau*f(t+(1/2)*tau,y-(8/27)*k1+2*k2-(3544/2565)*k3 +(1859/4104)*k4-(11/40)*k5) return (16/135)*k1+(6656/12825)*k3+(28561/56430)*k4-(9/50)*k5+(2/55)*k6 t = []#   t y= []#   y t.append(to)#   t   to y.append(yo)#   y   yo while to < tEnd:#     t,y tau = min(tau, tEnd - to)#   tau yo = yo + increment(f, to, yo, tau) #     t0,y0    to = to + tau #   t.append(to) #   t y.append(yo) #   y return array(t), array(y) def f(t, y): #      f = zeros([4]) f[0]=y[1] f[1]=-k*y[1]*sqrt(y[1]**2+y[3]**2) f[2]=y[3] f[3]=-k*y[3]*sqrt(y[1]**2+y[3]**2) -g if y[3]<0 and y[2]<=0.0: #    return -1 return f to = 0#     tEnd = 1.41#     alph=pi/4#    v0=10.0 #   K=[0.1,0.2,0.3,0.5]#     g=9.81 yo = array([0.,v0*cos(alph),0.,v0*sin(alph)]) #   tau =0.01#  for i in K: #      k=i t, y = rungeKutta(f, to, yo, tEnd, tau) y1=array([i[0] for i in y]) #     y y3=array([i[2] for i in y]) #    ""     s,h,t plt.plot(y1,y3,linewidth=2,label='k=%.1f h=%.3f s=%.2f t=%s' % (k,max(y3),max(y1),round(t[list(y1).index(max(y1))],3))) stop = time.time() plt.title("      \n     Python\n  тАФтАФ ") print ("   : %f"%(stop-start)) plt.xlabel(' h') plt.ylabel(' s') plt.legend(loc='best') plt.xlim(0,8) plt.ylim(-0.1,2) plt.grid(True) plt.show() 


рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:

рдореЙрдбрд▓ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рдордп: 0.259927



рдирд┐рд╖реНрдХрд░реНрд╖

рд╡рд┐рд╢реЗрд╖ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд┐рдирд╛ рдореЙрдбрд▓ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ ode рдлрд╝рдВрдХреНрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ рджреЛ рдЧреБрдирд╛ рддреЗрдЬ рдкреНрд░рджрд░реНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ ode рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдХреА рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдзрд┐ рдЪреБрдирдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

рдереНрд░реЗрдб-рдЕрд▓рдЧ рд╕реАрдорд╛ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реАрдорд╛ рдореВрд▓реНрдп рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди


рд╣рдо рдереНрд░реЗрдб-рдЕрд▓рдЧ рд╕реАрдорд╛ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реАрдорд╛-рдореВрд▓реНрдп рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ рд╣реИрдВ:

(11)

рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (11), рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

1. рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкрд╣рд▓реЗ рддреАрди рдЕрдорд╛рдирд╡реАрдп рд╕рдореАрдХрд░рдгреЛрдВ (11) рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ

рд╣рдо Cauchy рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрддрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ:


2. рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо (11) рдХреЗ рдкрд╣рд▓реЗ рддреАрди рд╕рдЬрд╛рддреАрдп рд╕рдореАрдХрд░рдг рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ

рд╣рдо Cauchy рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрддрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ:


3. рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкрд╣рд▓реЗ рддреАрди рд╕рдЬрд╛рддреАрдп рд╕рдореАрдХрд░рдг (11) рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ



рд╣рдо Cauchy рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрддрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ:



4. рдХреЙрдЪреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реАрдорд╛ рдореВрд▓реНрдп рд╕рдорд╕реНрдпрд╛ (11) рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд░реИрдЦрд┐рдХ рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ:

рдЬрд╣рд╛рдВ рдкреА 2, рдкреА 3 рдХреБрдЫ рдЕрдЬреНрдЮрд╛рдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред

5. рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреА 2, рдкреА 3, рд╣рдо рдкрд┐рдЫрд▓реЗ рджреЛ рд╕рдореАрдХрд░рдгреЛрдВ (11) рдХреА рд╕реАрдорд╛ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдПрдХреНрд╕ = рдмреА рдХреЗ рд▓рд┐рдП рд╢рд░реНрддреЗрдВред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди, рд╣рдо рдЕрдЬреНрдЮрд╛рдд P2, p3 рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд░реИрдЦрд┐рдХ рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
(12)
рд╕рдорд╛рдзрд╛рди (12), рд╣рдо рдкреА 2, рдкреА 3 рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рдЙрдкрд░реНрдпреБрдХреНрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рди-рдХреБрдЯреНрдЯрд╛ - рдлреЗрд▓рдмрд░реНрдЧ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реВрдЪреАрдХрд░рдг
  #   from numpy import* import matplotlib.pyplot as plt import matplotlib.font_manager as fm,os import matplotlib.patches as mpatches import matplotlib.lines as mlines from scipy.integrate import odeint from scipy import linalg import time start = time.time() c1 = 1.0 c2 = 0.8 c3 = 0.5 a =0.0 b = 1.0 nn =100 initial_state_0 =array( [a, c1, 0.0, 0.0]) initial_state_I =array( [a, 0.0, 1.0, 0.0]) initial_state_II =array( [a, 0.0, 0.0, 1.0]) to = a tEnd =b N = int(nn) tau=(ba)/N def rungeKutta(f, to, yo, tEnd, tau): def increment(f, t, y, tau): k1=tau*f(t,y) k2=tau*f(t+(1/4)*tau,y+(1/4)*k1) k3 =tau *f(t+(3/8)*tau,y+(3/32)*k1+(9/32)*k2) k4=tau*f(t+(12/13)*tau,y+(1932/2197)*k1-(7200/2197)*k2+(7296/2197)*k3) k5=tau*f(t+tau,y+(439/216)*k1-8*k2+(3680/513)*k3 -(845/4104)*k4) k6=tau*f(t+(1/2)*tau,y-(8/27)*k1+2*k2-(3544/2565)*k3 +(1859/4104)*k4-(11/40)*k5) return (16/135)*k1+(6656/12825)*k3+(28561/56430)*k4-(9/50)*k5+(2/55)*k6 t = [] y= [] t.append(to) y.append(yo) while to < tEnd: tau = min(tau, tEnd - to) yo = yo + increment(f, to, yo, tau) to = to + tau t.append(to) y.append(yo) return array(t), array(y) def f(t, y): global theta f = zeros([4]) f[0] = 1 f[1] = -y [1]-y[2] +theta* sin(y[0]) f[2] = -y[2]+y[3] f[3] = -y[2] return f #    -- theta = 1 theta = 1.0 yo =initial_state_0 t, y = rungeKutta(f, to, yo, tEnd, tau) y2=[i[2] for i in y] y3=[i[3] for i in y] #       # Y20 = Y2(b), Y30 = Y3(b) Y20 = y2[N-1] Y30 = y3[N-1] #    -- theta = 0,  I theta = 0.0 yo= initial_state_I t, y = rungeKutta(f, to, yo, tEnd, tau) y2=[i[2] for i in y] y3=[i[3] for i in y] #       # Y21= Y2(b), Y31 = Y3(b) Y21= y2[N-1] Y31 = y3[N-1] #    -- theta = 0,  II theta = 0.0 yo =initial_state_II t, y = rungeKutta(f, to, yo, tEnd, tau) y2=[i[2] for i in y] y3=[i[3] for i in y] #       # Y211= Y2(b), Y311 = Y3(b) Y211= y2[N-1] Y311 = y3[N-1] #    #     p2, p3 b1 = c2 - Y20 b2 = c3 - Y30 A = array([[Y21, Y211], [Y31, Y311]]) bb = array([[b1], [b2]]) #   p2, p3 = linalg.solve(A, bb) #    #  , theta = 1 theta = 1.0 yo = array([a, c1, p2, p3]) t, y = rungeKutta(f, to, yo, tEnd, tau) y0=[i[0] for i in y] y1=[i[1] for i in y] y2=[i[2] for i in y] y3=[i[3] for i in y] #  print('y0[0]=', y0[0]) print('y1[0]=', y1[0]) print('y2[0]=', y2[0]) print('y3[0]=', y3[0]) print('y0[N-1]=', y0[N-1]) print('y1[N-1]=', y1[N-1]) print('y2[N-1]=', y2[N-1]) print('y3[N-1]=', y3[N-1]) j = N xx = y0[:j] yy1 = y1[:j] yy2 = y2[:j] yy3 = y3[:j] stop = time.time() print ("   : %f"%(stop-start)) plt.subplot(2, 1, 1) plt.plot([a], [c1], 'ro') plt.plot([b], [c2], 'go') plt.plot([b], [c3], 'bo') plt.plot(xx, yy1, color='r') #  plt.plot(xx, yy2, color='g') #  plt.plot(xx, yy3, color='b') #  plt.xlabel(r'$x$') #   x   TeX plt.ylabel(r'$y_k(x)$') #   y   TeX plt.title(r'  ', color='blue') plt.grid(True) # patch_y1 = mpatches.Patch(color='red', label='$y_1$') patch_y2 = mpatches.Patch(color='green', label='$y_2$') patch_y3 = mpatches.Patch(color='blue', label='$y_3$') plt.legend(handles=[patch_y1, patch_y2, patch_y3]) ymin, ymax = plt.ylim() xmin, xmax = plt.xlim() plt.subplot(2, 1, 2) font = {'family': 'serif', 'color': 'blue', 'weight': 'normal', 'size': 12, } plt.text(0.2, 0.8, r'$\frac{dy_1}{dx}= - y_1 - y_2 + \sin(x),$', fontdict=font) plt.text(0.2, 0.6,r'$\frac{dy_2}{dx}= - y_1 + y_3,$', fontdict=font) plt.text(0.2, 0.4, r'$\frac{dy_3}{dx}= - y_2 - y_2,$', fontdict=font) plt.text(0.2, 0.2, r'$y_1(a)=c_1, ' r'\quad y_2(b)=c_2, \quad y_3(b)=c_3.$', fontdict=font) plt.subplots_adjust(left=0.15) plt.show() 


рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:

рдпреж [реж] = реж.реж
y1 [0] = 1.0
y2 [0] = 0.7156448588231397
y3 [0] = 1.324566562303714
y0 [рдПрди -1] = 0.9900000000000007
y1 [N-1] = 0.1747719838716767
y2 [рдПрди -1] = 0.8
y3 [N-1] = 0.5000000000000001
рдореЙрдбрд▓ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рдордп: 0.070878



рдирд┐рд╖реНрдХрд░реНрд╖



рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо [3] рдореЗрдВ рджреА рдЧрдИ рддреНрд░реБрдЯрд┐ рд╕реЗ рднрд┐рдиреНрди рд╣реИ, рдЬреЛ рдХрд┐ рдкрд╛рдпрдЬреЙрди рдореЗрдВ рд▓рд╛рдЧреВ рд░рди-рдХреБрдЯреНрдЯрд╛ - рдлреЗрд▓рдмрд░реНрдЧ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рджрд┐рдП рдЧрдП odeint рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддреБрд▓рдирд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред

рд╕рдВрджрд░реНрдн:

1. рд╡рд┐рднреЗрджрдХ рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдорд┐рд╢реНрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧрдгрд┐рддреАрдп рдореЙрдбрд▓ рдХрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рдиред

2. рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдЕрдЬрдЧрд░ рдХрд╛ рдкрд░рд┐рдЪрдпред

3. рдПрди.рдПрдо. рдкреЛрд▓рд╛рдХреЛрд╡рд╛, рдИ.рд╡реА. рд╢рд┐рд░рд┐рд╡рд╛ рдкрд╛рдпрдерди 3. рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рдирд╛ (рд╢реВрдЯрд┐рдВрдЧ рдХреА рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд░реИрдЦрд┐рдХ рд╕рд╛рдзрд╛рд░рдг рдЕрдВрддрд░ рд╕рдореАрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛-рдореВрд▓реНрдп рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред рд░реЛрд╕реНрддреЛрд╡-рдСрди-рдбреЙрди 2017ред

Source: https://habr.com/ru/post/hi418139/


All Articles