Dit is de commando-ode die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
ode - numerieke oplossing van gewone differentiaalvergelijkingen
KORTE INHOUD
ode [ opties ] [ filet ]
PRODUCTBESCHRIJVING
ode is een hulpmiddel dat door numerieke integratie het beginwaardeprobleem voor a . oplost
gespecificeerd stelsel van gewone differentiaalvergelijkingen van de eerste orde. Drie verschillende numerieke
integratieschema's zijn beschikbaar: Runge-Kutta-Fehlberg (de standaard), Adams-Moulton en
Euler. De schema's Adams-Moulton en Runge-Kutta zijn beschikbaar met adaptieve stapgrootte.
De werking van ode wordt gespecificeerd door een programma, geschreven in de invoertaal. De
programma is gewoon een lijst met uitdrukkingen voor de afgeleiden van de variabelen die moeten worden
geïntegreerd, samen met enkele controleverklaringen. Enkele voorbeelden worden gegeven in de
Voorbeelden pagina.
ode leest het programma uit het gespecificeerde bestand, of uit standaard invoer als er geen bestandsnaam is
gegeven. Als u leest vanaf standaardinvoer, ode zal stoppen met lezen en afsluiten wanneer het een . ziet
enkele punt op een regel op zichzelf.
Bij elke tijdstap worden de waarden van variabelen die in het programma zijn gespecificeerd geschreven naar
standaard uitvoer. Er wordt dus een tabel met waarden gemaakt, waarbij elke kolom de toont
evolutie van een variabele. Als er slechts twee kolommen zijn, kan de uitvoer worden doorgesluisd naar:
diagram(1) of een soortgelijk plotprogramma.
OPTIES
Invoer Opties
-f filet
--Invoer bestand filet
Invoer lezen van filet voordat u de standaardinvoer leest. Deze optie maakt het
mogelijk om interactief te werken, na het lezen van een programmafragment dat de
stelsel van differentiaalvergelijkingen.
uitgang Opties
-p vorige
--precisie vorige
Gebruik bij het afdrukken van numerieke resultaten vorige significante cijfers (de standaard is 6).
Als deze optie wordt gegeven, is het afdrukformaat wetenschappelijke notatie.
-t
--titel
Druk een titelregel af aan het begin van de uitvoer en noem de variabelen in elke kolom.
Als deze optie wordt gegeven, is het afdrukformaat wetenschappelijke notatie.
Integratie schema Opties
De volgende opties specificeren het numerieke integratieschema. Slechts één van de drie
basisopties -R, -A, -E kan worden opgegeven. De standaard is -R (Runge-Kutta-Fehlberg).
-R [stapgrootte]
--runge-kutta [stapgrootte]
Gebruik een Runge-Kutta-Fehlberg-algoritme van de vijfde orde, met een adaptieve stapgrootte tenzij
een constante stapgrootte wordt gespecificeerd. Wanneer een constante stapgrootte is opgegeven en geen
foutanalyse wordt gevraagd, dan is een klassiek vierde-orde Runge-Kutta-schema:
gebruikt.
-A [stapgrootte]
--adams-moulton [stapgrootte]
Gebruik een Adams-Moulton voorspeller-correctorschema van de vierde orde, met een adaptief
stapgrootte tenzij een constante stapgrootte, stapgrootte, is gespecificeerd. De
Het Runge-Kutta-Fehlberg-algoritme wordt gebruikt om voorbij `slechte' punten (indien aanwezig) te komen.
-E [stapgrootte]
--euler [stapgrootte]
Gebruik een `quick and dirty' Euler-schema, met een constante stapgrootte. De standaardwaarde:
of stapgrootte is 0.1. Niet aanbevolen voor serieuze toepassingen.
De foutgebonden opties -r en -e (zie hieronder) mag niet worden gebruikt als: -E is gespecificeerd.
-h hmin [hmax]
--stapgrootte-gebonden hmin [hmax]
Gebruik een ondergrens hmin op de stapgrootte. Het numerieke schema laat de
stapgrootte ga hieronder hmin. De standaardinstelling is om de stapgrootte te laten krimpen tot de
machinelimiet, dwz het minimale niet-nul dubbele-precisie drijvende-kommagetal.
Het optionele argument h max, indien inbegrepen, specificeert een maximale waarde voor de
stapgrootte. Het is handig om te voorkomen dat de numerieke routine snel overslaat
over een interessante regio.
Fout Gebonden Opties
-r Rmax [min]
--relatieve-fout-gebonden Rmax [min]
De -r optie stelt een bovengrens in voor de relatieve eenstapsfout. Als de -r
optie wordt gebruikt, zal de relatieve eenstapsfout in een afhankelijke variabele nooit
overtreffen Rmax (de standaardwaarde hiervoor is 10^-9). Als dit zou gebeuren, is de oplossing:
worden verlaten en er wordt een foutbericht afgedrukt. Als de stapgrootte niet is:
constant is, wordt de stapgrootte `adaptief' verkleind, zodat de bovengrens op
de eenstapsfout wordt niet geschonden. Dus, het kiezen van een kleinere bovengrens op de
eenstapsfout zorgt ervoor dat kleinere stapgroottes worden gekozen. een ondergrens min
kan optioneel worden gespecificeerd, om aan te geven wanneer de stapgrootte moet worden vergroot (de
standaard voor min is Rmax/ 1000).
-e Emax [emin]
--absoluut-foutgebonden Emax [emin]
Soortgelijke -r, maar begrenst de absolute in plaats van de relatieve eenstapsfout.
-s
--onderdruk-fout-gebonden
Onderdruk het plafond bij eenstapsfout, waardoor: ode om door te gaan, zelfs als dit
plafond wordt overschreden. Dit kan leiden tot grote numerieke fouten.
Informatieve Opties
--help Druk een lijst met opdrachtregelopties af en sluit af.
--versie
Print het versienummer van ode en het pakket hulpprogramma's voor plotten, en sluit af.
DIAGNOSE
Meestal zelfverklarend. De grootste uitzondering is `syntaxisfout', wat betekent dat er een
grammaticale fout. Taalfoutmeldingen zijn van de vorm
ode: nnn: bericht...
waarbij `nnn' het nummer is van de invoerregel die de fout bevat. Als de -f Optie is
gebruikt, volgt de zin "(bestand)" de `nnn' voor fouten die in het bestand zijn aangetroffen.
Vervolgens, wanneer? ode begint de standaardinvoer te lezen, regelnummers beginnen opnieuw bij 1.
Er wordt geen poging gedaan om succesvol te herstellen van syntactische fouten in de invoer. Echter,
er is een magere inspanning om opnieuw te synchroniseren, zodat er meer dan één fout in één scan kan worden gevonden.
Runtime-fouten leiden tot een bericht waarin het probleem wordt beschreven en de oplossing wordt opgegeven.
Voorbeelden
Het programma
y' = y
y = 1
print t, y
stap 0, 1
lost een beginwaardeprobleem op waarvan de oplossing is y=e^t. Wanneer ode draait dit programma, het
zal twee kolommen met getallen naar de standaarduitvoer schrijven. Elke regel toont de waarde van
de onafhankelijke variabele t, en de variabele yzoals t wordt getrapt van 0 naar 1.
Een meer verfijnd voorbeeld zou zijn:
sinus' = cosinus
cosinus' = -sinus
hun = 0
cosinus = 1
print t, hun
stap 0, 2*PI
Dit programma lost een beginwaardeprobleem op voor een stelsel van twee differentiaalvergelijkingen.
Het beginwaardeprobleem blijkt de sinus- en cosinusfuncties te definiëren. Het programma
stappen het systeem over een volledige periode.
AUTEURS
ode is geschreven door Nicholas B. Tufillaro (nbt@reed.edu), en enigszins verbeterd door Robert
S. Maier (rsm@math.arizona.edu) om het samen te voegen met de GNU-plothulpprogramma's.
Gebruik ode online met onworks.net-services