This commit is contained in:
Kizarm 2023-12-03 14:50:32 +01:00
parent ab00feb28d
commit 12ab816d5a
5 changed files with 10 additions and 7 deletions

View file

@ -2,15 +2,15 @@
<html>
<head>
<meta charset="utf-8" http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SOLVER</title>
<title>CALC</title>
<style>
tr, td { border-collapse: collapse; }
table { width:100%; border-collapse: collapse; text-align: center; }
.emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
textarea.emscripten { font-family: monospace; font-size: 16px; width: 100%; overflow-x: scroll; white-space: pre; background: black; color: rgb(0,255,0);}
.frame1 { width: 96%; margin: 0; padding: 10px; background-color: #FFFFC0; border: 10px solid #F0C0F0; }
.canvas { width: 100%; height: 65vh; background-color: black; }
.a {color:#800080;}
.canvas { width: 100%; height: 67vh; background-color: black; }
.b { color:#800080; }
</style>
</head>
<body>
@ -46,9 +46,9 @@
co se má vykreslit. Osy to nemá, každý graf jde od minima do maxima, je to jen pro představu, jak funkce
vypadá. Objekt, vstupující do rovnic má tvar {t:t, w:[q1, q2 ... qn, p1, p2, ... pn]}, t značí čas.
Default příklad je harmonický oscilátor, lze použít i
<a class="a" onclick="getFile('nvcr.txt');">nelineární oscilátor</a> nebo pro příklad
<a class="a" onclick="getFile('lorenz.txt');">Lorenzův atraktor</a> a nakonec
<a class="a" onclick="getFile('railgun.txt');">railgun</a> s disipací energie.
<b class="b" onclick="getFile('nvcr.txt');">nelineární oscilátor</b> nebo pro příklad
<b class="b" onclick="getFile('lorenz.txt');">Lorenzův atraktor</b> a nakonec
<b class="b" onclick="getFile('railgun.txt');">railgun</b> s disipací energie.
Stačí kliknout na zvýrazněný text
a stisknout tlačítko Submit. Parametry simulace lze jednoduše měnit. Připadá mi to o hodně jednodušší
popsat takto problém textem než vymýšlet celé IDE s mnoha parametry. Parametry funkce solve (krok, počet_kroků, počáteční_podmínky, seznam_funkcí),

View file

@ -26,4 +26,4 @@ plot (r, {x:['t'], y:['w', 0]}, '#00ff00');
plot (r, {x:['t'], y:['w', 1]}, '#ff0000');
plot (r, {x:['t'], y:['w', 2]}, '#0000ff');
plot (r, {x:['w', 0], y:['w', 2]}, '#00ffff');
delete r.data; /* ukliď po sobě */

View file

@ -18,4 +18,5 @@ let r = solve (0.02, 4000, bc, pf);
plot (r, {x:['t'], y:['w', 0]}, '#00ff00');
plot (r, {x:['t'], y:['w', 1]}, '#ff0000');
plot (r, {x:['w', 0], y:['w', 1]}, '#00ffff');
delete r.data; /* ukliď po sobě */

View file

@ -17,3 +17,4 @@ let r = solve (0.01, 100, bc, pf); /* řešení */
plot (r, {x:['t'], y:['w', 0]}, '#00ff00');
plot (r, {x:['t'], y:['w', 1]}, '#ff0000');
plot (r, {x:['w', 0], y:['w', 1]}, '#00ffff');
delete r.data; /* ukliď po sobě */

View file

@ -29,4 +29,5 @@ let r = solve (5.0e-7, 2000, bc, ls); /* řešení */
plot (r, {x:['t'], y:['w', 1]}, '#00ff00');
plot (r, {x:['t'], y:['w', 3]}, '#ff0000');
delete r.data; /* ukliď po sobě */