Dies ist der Befehlsspline, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
Spline - Interpolieren von Datensätzen mit Splines unter Spannung
ZUSAMMENFASSUNG
Spline [ Optionen ] [ Dateien ]
BESCHREIBUNG
Spline liest Datensätze aus der Standardeingabe oder aus einer oder mehreren Dateien und passt sich nahtlos an
Kurve (ein "Spline") durch jeden Datensatz. Eine interpolierte Version jedes Datensatzes,
die aus Punkten der glatten Kurve besteht, wird in die Standardausgabe geschrieben.
Es sei denn, die -a or -A Optionen verwendet werden (siehe unten), sollte jeder Datensatz eine Folge von
Werte für eine vektorwertige Funktion einer einzelnen skalaren Variablen. Das heißt, jeder Datensatz
sollte eine Folge von Datenpunkten sein, die abwechselnd angegeben werden t und y Werte. t ist ein Skalar
unabhängige Variable und y ist eine vektorwertige abhängige Variable. Die Dimensionalität von
y wird mit dem angegeben -d Option (die Standarddimensionalität ist 1). Zwischen den einzelnen Daten
Punkt und der nächste, t sollte zunehmen.
Eine Eingabedatei kann mehr als einen einzelnen Datensatz enthalten. Wenn eine Eingabedatei im ASCII-Format vorliegt
(Standard), seine Datensätze sollten durch Leerzeilen getrennt werden. Die t und y Werte der
Datenpunkte in jedem Datensatz können beliebig angeordnet werden, solange sie durch getrennt sind
weißer Raum. Neben Datensätzen kann eine Eingabedatei beliebig viele Kommentarzeilen enthalten,
die mit dem Kommentarzeichen `#' beginnen sollte. Kommentarzeilen werden ignoriert. Sie sind
werden nicht als leer behandelt, dh sie unterbrechen keinen laufenden Datensatz.
Optionen und Dateinamen können in der Befehlszeile eingestreut werden, aber die Optionen sind
verarbeitet, bevor die Dateinamen gelesen werden. Wenn -- gesehen wird, wird es als das Ende von . interpretiert
die Optionen. Wenn keine Dateinamen angegeben sind oder der Dateiname - angetroffen wird, die
Standardeingabe wird gelesen.
Die Art der Interpolation und das Format der Eingabe- und Ausgabedateien können ausgewählt werden
durch Befehlszeilenoptionen.
OPTIONAL
Interpolationsbezogen Optionen
-f
--Filter
Verwenden Sie einen lokalen Interpolationsalgorithmus (den kubischen Bessel-Algorithmus), sodass Spline
kann als Echtzeitfilter verwendet werden. Die Steigung der Interpolationskurve bei jedem
Punkt in einem Datensatz wird ausgewählt, indem eine quadratische Funktion dadurch angepasst wird
Punkt und die beiden benachbarten Punkte im Datensatz. Wenn -f angegeben ist dann die -t
option, ansonsten optional, muss ebenfalls verwendet werden. Auch wenn -f ist dann angegeben
die -k, -p und -T Optionen dürfen nicht verwendet werden.
If -f is nicht angegeben, dann ist der standardmäßige (globale) Interpolationsalgorithmus
benutzt.
-k k
--Randbedingung k
Setzen Sie den Randbedingungsparameter für jeden konstruierten Spline auf k. (Das
Standardwert ist 1.0.) In jeder seiner Komponenten erfüllt der Spline die beiden
Randbedingungen y"[0]=ky"[1] und y"[n]=ky"[n-1]. Hier bedeuten y[0] und y[1]
die Werte einer bestimmten Komponente der vektorwertigen abhängigen Variablen y at
die ersten beiden Punkte eines Datensatzes und y[n-1] und y[n] die Werte an den letzten beiden
Punkte. Einstellung k auf null ergibt einen "natürlichen" Spline, dh einen mit null
Krümmung an den beiden Enden des Datensatzes. Die -k Option darf nicht verwendet werden, wenn -f or
-p angegeben.
-n n
--keine-von-intervallen n
Unterteilen Sie das Intervall, über das die Interpolation erfolgt in n Teilintervalle. Die
Anzahl der berechneten und in die Ausgabe geschriebenen Datenpunkte beträgt n + 1dem „Vermischten Geschmack“. Seine
Standardwert für n ist 100.
-p
--periodisch
Konstruieren Sie einen periodischen Spline. Wenn diese Option angegeben ist, wird die y Werte für die
erster und letzter Punkt in jedem Datensatz müssen gleich sein. Die -f und -k Optionen möglicherweise nicht
verwendet werden, wenn -p angegeben.
-T Spannung
--Spannung Spannung
Jede interpolierende Kurve ist ein Spline unter Spannung. Diese Option setzt die
Spannungswert (der Standardwert ist 0.0).
If Spannung gleich Null ist, ist die Kurve ein stückweiser kubischer Spline. Erhöhung der
Spannung über Null macht die Kurve "enger" und verringert die Wahrscheinlichkeit von
falsche Wendepunkte. Das liegt daran, dass zwischen jedem Paar aufeinanderfolgender Punkte
in einem Datensatz erfüllt die Kurve die Differentialgleichung vierter Ordnung
y""=sgn(Spannung) * (Spannung^2)y" in jeder seiner Komponenten Spannung erhöht sich auf
positiv unendlich, konvergiert sie zu einer polygonalen Linie. Die -T Option kann nicht sein
verwendet, wenn -f angegeben.
-t tmin tmax [Abstand]
--t-Abstand tmin tmax [Abstand]
Legen Sie für jeden Datensatz das Intervall fest, über das die Interpolation
Intervall zwischen tmin und tmax. Wenn Abstand nicht angegeben ist, ist das Intervall
geteilt in die Anzahl der Teilintervalle, die durch die -n .
Besitzt das -t Option nicht verwendet wird, ist das Intervall, über das die Interpolation erfolgt,
den gesamten Bereich der unabhängigen Variablen im Datensatz. Die -t Option muss
immer verwendet werden, wenn die -f Option wird verwendet, um filterähnliches Verhalten anzufordern (siehe
über).
Formatbezogen Optionen
-d Dimension
--y-Dimension Dimension
Legen Sie die Dimensionalität der abhängigen Variablen fest y in den Eingabe- und Ausgabedateien zu
be Dimension. Die Standarddimension ist 1.
-I Datei Format
--Eingabeformat Datei Format
Stellen Sie das Datenformat für die Eingabedatei(en) auf Datei Format, die einer von sein könnte
folgende.
a ASCII-Format (Standard). Jede Datei ist eine Gleitkommasequenz
Zahlen, interpretiert als die t und y Koordinaten der aufeinanderfolgenden Daten
Punkte in einem Datensatz. Wenn y is d-dimensional, es wird geben d + 1 Zahlen für
jeder Punkt. Die t und y Koordinaten eines Punktes müssen nicht auf demselben erscheinen
Linie, und Punkte müssen nicht auf verschiedenen Linien erscheinen. Aber wenn eine Leerzeile
auftritt (dh es werden zwei Zeilenumbrüche hintereinander angezeigt), wird dies als interpretiert
Ende eines Datensatzes und den Anfang des nächsten.
f Binärformat mit einfacher Genauigkeit. Jede Datei ist eine Gleitkommasequenz
Zahlen, interpretiert als die t und y Koordinaten der aufeinanderfolgenden Daten
Punkte in einem Datensatz. Wenn y is d-dimensional, es wird geben d + 1 Zahlen für
jeder Punkt. Aufeinanderfolgende Datensätze werden durch ein einzelnes Vorkommen des getrennt
Menge FLT_MAX, die die größtmögliche Gleitkommazahl mit einfacher Genauigkeit ist
Punktnummer. Auf den meisten Maschinen ist dies ungefähr 3.4x10^38.
d Binärformat mit doppelter Genauigkeit. Jede Datei ist eine Sequenz mit doppelter Genauigkeit
Gleitkommazahlen, interpretiert als t und y Koordinaten der
aufeinanderfolgende Datenpunkte in einem Datensatz. Wenn y is d-dimensional, es wird geben
d + 1 Zahlen für jeden Punkt. Aufeinanderfolgende Datensätze werden durch ein einzelnes getrennt
Auftreten der Größe DBL_MAX, das ist das größtmögliche Double
Präzisions-Gleitkommazahl. Bei den meisten Maschinen ist dies ungefähr
1.8x10^308.
i Integer-Binärformat. Jede Datei ist eine Folge von ganzen Zahlen, interpretiert als
die t und y Koordinaten der aufeinanderfolgenden Datenpunkte in einem Datensatz. Wenn y is
d-dimensional, es wird geben d + 1 Zahlen für jeden Punkt. Aufeinanderfolgend
Datensätze werden durch ein einzelnes Vorkommen der Größe INT_MAX getrennt, die
ist die größtmögliche ganze Zahl. Auf den meisten Maschinen ist dies 2^31-1.
-a [Schrittlänge [untere Grenze]]
--auto-abszisse [Schrittlänge [untere Grenze]]
Werte automatisch generieren für t, die unabhängige Variable (die Standardwerte
of Schrittlänge und untere Grenze sind 1.0 bzw. 0.0).
Unabhängig vom Datenformat (`a', `f', `d' oder `i') gibt diese Option an, dass die
Werte von t fehlen in der Eingabedatei: die zu lesenden Datensätze enthalten nur
Werte von y, die abhängige Variable. Also wenn y is d-dimensional, es wird nur
d Zahlen für jeden Punkt. Der Zuwachs von jedem t Wert zum nächsten wird sein
Schrittlängeund der erste t Wert wird sein untere Grenze. Diese Option ist nützlich, z.
beim Interpolieren von Kurven statt von Funktionen.
-A
--auto-dist-abszisse
Werte automatisch generieren für t, die unabhängige Variable. Dies ist eine Variante
Form der -a Möglichkeit. Das Inkrement von jedem t Wert zum nächsten wird der
Entfernung in d-dimensionaler Raum zwischen den entsprechenden y Werte, und die erste t
Wert ist 0.0. Das ist, t wird "polygonale Bogenlänge" sein. Diese Option ist
nützlich, wenn Kurven statt Funktionen interpoliert werden.
-O Datei Format
--Ausgabeformat Datei Format
Stellen Sie das Datenformat für die Ausgabedatei auf Datei Format. Die Interpretation von
Datei Format ist das gleiche wie für die -I Möglichkeit. Der Standardwert ist `a', dh ASCII
Format.
-P wichtige Ziffer
--Präzision wichtige Ziffer
Legen Sie die numerische Genauigkeit für die fest t und y Werte in der Ausgabedatei zu sein
wichtige Ziffer. Dies wird nur wirksam, wenn die Ausgabedatei in `a' geschrieben ist
Format, dh in ASCII. wichtige Ziffer muss eine positive ganze Zahl sein (die Standardeinstellung
ist 6).
-s
--suppress-abszisse
Lassen Sie die unabhängige Variable weg t aus der Ausgabedatei; für jeden Punkt nur liefern
die abhängige Variable y. Wenn y is d-dimensional, es wird nur d Zahlen für
jeder Punkt, nicht d + 1. Diese Option ist nützlich, wenn Kurven interpoliert werden, anstatt
Funktionen.
Informational Optionen
--help Drucken Sie eine Liste der Befehlszeilenoptionen und beenden Sie.
--Version
Drucken Sie die Versionsnummer von Spline und das Plotting-Utility-Paket, und beenden Sie.
Beispiele:
Typing
Echo 0 0 1 1 2 0 | Spline
erzeugt auf der Standardausgabe einen interpolierten Datensatz, der aus 101 Datenpunkten besteht. Wenn
grafisch wird dieser interpolierte Datensatz eine Parabel ergeben.
Manchmal ist es sinnvoll, zwischen einer Folge von willkürlich platzierten Punkten in zu interpolieren
d-dimensionaler Raum, dh "eine Kurve spline" statt einer Funktion. Die -a und -s
Dafür werden Optionen verwendet. Zum Beispiel,
Echo 0 0 1 0 1 1 0 1 | Spline -d 2 -a -s
erzeugt auf der Standardausgabe einen 101-Punkte-Datensatz, der zwischen den vier . interpoliert
Punkte (0,0), (1,0), (1,1) und (0,1). Die -d 2 Option gibt an, dass die abhängige
Variable y ist zweidimensional. Die -a Option gibt an, dass die t Werte fehlen in
die Eingabe und sollte automatisch generiert werden. Die -s Option gibt an, dass die t
Werte sollten aus der Ausgabe entfernt werden.
AUTOREN
Spline wurde geschrieben von Robert S. Maier ([E-Mail geschützt] ), beginnend mit einem früheren
Version von Rich Murphey ([E-Mail geschützt] ). Die Algorithmen zum Konstruieren von Splines unter
Spannung ähneln denen, die in der FITPACK-Unterprogrammbibliothek verwendet werden, und sind letztendlich
wegen Alan K. Cline ([E-Mail geschützt] ).
Verwenden Sie Spline online mit den onworks.net-Diensten