Connectez-vous via MCP →

Entrez le calcul

Second membre de y'' = F(x, y, y'). Utilisez x, y, p et + - * / ^, sin, cos, exp, log, sqrt, pi, e.

Formule

Publicité

Résultats

y en xn
0.135335274181834636
valeur de y à la borne finale
y' en xn
-0.135335259156935755
valeur de y' (= p) à la borne finale

Method: classic 4th-order Runge-Kutta (RK4) · steps n = 50 · step size h = 0,02

i x y = f(x) y' = p
0 0 0 1
1 0.0200000000000000004 0.0192157866666666649 0.922357866666666637
2 0.0400000000000000008 0.0369246498212522645 0.849267048373009037
3 0.0599999999999999978 0.0532152204359356007 0.780489998192799184
4 0.0800000000000000017 0.0681714957894921647 0.715800800394514436
5 0.100000000000000006 0.0818730665794356605 0.654984623530822985
6 0.119999999999999996 0.0943953333479264356 0.597837198534814762
7 0.140000000000000013 0.105809712710295489 0.544164320702777649
8 0.160000000000000003 0.116183833853126500 0.493781374492720526
9 0.179999999999999993 0.125581725747898248 0.446512880115091604
10 0.200000000000000011 0.134063995506174150 0.402192060937331175
11 0.220000000000000001 0.141687998283193534 0.360660430767116402
12 0.239999999999999991 0.148507999118433237 0.321767400120490987
13 0.260000000000000009 0.154575327084229969 0.285369900620602468
14 0.280000000000000027 0.159938522096849084 0.251332026710574419
15 0.299999999999999989 0.164643474728420641 0.219524693900195078
16 0.320000000000000007 0.168733559342904987 0.189825312800676715
17 0.340000000000000024 0.172249760864668727 0.162117478234802465
18 0.359999999999999987 0.175230795474316581 0.136290672741392865
19 0.380000000000000004 0.177713225513107781 0.112239983823256881
20 0.400000000000000022 0.179731568864560570 0.0898658343166999773
21 0.419999999999999984 0.181318403069687717 0.0690737252883046882
22 0.440000000000000002 0.182504464420687129 0.0497739908911289108
23 0.460000000000000020 0.183318742266808804 0.0318815646377390433
24 0.479999999999999982 0.183788568755511195 0.0153157565716578320
25 0.5 0.183939704221884465 4.08419086883604621E-8
26 0.520000000000000018 0.183796418429634401 -0.0141381467925742240
27 0.540000000000000036 0.183381567857668515 -0.0271676019807839605
28 0.560000000000000053 0.182716669217487304 -0.0391535357516522645
29 0.579999999999999960 0.181821969378139686 -0.0501577498528595900
30 0.599999999999999978 0.180716511867434454 -0.0602388038506180140
31 0.619999999999999996 0.179418200110394555 -0.0694521743669628405
32 0.640000000000000013 0.177943857558579527 -0.0778504068142278072
33 0.660000000000000031 0.176309284856870752 -0.0854832599702608359
34 0.680000000000000049 0.174529314187597984 -0.0923978437225306121
35 0.700000000000000067 0.172617860925471212 -0.0986387502945474809
36 0.719999999999999973 0.170587972730655124 -0.104248179253945611
37 0.739999999999999991 0.168451876201472006 -0.109266056588119206
38 0.760000000000000009 0.166221021202630853 -0.113730148120445823
39 0.780000000000000027 0.163906122979543406 -0.117676167527839340
40 0.800000000000000044 0.161517202164191437 -0.121137879208628521
41 0.820000000000000062 0.159063622773142788 -0.124147196238530849
42 0.839999999999999969 0.156554128293666411 -0.126734273641762762
43 0.859999999999999987 0.153996875949458961 -0.128927597194074095
44 0.880000000000000004 0.151399469233258754 -0.130754067964697240
45 0.900000000000000022 0.148768988789577172 -0.132239082794837953
46 0.920000000000000040 0.146112021726915342 -0.133406610901388389
47 0.940000000000000058 0.143434689435146284 -0.134279266785993751
48 0.959999999999999964 0.140742673980222749 -0.134878379621434813
49 0.979999999999999982 0.138041243145009956 -0.135224059279484138
50 1 0.135335274181834636 -0.135335259156935755

À quoi sert ce calculateur

Cet outil résout numériquement une équation différentielle ordinaire (EDO) du second ordre de la forme \(y'' = F(x,\,y,\,y')\) sur un intervalle \([x_0,\,x_n]\), à l'aide de la méthode classique de Runge-Kutta d'ordre 4 (RK4). Il vous suffit de saisir le second membre \(F\) sous forme d'expression mathématique en \(x\), \(y\) et \(p\) (où \(p\) désigne \(y'\)), les conditions initiales \(y(x_0)\) et \(y'(x_0)\), les bornes de l'intervalle et le nombre de pas. Le calculateur renvoie un tableau complet des valeurs de \(x\), \(y\) et \(y'\), ainsi que les valeurs aux bornes. Il relève de l'analyse numérique pure et s'applique de façon universelle, quel que soit le pays.

Mode d'emploi

Saisissez \(F(x,\,y,\,p)\) — par exemple -4*p - 4*y pour \(y'' + 4y' + 4y = 0\). Renseignez \(x_0\), \(y_0 = f(x_0)\) et \(p_0 = y'(x_0)\). Indiquez la borne finale \(x_n\) et choisissez le nombre de sous-intervalles \(n\) (plus \(n\) est grand, plus le pas $$h = \frac{\text{xn} - \text{x0}}{\text{n}}$$ est petit et plus la précision est élevée). Définissez enfin le nombre de chiffres significatifs à afficher. L'erreur globale de RK4 est en \(O(h^4)\) : doubler \(n\) divise donc l'erreur par environ 16.

La formule expliquée

On ramène une EDO du second ordre à un système de deux équations du premier ordre en posant \(p = y'\) : on a alors \(y' = p\) et \(p' = F(x,\,y,\,p)\). À chaque pas, RK4 fait progresser les deux inconnues à l'aide de quatre évaluations pondérées des pentes (\(k\) pour \(y\), \(j\) pour \(p\)), combinées sous la forme \(\frac{k_1 + 2k_2 + 2k_3 + k_4}{6}\) et \(\frac{j_1 + 2j_2 + 2j_3 + j_4}{6}\).

Publicité
Schéma montrant y''=F réduit au système y'=p et p'=F(x,y,p)
L'EDO du second ordre est réécrite comme un système couplé du premier ordre en \(y\) et \(p = y'\).
Schéma des quatre estimations de pente RK4, de k1 à k4, sur un pas de x à x+h
RK4 combine quatre estimations de pente par pas pour faire avancer la solution de \(x\) à \(x+h\).

Exemple détaillé

Prenons \(y'' = -4p - 4y\) avec \(x_0 = 0\), \(y_0 = 0\), \(p_0 = 1\), \(x_n = 1\) et un seul pas grossier (\(n = 1\), \(h = 1\)). Les quatre étapes donnent \(k_1 = 1\), \(k_2 = -1\), \(k_3 = 2\), \(k_4 = -5\) et \(j_1 = -4\), \(j_2 = 2\), \(j_3 = -6\), \(j_4 = 12\). On obtient alors $$y(1) = \frac{1 - 2 + 4 - 5}{6} = -\frac{1}{3} = -0{,}3333$$ et $$p(1) = 1 + \frac{-4 + 4 - 12 + 12}{6} = 1.$$ La solution exacte est \(y = x\,e^{-2x}\), soit \(y(1) = e^{-2} = 0{,}1353\) : un unique pas géant de \(h = 1\) est beaucoup trop grossier. Avec \(n = 50\) ou \(n = 100\), le résultat converge exactement vers la valeur exacte.

FAQ

Puis-je intégrer à rebours ? Oui : posez \(x_n\) inférieur à \(x_0\) et le pas \(h\) devient négatif, ce qui revient à intégrer de \(x_0\) vers \(x_n\).

Pourquoi mon résultat semble-t-il faux avec peu de pas ? La précision de RK4 dépend d'un pas suffisamment petit. Augmentez \(n\) jusqu'à ce que les résultats successifs cessent de varier.

Quelles fonctions \(F\) peut-elle contenir ? Les opérateurs + - * / ^, les parenthèses, ainsi que sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, exp, log/ln, log10, sqrt, abs, et les constantes pi et e.

Dernière mise à jour: