{"id":229435,"date":"2014-07-10T22:28:03","date_gmt":"2014-07-10T18:28:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=229435"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=229435","title":{"rendered":"<span class=\"post_title\">\u041e\u0431\u0437\u043e\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0436\u0451\u0441\u0442\u043a\u0438\u0445 \u041e\u0414\u0423<\/span>"},"content":{"rendered":"<div class=\"content html_format\">     \t<img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/607\/98c\/547\/60798c547a02e706126dc1fecf2810bf.png\"\/><\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 <a href=\"http:\/\/en.smath.info\/forum\/\">SMath Studio<\/a>, \u044f \u043d\u0430\u0448\u0451\u043b \u0432 \u0441\u0435\u0442\u0438 \u0440\u044f\u0434 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u0445 \u043e\u0431\u0437\u043e\u0440.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 RK45 \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0448\u0430\u0433\u043e\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043d\u043e \u0431\u044b\u0432\u0430\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u0433\u0434\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0436\u0451\u0441\u0442\u043a\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043d\u044b \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0448\u0430\u0442\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043d\u0438\u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043e\u0433\u043e\u0432\u043e\u0440\u0435\u043d\u043e \u043e\u0441\u043e\u0431\u043e, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0443 \u0432\u044b\u0437\u043e\u0432\u0430 (\u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 Mathcad): <\/p>\n<pre><code class=\"cpp\">ode_solver( init, x1, x2, intvls, D(t, x) ) <\/code><\/pre>\n<p>  \u0433\u0434\u0435:  <\/p>\n<ul>\n<li>init \u2014 \u0432\u0435\u043a\u0442\u043e\u0440 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439, <\/li>\n<li>(x1, x2) \u2014 \u043e\u0442\u0440\u0435\u0437\u043e\u043a \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, <\/li>\n<li>intvls \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u0432 \u043d\u0430 \u043e\u0442\u0440\u0435\u0437\u043a\u0435, <\/li>\n<li>D(t, x) \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u041e\u0414\u0423. <\/li>\n<\/ul>\n<p>  <\/p>\n<h4>1. Intel ODE Solvers Library<\/h4>\n<p>  \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: rkm9st(), mk52lfn(), mk52lfa(), rkm9mkn(), rkm9mka().<\/p>\n<ul>\n<li>rkm9st() \u2014 a specialized routine for solving non-stiff and middle-stiff ODE systems using the explicit method, which is based on the 4th order Merson\u2019s method and the 1st order multistage method of up to and including 9 stages with stability control.<\/li>\n<li>mk52lfn() \u2014 a specialized routine for solving stiff ODE systems using the implicit method based on L-stable (5,2)-method with the numerical Jacobi matrix, which is computed by the routine.<\/li>\n<li>mk52lfa() \u2014 a specialized routine for solving stiff ODE systems using the implicit method based on L-stable (5,2)-method with numerical or analytical computation of the Jacobi matrix. The user must provide a routine for this computation.<\/li>\n<li>rkm9mkn() \u2014 a specialized routine for solving ODE systems with a variable or a priori unknown stiffness; automatically chooses the explicit or implicit scheme in every step and computes the numerical Jacobi matrix when necessary.<\/li>\n<li>rkm9mka() \u2014 a specialized routine for solving ODE systems with a variable or a priori unknown stiffness; automatically chooses the explicit or implicit scheme in every step. The user must provide a routine for numerical or analytical computation of the Jacobi matrix.<\/li>\n<\/ul>\n<p>  \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 C \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u043c\u0438 \u043e\u0442\u0441\u044e\u0434\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b 32- \u0438 64-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 (libiode_ia32.lib \u0438 libiode_intel64.lib).<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">intel_ode.h<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">\/*******************************************************************************  !                              INTEL CONFIDENTIAL  !   Copyright(C) 2007-2008 Intel Corporation. All Rights Reserved.  !   The source code contained  or  described herein and all documents related to  !   the source code (&quot;Material&quot;) are owned by Intel Corporation or its suppliers  !   or licensors.  Title to the  Material remains with  Intel Corporation or its  !   suppliers and licensors. The Material contains trade secrets and proprietary  !   and  confidential  information of  Intel or its suppliers and licensors. The  !   Material  is  protected  by  worldwide  copyright  and trade secret laws and  !   treaty  provisions. No part of the Material may be used, copied, reproduced,  !   modified, published, uploaded, posted, transmitted, distributed or disclosed  !   in any way without Intel's prior express written permission.  !   No license  under any  patent, copyright, trade secret or other intellectual  !   property right is granted to or conferred upon you by disclosure or delivery  !   of the Materials,  either expressly, by implication, inducement, estoppel or  !   otherwise.  Any  license  under  such  intellectual property  rights must be  !   express and approved by Intel in writing. !  !****************************************************************************** !    !  Header file for Intel(R) ODE Solvers !  !*******************************************************************************\/  #ifndef _INTEL_ODE_H_ #define _INTEL_ODE_H_  #ifdef __cplusplus extern &quot;C&quot; { #endif \/* __cplusplus *\/  void dodesol(int*,int*,double*,double*,double*,void*,void*,\\ \t\t\t double*,double*,double*,double*,double*,int*,int*); void dodesol_rkm9st(int*,int*,double*,double*,double*,void*,\\ \t\t\t\t\tdouble*,double*,double*,double*,double*,int*); void dodesol_mk52lfn(int*,int*,double*,double*,double*,void*,\\ \t\t\t\t\t double*,double*,double*,double*,double*,int*,int*); void dodesol_mk52lfa(int*,int*,double*,double*,double*,void*,void*,\\ \t\t\t\t\t double*,double*,double*,double*,double*,int*,int*); void dodesol_rkm9mkn(int*,int*,double*,double*,double*,void*,\\ \t\t\t\t\t double*,double*,double*,double*,double*,int*,int*); void dodesol_rkm9mka(int*,int*,double*,double*,double*,void*,void*,\\ \t\t\t\t\t double*,double*,double*,double*,double*,int*,int*);  #ifdef __cplusplus } #endif \/* __cplusplus *\/  #endif \/* _INTEL_ODE_H_ *\/<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 <a href=\"http:\/\/en.smath.info\/forum\/yaf_postst726_ODESolvers-plugin.aspx\">ODE Solvers<\/a> \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 \u0438\u0437 c# \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0438:<br \/>  1. <a href=\"https:\/\/software.intel.com\/en-us\/articles\/intel-ordinary-differential-equations-solver-library\">Intel\u00ae Ordinary Differential Equations Solver Library<\/a>.<br \/>  2. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 <a href=\"https:\/\/smath.info\/svn\/public\/plugins\/ODESolvers\/\">ODESolvers<\/a>.<\/p>\n<h4>2. GNU Scientific Library (GSL)<\/h4>\n<p>  \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: gslrk2(), gslrk4(), gslrkf45(), gslrkck(), gslrk8pd(), rk1imp(), rk2imp(), rk4imp(), bsimp(), msadams(), msbdf().<\/p>\n<p>  \u0427\u0430\u0441\u0442\u044c \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b (\u042f\u043a\u043e\u0431\u0438\u0430\u043d). \u0422\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0431\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<p>  Solvers for Non-Stiff Systems:<\/p>\n<ul>\n<li>gslrk2() \u2014 explicit embedded Runge-Kutta (2, 3) method.<\/li>\n<li>gslrk4() \u2014 explicit 4th order (classical) Runge-Kutta. Error estimation is carried out by the step doubling method.<\/li>\n<li>gslrkf45() \u2014 explicit embedded Runge-Kutta-Fehlberg (4, 5) method.<\/li>\n<li>gslrkck() \u2014 explicit embedded Runge-Kutta Cash-Karp (4, 5) method.<\/li>\n<li>gslrk8pd() \u2014 explicit embedded Runge-Kutta Prince-Dormand (8, 9) method.<\/li>\n<\/ul>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <a href=\"http:\/\/www.gnu.org\/software\/gsl\/manual\/html_node\/Defining-the-ODE-System.html#Defining-the-ODE-System\">\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/a>, \u0433\u0434\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u0440\u0435\u0448\u0430\u0442\u0435\u043b\u044f \u0437\u0430\u0434\u0430\u0451\u0442 \u0448\u0430\u0433\u043e\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 <a href=\"http:\/\/en.smath.info\/forum\/yaf_postst1997_GNU-Scientific-Library--GSL.aspx\">GNUScientificLibrary<\/a> \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 \u0438\u0437 c# \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u041d\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u043e\u0434 Windows. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 32- \u0438 64-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 dll \u0434\u043b\u044f GSL 1.16. \u0422\u0430\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0448\u0430\u0442\u0435\u043b\u0438 \u041e\u0414\u0423.<\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0438:<br \/>  1. <a href=\"http:\/\/www.gnu.org\/software\/gsl\/manual\/html_node\/Ordinary-Differential-Equations.html#Ordinary-Differential-Equations\">GSL. Ordinary Differential Equations<\/a>.<br \/>  2. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 <a href=\"https:\/\/smath.info\/svn\/public\/plugins\/GNUScientificLibrary\/\">GNUScientificLibrary<\/a>.<\/p>\n<h4>3. Matlab C++ Math Library 2.1 (Win32)<\/h4>\n<p>  \u0414\u0430, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0441\u0442\u0430\u0440\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e run-time \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0451\u0442\u043e\u0432. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u043f\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u0443\u0442\u044f\u043c, \u0442.\u0435. \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430 (~28 \u041c\u0431 \u0432 \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u043e\u043c \u0432\u0438\u0434\u0435) \u0440\u044f\u0434\u043e\u043c \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439. \u041f\u0440\u0430\u0432\u0434\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c SetCurrentDirectory() \u0441 \u043f\u0440\u044f\u043c\u044b\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u00abbin\\win32\u00bb. \u042f \u0442\u0430\u043a \u0434\u0435\u043b\u0430\u044e \u0432 \u0441\u0432\u043e\u0451\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438.<\/p>\n<p>  \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: ode23(), ode45(), ode113(), ode15s(), ode23s().<\/p>\n<ul>\n<li>ode23() \u2014 solve nonstiff differential equations; low order method,<\/li>\n<li>ode45() \u2014 solve nonstiff differential equations; medium order method,<\/li>\n<li>ode113() \u2014 solve nonstiff differential equations; variable order method,<\/li>\n<li>ode15s() \u2014 solve stiff differential equations and DAEs; variable order method,<\/li>\n<li>ode23s() \u2014 solve stiff differential equations; low order method.<\/li>\n<\/ul>\n<p>  \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 <a href=\"http:\/\/en.smath.info\/forum\/yaf_postst1970_Matlab-C-Math-Library.aspx\">MatlabCppMathLibrary<\/a> \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 \u0438\u0437 c# \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0438:<br \/>  1. <a href=\"http:\/\/www.mathworks.com\/help\/matlab\/ordinary-differential-equations.html\">Ordinary Differential Equations<\/a>.<br \/>  2. <a href=\"http:\/\/en.smath.info\/forum\/resource.ashx?a=2120\">MATLAB C++ Math Library. User&#8217;s Guide. Version 2.1<\/a> (pdf).<br \/>  3. <a href=\"http:\/\/en.smath.info\/forum\/resource.ashx?a=2121\">MATLAB C++ Math Library. Reference. Version 2<\/a> (pdf).<br \/>  4. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 <a href=\"https:\/\/smath.info\/svn\/public\/plugins\/MatlabCppMathLibrary\/\">MatlabCppMathLibrary<\/a>.<\/p>\n<h4>4. Octave C++ Math Library (Win32)<\/h4>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u0438 Matlab C++ Math Library, \u043d\u043e \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u0442\u0430\u0440\u0430\u043a\u0430\u043d\u0430\u043c\u0438. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 \u044f \u043e\u0434\u043e\u043b\u0435\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e. \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 <a href=\"http:\/\/en.smath.info\/forum\/yaf_postst1980_Octave-C-Math-Library.aspx\">OctaveCppMathLibrary<\/a> \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 \u0438\u0437 c# \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0438:<br \/>  1. <a href=\"http:\/\/www.gnu.org\/software\/octave\/doc\/interpreter\/Ordinary-Differential-Equations.html#Ordinary-Differential-Equations\">Ordinary Differential Equations<\/a>.<br \/>  2. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 <a href=\"https:\/\/smath.info\/svn\/public\/plugins\/OctaveCppMathLibrary\/\">OctaveCppMathLibrary<\/a>.<\/p>\n<h4>5. DotNumerics<\/h4>\n<p>  \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: AdamsMoulton(), ExplicitRK45(), ImplicitRK5(), GearsBDF(). \u042d\u0442\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f .Net \u0441 \u0444\u043e\u0440\u0442\u0440\u0430\u043d\u0430. \u041e\u043d\u0430 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u043c\u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e.<\/p>\n<p>  Solvers for Non-Stiff Systems:<\/p>\n<ul>\n<li>AdamsMoulton() \u2014 solves an initial-value problem for nonstiff ordinary differential equations using the Adams-Moulton method.<\/li>\n<li>ExplicitRK45() \u2014 solves an initial-value problem for nonstiff ordinary differential equations using the explicit Runge-Kutta method of order (4)5.<\/li>\n<\/ul>\n<p>  Solvers for Stiff Systems:<\/p>\n<ul>\n<li>ImplicitRK5() \u2014 solves an initial-value problem for stiff ordinary differential equations using the implicit Runge-Kutta method of order 5.<\/li>\n<li>GearsBDF() \u2014 solves an initial-value problem for stiff ordinary differential equations using the Gear\u2019s BDF method.<\/li>\n<\/ul>\n<p>  \u0418\u043c\u0435\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043e\u043a \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 <a href=\"http:\/\/en.smath.info\/forum\/yaf_postst1918_DotNumerics-plugin.aspx\">DotNumerics<\/a> \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439.<\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0438:<br \/>  1. <a href=\"http:\/\/www.dotnumerics.com\/\">DotNumerics<\/a>.<br \/>  2. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 <a href=\"https:\/\/smath.info\/svn\/public\/plugins\/DotNumerics\/\">DotNumerics<\/a>.<\/p>\n<p>  \u041a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u043d\u043e\u0433\u043e \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u0432 SMath Studio \u043f\u0440\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u041e\u0414\u0423 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 GearsBDF():<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">SMath Studio<\/b><\/p>\n<div class=\"spoiler_text\"><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/bf0\/001\/2f7\/bf00012f71999fe630b3797303b331fc.png\"\/><\/div>\n<\/div>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/229435\/\"> http:\/\/habrahabr.ru\/post\/229435\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">     \t<img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/607\/98c\/547\/60798c547a02e706126dc1fecf2810bf.png\"\/><\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 <a href=\"http:\/\/en.smath.info\/forum\/\">SMath Studio<\/a>, \u044f \u043d\u0430\u0448\u0451\u043b \u0432 \u0441\u0435\u0442\u0438 \u0440\u044f\u0434 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u0445 \u043e\u0431\u0437\u043e\u0440.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-229435","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/229435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=229435"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/229435\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=229435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=229435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=229435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}