Scilab
Scilab ist ein freies Softwarepaket für Anwendungen aus der numerischen Mathematik, das ehemals am Institut national de recherche en informatique et en automatique (INRIA) in Frankreich seit 1990 als Alternative zu MATLAB entwickelt wurde und seit 2003 vom Scilab-Konsortium weiterentwickelt wird. Im Juli 2008 schloss sich das Scilab-Konsortium der Digiteo Foundation an; seit Juli 2012 erfolgt die Herausgabe und Entwicklung durch Scilab Enterprises[3]. 2017 wurde Scilab Enterprises von der Firma ESI Group akquiriert.[4]
Scilab | |
---|---|
Bildschirmfoto von Scilab | |
Basisdaten | |
Entwickler | Scilab Enterprises |
Aktuelle Version | 2023.1[1] (23. Mai 2023) |
Betriebssystem | Linux, Unix, macOS, BSD, Windows |
Programmiersprache | C++[2], C, Java, Fortran, Tcl/Tk |
Kategorie | Numerische Mathematik |
Lizenz | GPL v2.0 |
deutschsprachig | ja |
www.scilab.org |
Xcos ist die Alternative zu Simulink, die ebenfalls ein freies Softwarepaket ist und auch ursprünglich vom INRIA entwickelt wurde.
Die Funktionalität und Syntax von Scilab/Xcos ist zu weiten Teilen mit der von MATLAB/Simulink identisch, und es gibt Konverter von MATLAB nach Scilab. Scilab wird u. a. für technische und wissenschaftliche Anwendungen in Lehre, Forschung und Industrie eingesetzt. Scilab stellt von sich aus u. a. Funktionen für folgende Bereiche bereit: 2D- und 3D-Plots aller gängigen Formen auf der Grundlage von JOGL[5], numerische lineare Algebra, Polynom-Berechnungen, Statistik, Regelungstechnik, digitale Signalverarbeitung, sowie I/O-Funktionen zum Lesen und Schreiben von Daten, unter anderem auch als Sounddateien im WAVE-Dateiformat. Darüber hinaus existiert eine Vielzahl fertiger Scilab/Xcos-Lösungsskripte und Funktionsbibliotheken von Anwendern aus aller Welt.
Implementiert ist Scilab/Xcos in C, erweiterbar ist es aber auch durch Module, die in Scilab/Xcos selbst oder in anderen Sprachen verfasst wurden, z. B. Fortran, Python mit SciPy oder C, für die definierte Schnittstellen existieren. Es liefert definierte Schnittstellen zu bereits verfügbaren oder selbst frei programmierbaren Toolkits (Toolboxen) wie SPI, LabVIEW, Modelica, aber auch MuPAD. Mit Erscheinen der Version 5.0 wurden viele graphische Funktionalitäten sowie die Benutzeroberfläche in Java neu programmiert.
Mit der Version 2023.0 wurde das Namenssystem auf das Jahr des Erscheinens umgestellt.
Abgrenzung
Aufgrund der kaum vorhandenen algebraischen Funktionalitäten gehört Scilab nicht zu den Computeralgebrasystem (CAS) wie zum Beispiel Maxima, Maple oder Mathematica, die (im Unterschied zur rein numerischen Mathematik) auch symbolische Verfahren unterstützen.
Zusatzpakete
Im Lieferumfang von Scilab sind mächtige zusätzliche Werkzeuge verfügbar, so unter anderem:
- SciNotes, ein speziell für Scilab entwickelter Texteditor und Debugger, der das Bearbeiten von Scilab-Skripten vereinfacht. Er unterstützt unter anderem:
- Hervorheben der Scilab-Syntax
- Automatische Identifizierung von Funktionen
- Autovervollständigung
- Direktes Ausführen von Skripten in Scilab
- Registernavigation
- Kommentarfunktion von Zeilen und Absätzen
- Zeilennummerierung
- Hilfefunktion
- Xcos (ehemals Scicos), ein Programmpaket ähnlich Simulink, zur graphischen Modellierung und Simulation dynamischer Systeme. Xcos 1.0 basiert auf Scicos 4.2 und ist zu diesem vollständig kompatibel.[6] Xcos enthält eine Sammlung graphischer Icons. Diese lassen sich ähnlich einer elektronischen Schaltung miteinander verdrahten. Es wird dabei unterschieden zwischen Zeitinformationen (rote Leitungen) und den eigentlichen Signalen (blaue Leitungen). So erstellte Programme bzw. Blockschaltbilder lassen sich auch in ein C-Programm umwandeln. Mit einem entsprechenden C-Compiler lassen sich die Programme dann auf jede beliebige Zielplattform, zum Beispiel auch auf Mikrocontroller, übertragen. Die aktuelle Scicos-Version 4.4 (Dezember 2009) ist in der ebenfalls freien, auf Scilab 4.1.2 basierenden, Entwicklungsumgebung ScicosLab verfügbar. Es steht ein freier Compiler für Modelica-Modelle zur Verfügung, der es erlaubt, Modelica-Modelle direkt in Scilab/Xcos zu verwenden und zu bearbeiten.[7][8]
- ATOMS (engl.: AutomaTic mOdules Management for Scilab) ermöglicht das automatische Installieren und Aktualisieren von weiteren zusätzlichen Programmpaketen.
Syntax
Die Scilab-Syntax basiert weitestgehend auf der MATLAB-Programmiersprache. Die einfachste Möglichkeit, Scilab-Anweisungen auszuführen, ist, diese direkt an der Eingabeaufforderung >>
im graphischen Eingabefenster einzutippen. Auf diese Weise kann Scilab als interaktive mathematische Shell benutzt werden.
Anwendungsbeispiele
- Arithmetische Berechnungen: Zahlenwerte können in Variablen gespeichert werden. Spezielle Konstanten sind
%i
für die imaginäre Einheit mit und%pi
für die Kreiszahl . Daneben stehen noch alle bekannten elementaren Funktionen zur Verfügung.
Im Beispiel werden komplexe Wechselstromrechnungen ausgeführt.
-->f=100;R=1000; C=1e-6;
-->ZR=R;ZC=1/(2*%pi*f*C*%i); // Komplexer Wechselstromwiderstand
-->Z=ZR+ZC // Reihenschaltung R und C
Z =
1000. - 1591.5494i
-->Scheinwiderstand=abs(Z) // Scheinwiderstand
Scheinwiderstand =
1879.6355
-->Phase=atan(imag(Z)/real(Z))*360/(2*%pi) // Phase in Grad
Phase =
- 57.858092
-->
- Matrizen: Scilab stellt für alle Matrixoperationen entsprechende Funktionen bereit. Im Beispiel wird die Matrix A deklariert, deren Inverse mit der Funktion
inv(A)
berechnet und der Variablen B zugewiesen. Die Multiplikation beider Matrizen ergibt die Einheitsmatrix.
-->A=[0 1;2 4]
A =
! 0. 1. !
! 2. 4. !
-->B=inv(A) // Inverse
B =
! - 2. .5 !
! 1. 0. !
-->A*B
ans =
! 1. 0. !
! 0. 1. !
-->
Siehe auch
Literatur
- Stephen Campbell, Jean-Philippe Chancelier, Ramine Nikoukhah: Modeling and Simulation in Scilab/Scicos. 1. Auflage. Springer Verlag, Berlin 2005, ISBN 0-387-27802-8 (englisch). Die 2. Auflage vom 22. Dezember 2009 berücksichtigt auch das Einbinden von Modelica-Modellen, ISBN 978-1-4419-5526-5
- Claude Gomez, Carey Bunks, Jean-Philippe Chancelier, François Delebecque: Engineering and Scientific Computing with Scilab, mit Softwarepaket Scilab/Scicos und allen Beispielen auf CD-ROM, 1. Auflage. Birkhäuser Verlag, 1999, ISBN 3-7643-4009-6 (englisch)
- Wolfgang Polifke, Jan Kopitz: Wärmeübertragung. Grundlagen, analytische und numerische Methoden, mit Software Paket Scilab/Scicos und allen Beispielen auf CD-ROM. Pearson Studium Verlag, 1. Auflage. 2005, ISBN 3-8273-7104-X (deutsch)
- Jean-Marie Zogg: Arbeiten mit Scilab und Scicos (Scilab für numerische Berechnungen, Scicos für grafische Simulationen). HTW-Verlag, 2007, 125 Seiten, (deutsch), freier Download
- Peter Beater: Regelungstechnik und Simulationstechnik mit Scilab und Modelica: Eine beispielorientierte Einführung für Studenten und Anwender. Books on Demand, 1. Auflage, 7. Januar 2010, deutsch, ISBN 978-3-8370-5010-3
Weblinks
- Scilab-Website
- Scicos-Website
- ScicosLab-Website
- Openeering-Website, Scilab und Xcos Tutorials
- Image processing toolkit für Scilab (Scilabs Zusatzpaket „SIP“ für die Bilddatenverarbeitung)
- Arbeiten mit Scilab und Scicos. (PDF) Hochschule für Technik und Wirtschaft (HTW) Chur; umfangreiche Einführung
- Einführung in Scilab (PDF), Universität Wien
- Beispielsammlung und weitere Informationen zu Scilab Universität Wien
- Deutschsprachiges Scilab und Xcos Forum
Einzelnachweise
- https://www.scilab.org/download/scilab-2023.1.0
- The scilab Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Oktober 2018).
- scilab.org Geschichte
- ESI-Group: Acquisition of Scilab Enterprises, publisher of Scilab open source analytical computational software. Abgerufen am 1. September 2018.
- scilab.org Informationen SciRenderer
- scilab.org Informationen zu Xcos
- help.scilab.org MBLOCK: Modelica generic block Einbindung.
- scilab.org (Seite nicht mehr abrufbar, festgestellt im Dezember 2018. Suche in Webarchiven) A free Modelica compiler which enables the simulation of implicit diagrams.