Forum: Digitale Signalverarbeitung / DSP / Machine Learning Jet Another Matlab/Octave/Scilab/etc. Thread


von Randy (Gast)


Lesenswert?

Hallo,

da ich kein Student mehr bin hab ich keinen kostenlosen/billigen Zugriff 
auf Matlab mehr. Und auf eine nicht von einer Firma und deren 
Lizenspolitik abhängige Lösung wollte ich schon länger setzen. Es gibt 
ja verschiedene Alternativen wenns darum geht Messreihen auszuwerten 
(was mit vorschwebt: FFT, moving Average, andere Filter drüber laufen 
lassen, regression, plotten, etc.). Aber welche ist eine gute Lösung? 
Bzw. wo steht am meisten Druck dahinter? Ich will mich natürlich nicht 
in ein Tool einarbeiten dessen Entwicklung in naher Zukunft einschläft.
Von was ich gehört habe:

Octave:
-recht bekannt, sehr Matlab-ähnlich (ist nur am Anfang ein Vorteil wegen 
schnellerer Einarbeitung)
-letztens erst eine neue Version rausgekommen; kann aber nicht sagen ob 
man deswegen auf eine aktive Entwicklergemeinde schließen kann?

Scilab:
-die Präsentation auf der Webseite schaut gut aus, aber ansonsten noch 
nie was davon gehört

Root (root.cern.ch):
-ich bin jetzt gar nicht sicher ob das überhaupt für "Matlab-ähnliche" 
(interaktive und Skript-gesteuerte) Datenverarbeitung und 
Plot-Funktionen gedacht ist.
-da es die Jungs im Cern programmieren um es selber zu benutzen sollte 
entsprechend Druck hinter der Weiterentwicklung stehen. Das Projekt wird 
also die nächsten >10 Jahre nicht einschlafen.

Was also nehmen? Ich könnte natürlich alle ausprobieren und selber 
bewerten, aber das kostet viel von der Resource von er man am wenigsten 
hat: Zeit.

Vielen Dank im vorraus,
Randy

von Randy (Gast)


Lesenswert?

Dann gibts noch SAGE:
http://www.sagemath.org/index.html
von dem Programm kenne ich aber auch nur den Internetauftritt.

von Michael L. (Gast)


Lesenswert?

Hallo Randy,

meine Wahl wäre GNU Octave. Das ist soweit ich das sehe das 
leistungsfähigste Programm für Deine Zwecke und die Entwicklung ist - 
wenn ich das richtig sehe - auch noch im Gang. Für normale 
Signalverarbeitung, wie Du sie machen willst, ist es nahezu 100% 
kompatibel. Das ist dann ein  Vorteil, wenn Du wieder auf Matlab 
umstellen willst.

Weniger gut als in Matlab ist die Unterstützung für Hardware 
(Schnittstellen, Meßkarten). Die Plots sind auch deutlich weniger 
komfortabel als bei Matlab. Beim Prototyping ist das schon sehr nervig, 
wenn Du jedes Mal per Hand eintippen mußt, in welchen Teil des Plots Du 
zoomen willst. Daher werde ich an der Uni bei Matlab bleiben.

Scilab ist eine Entwicklung einer französischen Uni. Ich habe es nur 
kurz angetestet. Mich hat genervt, daß es eigene Befehle gewählt hat.

Root kenne ich nicht.

SAGE ist soweit ich das sehe eine Oberfläche, die mehrere Matheprogramme 
zusammenfaßt.

Gruß,
  Michael

von Bender (Gast)


Lesenswert?

Yet, nicht Jet.

von max (Gast)


Lesenswert?

Scilab hat zwar eine von Matlab verschieden Syntax, aber ist gegenüber 
von Octave wesentlich leistungsfähiger. Allerdings ist zu beachten das 
Scilab nicht wirklich freie Software wie Octave ist.

von Andreas (Gast)


Lesenswert?

Habe in letzter Zeit auch mit Scilab gearbeitet, kommt aber nicht ganz 
an Matlab ran.
Ist aber (das was ich gemacht habe) vollkommen ausreichend. Syntax ist 
teilweise leicht verschieden von Matlab, aber das kann man einfach in 
einer Tabelle nachschlagen.
Nur scheint Scilab ein paar Bugs zu haben. Bin nicht sicher, aber 
manchmal hat das Programm Fehler ausgespuckt, ich hätte eine Variable 
mit einem bestimmten namen bei der verwendung nicht vorher mit einem 
Wert belegt. Dabei gab es die Variable nie und konnte so den Fehler 
nicht beseitigen...
Manchmal stürzt Scilab auch ab, was aber an meiner Installation liegen 
kann.

von Thomas (Gast)


Lesenswert?

Der Vorteil von SCILAB ist, dass es mit SCICOS auch ein grafisches 
Frontend zur einfachen Entwicklung und Simulation von Reglern gibt.
Außerdem kann aus dem Modell ähnlich einfach wie mit Real Time Workshop 
Code generiert werden, der sich z.B. in einer Echtzeitumgebung einsetzen 
lässt.
Interessant wird das in Verbindung mit RTAI, welches einem 
handelssüblichen Linux-PC einen Echtzeitkernel unterschiebt.
Mit RTAI-Lab gibt es ein Blockset für SCICOS, welches die wichtigsten 
Funktionen per Drag&Drop KlickiBunti zur Verfügung stellt.
So kann man sich z.B. eine reale Regelstrecke modellieren, einen  Regler 
dafür entwerfen und am Modell simulieren.
Wenn alles läuft wie gewünscht generiert man mit wenigen Klicks den Code 
und lässt diesen im Echtzeittask die reale Strecke regeln.
Vom PC aus lassen sich dann zur Laufzeit Regelgröße beobachten, 
Sollwerte vorgeben, etc.

SCILAB 5 ist gerade erst rausgekommen und entsprechend noch nicht ganz 
ausgereift. Seit Version 5 ist SCILAB 100% GPL kompatibel und natürlich 
auch wirklich freie Software wie Octave.

Sehr gute deutsche Beschreibung von RTAI:
http://de.wikipedia.org/wiki/RTAI

Gutes englisches Tutorial von SCICOS + RTAI + RTAI-Lab:
https://www.rtai.org/RTAILAB/RTAI-Lab-tutorial.pdf

Inzwischen nutze ich SCILAB übrigens auch auf der Kommandozeile als 
MATLAB-Ersatz. Soo groß ist der Unterschied nun auch wieder nicht, und 
wenn man sich die neuen Befehle einmal eingeprägt hat ist der Umstieg 
nicht schwehr. Wozu also zwei Programme installieren?

von Thomas (Gast)


Lesenswert?

Ach ja, um auch mal was negatives zu sagen:
Die Bedienung von SCICOS ist natürlich grottig, und diese albernen 
3D-Blöcke machen die Sache nur völlig unnötig unübersichtlich.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.