Beschreibung des Matlab-Programms. Kurze Beschreibung von MATLAB

Trotz der recht hohen Beliebtheit der MATLAB-Sprache haben die meisten Entwickler Schwierigkeiten, sowohl ihre Syntax als auch ihre Fähigkeiten zu verstehen. Tatsache ist, dass die Sprache in direktem Zusammenhang mit einem beliebten Softwareprodukt steht, dessen Kosten erstaunliche Werte erreichen können. Die Hauptfrage lautet also: Ist die Matlab-Sprache selbst so gut? Und kann es für Sie nützlich sein?

Verwendung

Beginnen wir nicht mit einem Standardausflug in die Geschichte und einer Diskussion der Vor- und Nachteile der Sprache, sondern mit der Softwareumgebung MATLAB/Simulink – dem einzigen Ort, an dem der Held dieses Textes nützlich sein kann. Stellen Sie sich einen Grafikeditor vor, in dem Sie jede Ihrer Ideen umsetzen können, ohne über mehrjährige Erfahrung und entsprechende Ausbildung zu verfügen. Und wenn Sie einmal ein Diagramm der Interaktion zwischen Tools erstellt haben, erhalten Sie ein hochwertiges Skript für die wiederholte Verwendung.

MATLAB ist ein solcher Editor in der Datenwelt. Der Anwendungsbereich ist unendlich groß: IoT, Finanzen, Medizin, Raumfahrt, Automatisierung, Robotik, drahtlose Systeme und vieles mehr. Generell gibt es nahezu unbegrenzte Möglichkeiten zur Datenerfassung und -visualisierung sowie zur Prognose, allerdings nur, wenn Sie die Möglichkeit haben, das entsprechende Paket zu erwerben.

Was den Preis angeht, gibt es nach oben fast keine Grenze, die Untergrenze liegt jedoch bei etwa 99 $. Um ein so leistungsstarkes Produkt für relativ wenig Geld zu ergattern, muss man Student sein. Und natürlich erhalten Sie ein eher limitiertes Produkt.

Merkmale der Sprache

Die MATLAB-Sprache ist ein Werkzeug, das die Interaktion zwischen einem Bediener (häufig nicht einmal einem Programmierer) mit allen verfügbaren Funktionen zum Analysieren, Sammeln und Präsentieren von Daten ermöglicht. Es hat offensichtliche Vor- und Nachteile, die für eine Sprache charakteristisch sind, die in einem geschlossenen Ökosystem lebt.

Mängel:

    Eine langsame und überladene Sprache mit Operatoren, Befehlen und Funktionen, deren Hauptzweck darin besteht, die visuelle Wahrnehmung zu verbessern.

    Eng fokussiert. Es gibt keine andere Softwareplattform, auf der MATLAB nützlich ist.

    Hohe Softwarekosten. Wenn Sie kein Student sind, machen Sie sich entweder bereit, Ihre Taschen zu leeren, oder überschreiten Sie die Grenze des Gesetzes. Und selbst wenn Sie Student sind, ist der Preis angemessen.

    Geringe Nachfrage. Trotz des großen Interesses an MATLAB in fast allen Bereichen nutzen es nur wenige tatsächlich und legal.

Vorteile:

    Die Sprache ist leicht zu erlernen und verfügt über eine einfache und verständliche Syntax.

    Riesige Möglichkeiten. Dies ist aber eher ein Vorteil des Gesamtprodukts.

    Häufige Aktualisierungen und in der Regel spürbare positive Veränderungen treten mindestens ein paar Mal im Jahr auf.

    Die Softwareumgebung ermöglicht die Konvertierung in „schnellen“ Code in C, C++.

Zielgruppe

Natürlich braucht nicht jeder MATLAB. Trotz des breiten Anwendungsspektrums ist es schwer vorstellbar, dass der durchschnittliche Anwendungsentwickler Kenntnisse dieser Sprache benötigen würde. MATLAB ist in Bereichen äußerst nützlich, die eine besonders robuste Datenverarbeitung erfordern, beispielsweise Autopilotsysteme in Automobilen oder Avioniksysteme in Flugzeugen.

Das heißt, wenn Sie kein großer Programmierer sind, Ihr Beruf aber auf die eine oder andere Weise mit dem Bedarf an programmatischer Datenverarbeitung verbunden ist, dann kann ein MATLAB/Simulink-Produkt mit der entsprechenden Sprache Ihre alltäglichen Aufgaben erheblich vereinfachen.

Literatur

Wir schließen die Überprüfung der Sprache wie immer mit einer Liste pädagogischer Literatur ab. Natürlich finden Sie darunter keine Bücher, die sich ausschließlich mit der Sprache befassen, aber das erleichtert nur die Wahrnehmung der Sprache:

Haben Sie Erfahrung mit MATLAB? Und welches?

Für diejenigen, die Programmierer werden möchten - .

Wie die meisten anderen Programmiersprachen bietet Matlab die Möglichkeit, mathematische Ausdrücke zu verwenden, aber im Gegensatz zu vielen anderen enthalten diese Ausdrücke in Matlab Matrizen. Die Hauptbestandteile des Ausdrucks:

Variablen;

Betreiber;

Funktionen.

Variablen. In Matlab ist es nicht erforderlich, Variablentyp oder -dimension zu definieren. Wenn Matlab auf einen neuen Variablennamen stößt, erstellt es automatisch die Variable und weist die entsprechende Speichermenge zu. Wenn die Variable bereits vorhanden ist, ändert Matlab ihre Zusammensetzung und weist bei Bedarf zusätzlichen Speicher zu. Zum Beispiel,

Num_ Studenten = 25

erstellt eine 1x1-Matrix mit dem Namen Num_ Studenten und speichert den Wert 25 in seinem einzigen Element.

Variablennamen bestehen aus Buchstaben, Zahlen oder Unterstrichen. Matlab verwendet nur die ersten 31 Zeichen des Variablennamens. Matlab unterscheidet zwischen Groß- und Kleinschreibung. Deshalb A Und A- nicht die gleiche Variable. Um die einer Variablen zugeordnete Matrix anzuzeigen, geben Sie einfach den Variablennamen ein.

Zahlen. Matlab verwendet das herkömmliche Dezimalzahlensystem mit optionalem Dezimalpunkt und Plus-/Minuszeichen für Zahlen. Das wissenschaftliche Zahlensystem verwendet den Buchstaben e um den Multiplikator einer Zehnerpotenz zu bestimmen. Es werden imaginäre Zahlen verwendet ich oder J als Suffix. Nachfolgend finden Sie einige Beispiele für korrekte Zahlen:

Alle Zahlen werden im Format gespeichert lang Dabei handelt es sich um Gleitkommazahlen mit begrenzter Genauigkeit – etwa 16 signifikante Stellen und einem begrenzten Bereich – von etwa 10 -308 bis 10.308.

Betreiber. Ausdrücke verwenden gewöhnliche arithmetische Operationen und Rangfolgeregeln (Tabelle 1).

Tabelle 1

Arithmetische Operationen des Matlab-Pakets

Funktionen. Matlab bietet eine große Anzahl elementarer mathematischer Funktionen wie z Abs, Quadrat, exp, Sünde. Die Berechnung der Quadratwurzel oder des Logarithmus einer negativen Zahl ist kein Fehler: In diesem Fall ist das Ergebnis die entsprechende komplexe Zahl. Matlab bietet auch komplexere Funktionen, einschließlich Gamma- und Bessel-Funktionen. Die meisten dieser Funktionen haben komplexe Argumente. Geben Sie Folgendes ein, um alle elementaren mathematischen Funktionen aufzulisten:

helfenElfenspaß

So sehen Sie eine Liste aller Matlab-Funktionen für die Datenanalyse:

helfenDatenspaß

Wenn Sie mehr darüber wissen müssen StatistikenWerkzeugkasten, eingeben:

helfenStatistiken

Die Liste der Elementarfunktionen ist in der Tabelle dargestellt. 2.

Tabelle 2

Elementare Funktionen des Matlab-Pakets

Logarithmus einer Zahl zur Basis:.

Um komplexere Mathematik- und Matrixfunktionen anzuzeigen, geben Sie Folgendes ein:

helfenspecfun

helfenelmat

jeweils.

Einige Funktionen wie Quadrat Und Sünde, - eingebaut Sie sind Teil von Matlab und daher sehr effizient, ihre Rechendetails sind jedoch schwer zugänglich. Während andere Funktionen wie Gamma Und sinh, in M-Dateien implementiert. Daher können Sie deren Code einsehen und bei Bedarf sogar ändern.

Mehrere Sonderfunktionen stellen die Werte häufig verwendeter Konstanten bereit:

Unendlich tritt auf, wenn durch Null dividiert wird oder wenn ein mathematischer Ausdruck ausgeführt wird, der zu einem Überlauf, also einer Überschreitung, führt realmax. Keine Zahl ( NaN) Wird generiert, wenn Ausdrücke wie 0/0 oder ausgewertet werden Inf/ Inf, die keine spezifische mathematische Bedeutung haben.

Funktionsnamen sind nicht reserviert, daher ist es möglich, ihre Werte in neue zu ändern, zum Beispiel:

eps = 1. e-6

klareps

Vergleichsoperatoren dienen dem Vergleich zweier Größen, Vektoren oder Matrizen, alle Vergleichsoperatoren haben zwei verglichene Größen und werden wie in der Tabelle dargestellt geschrieben. 3.

Die Namen wurden geändert, alle Übereinstimmungen sind zufällig.

Ouvertüre

Lassen Sie mich gleich sagen, dass MATLAB ein hervorragendes Werkzeug ist. Ein tolles Werkzeug, das wir missbraucht haben.

Werfen Sie einen Blick auf unser Unternehmen. Unser Tätigkeitsfeld ist Softwareentwicklung für die Industrie und vieles mehr. Das Unternehmen beschäftigt etwa 100 Mitarbeiter, und ich bin einer der Mitarbeiter in diesem Unternehmen, der Algorithmen entwickelt. Wir haben auch ein Flaggschiffprodukt, das den größten Gewinn bringt.

Das Flaggschiffprodukt ist eine Geschäftsanwendung. Es verfügt über viele Formulare und Berichte, eine eigene Datenbank und einen eigenen Rechenkern. Der Rechenkern ist in C# geschrieben, ohne dass nativer Code verwendet wird. Diese Entscheidung wurde von den Entwicklern bewusst getroffen. Parallel.For war so verlockend, aber jeder wollte C++ wie einen bösen Traum vergessen.



Wie so oft hörte die Realität nicht auf unsere Wünsche und die Geschwindigkeit von C# reichte bald nicht mehr aus. Ein weiteres Problem ist, wie sich herausstellte, dass Programmierer, egal wie gut der Code, den sie schreiben, wenig Verständnis für lineare Algebra haben.

Dann hatte unser Chefalgorithmist eine Idee. Eine Beschreibung dieser Idee und was dabei herausgekommen ist ist der Kern dieses Artikels.

Idee

Die Idee war einfach. Anstatt einem klugen Programmierer ein Gehalt zu zahlen (der in der Lage wäre, guten Code in C# zu schreiben und die Feinheiten unseres „Matan“ zu verstehen, und so etwas ist nicht leicht zu finden), können Sie zwei „halbkluge“ einstellen. Der erste wird Prototypen in MATLAB schreiben, der zweite wird die Lösung nach C# übertragen.
MATLAB wurde in diesem Fall als Werkzeug zur Dokumentation des Algorithmus vorgestellt. Diese Lösung hatte folgende Vorteile:

  • MATLAB ist eine einfache Sprache, die ein erfahrener Programmierer an einem Tag erlernen kann
  • Alle Mathematiker schreiben in MATLAB

Es ist erwähnenswert, dass früher Mathcad, UML-Diagramme und sogar nur ein Blatt Papier zur Dokumentation des Algorithmus verwendet wurden.

Sie argumentierten mit der Idee, sie wurde jedoch nicht akzeptiert. Aber am Ende überzeugte der Chefalgorithmist alle und es entstand ein Team von Algorithmen, die in Matlab schreiben. Auch ich bin diesem Team beigetreten. Zu unserem Team gehörte auch ein Programmierer aus dem Kreis der Entwickler, der unsere Matlab-Übungen bedenkenlos auf C# übertragen sollte.

Ich stelle fest, dass es neben Vorschlägen, diese Idee aufzugeben, auch einen Vorschlag gab, zumindest Python + Numpy zu verwenden. Schon allein deshalb, weil niemand nennenswerte Erfahrung mit der Entwicklung in MATLAB hatte (ich habe früher in Python und R geschrieben, der Rest waren Mathematiker und Ingenieure, die MATLAB als fortgeschrittenen Rechner verwendeten). Die Vorschläge wurden, wie Sie verstehen können, abgelehnt.

Ein Jahr ist vergangen...

Ein Jahr ist vergangen und nun können wir einige Ergebnisse zusammenfassen:

  • Mathematiker wissen nicht, wie man Code schreibt. Und sie selbst können die Nudeln, die aus ihrem Stift kommen, nicht verstehen. Es gibt keine spezifischen Kenntnisse, keine Erfahrung, keine Programmierkultur
  • Da wir Diagramme und Mathcad aufgegeben haben, wollten wir für unsere MATLAB-Programme echte Datenquellen verwenden. Daher haben wir viel Zeit damit verbracht, einen Teil der Funktionalität des Flagship-Produkts auf Matlab zu duplizieren
  • Während wir programmierten, blieb keine Zeit, an der eigentlichen Arbeit zu arbeiten Algorithmus es war wenig übrig
  • MATLAB ist nicht für die Entwicklung großer Programme geeignet. Zumindest passt es uns nicht. Dynamisches, schwaches Tippen, langsame Schleifen, sehr, sehr langsames OOP (so sehr, dass ich teilweise auf die Verwendung von OOP verzichten musste), unvollständige Unterstützung für spärliche Matrizen
  • Code von MATLAB nach C# zu portieren ist nicht einfach. Noch schwieriger ist es, Refactorings und Optimierungen rückzuportieren
Daher können wir im Voraus nicht abschätzen, wie lange die Implementierung einer bestimmten Funktion dauern wird. Eine Woche oder vielleicht einen Monat?

Statt einer Schlussfolgerung

Ganz am Anfang des Artikels habe ich ein wenig gelogen, weil... Die Geschichte geht bis heute weiter. Wir schreiben weiterhin in MATLAB, unser Code wird weiterhin nach C# übertragen. Allerdings sind sich mittlerweile alle einig, dass die Idee des Chefalgorithmus Mängel aufweist. Aber es ist zu spät, etwas zu ändern.

Inzwischen beginnen sie über eine zusätzliche Umkodierung von Lösungen von MATLAB nach C++ zu sprechen ...

    Hauptmerkmale des PaketsMatlab

    Paket-Tool-SetsMatlab

    Struktur und Arbeitsfenster des PaketsMatlab

    Arbeiten im Teammodus

    Grundelemente einer ProgrammierspracheMatlab

1. Hauptfunktionen des Matlab-Pakets

MATLAB(kurz für „Matrix Laboratory“) ist ein Paket von Anwendungsprogrammen zur Lösung technischer Rechenprobleme und der in diesem Paket verwendeten gleichnamigen Programmiersprache. MATLAB wird von mehr als 1.000.000 Ingenieuren und Wissenschaftlern verwendet und läuft auf den meisten modernen Betriebssystemen, darunter Linux, Mac OS, Solaris (Solaris wird ab R2010b nicht mehr unterstützt) und Microsoft Windows.

Geschichte. MATLAB als Programmiersprache wurde Ende der 1970er Jahre von Cleve Moler entwickelt, als er Dekan der Informatikabteilung der University of New Mexico war. Ziel der Entwicklung war es, Studierenden der Fakultät die Möglichkeit zu geben, die Softwarebibliotheken Linpack und EISPACK zu nutzen, ohne Fortran studieren zu müssen. Die neue Sprache verbreitete sich bald auch an anderen Universitäten und stieß auf großes Interesse bei Wissenschaftlern, die auf dem Gebiet der angewandten Mathematik tätig waren. Eine 1982 in Fortran geschriebene Version, die als Open Source vertrieben wird, ist immer noch im Internet zu finden. Der Ingenieur John N. (Jack) Little lernte die Sprache während Cleve Mowlers Besuch an der Stanford University im Jahr 1983 kennen. Als er erkannte, dass die neue Sprache großes kommerzielles Potenzial hatte, schloss er sich mit Cleve Mowler und Steve Bangert zusammen. Gemeinsam schrieben sie MATLAB in C um und gründeten 1984 die Firma The MathWorks, um es weiterzuentwickeln. Diese in C umgeschriebenen Bibliotheken waren lange Zeit unter dem Namen JACKPAC bekannt. MATLAB war ursprünglich für den Entwurf von Steuerungssystemen gedacht (John Littles Spezialgebiet), erfreute sich jedoch schnell auch in vielen anderen wissenschaftlichen und technischen Bereichen großer Beliebtheit. Es wird auch häufig im Bildungsbereich eingesetzt, insbesondere für den Unterricht in linearer Algebra und numerischen Methoden.

Beschreibung der MATLAB-Sprache. Die MATLAB-Sprache ist auf hohem Niveau interpretierte Programmiersprache, einschließlich derjenigen, die darauf basieren Matrizen Datenstrukturen, ein großer Funktionsumfang, eine integrierte Entwicklungsumgebung, objektorientierte Fähigkeiten und Schnittstellen zu Programmen, die in anderen Programmiersprachen geschrieben sind.

Es gibt zwei Arten von in MATLAB geschriebenen Programmen: Funktionen Und Skripte.

Funktionen verfügen über Eingabe- und Ausgabeargumente sowie einen eigenen Arbeitsbereich zum Speichern von Berechnungszwischenergebnissen und Variablen.

Skripte verwenden einen gemeinsamen Arbeitsbereich. Sowohl Skripte als auch Funktionen werden nicht in Maschinencode kompiliert und als Textdateien gespeichert.

Es ist auch möglich, sog. zu speichern vorab analysiert Programme – Funktionen und Skripte, die in einer für die Maschinenausführung geeigneten Form verarbeitet werden. Im Allgemeinen laufen solche Programme schneller als normale, insbesondere wenn die Funktion Grafikbefehle enthält.

Das Hauptmerkmal der MATLAB-Sprache sind ihre umfangreichen Möglichkeiten für die Arbeit mit Matrizen, was die Erfinder der Sprache mit dem Slogan „vektoriell denken“ zum Ausdruck brachten. Denken vektorisiert).

Anwendung von MATLAB.

Mathematik und Berechnungen. MATLAB stellt dem Benutzer eine Vielzahl (mehrere Hundert) Funktionen zur Datenanalyse zur Verfügung, die nahezu alle Bereiche der Mathematik abdecken, insbesondere:

    Matrizen und lineare Algebra – Matrixalgebra, lineare Gleichungen, Eigenwerte und Vektoren, Singularitäten, Matrixfaktorisierung und andere.

    Polynome und Interpolation – Wurzeln von Polynomen, Operationen an Polynomen und deren Differenzierung, Interpolation und Extrapolation von Kurven und andere.

    Mathematische Statistik und Datenanalyse – statistische Funktionen, statistische Regression, digitale Filterung, schnelle Fourier-Transformation und andere.

    Datenverarbeitung – eine Reihe spezieller Funktionen, einschließlich Plotten, Optimierung, Nullpunktsuche, numerische Integration (in Quadraturen) und andere.

    Differentialgleichungen – Lösen von Differentialgleichungen und Differentialalgebraischen Gleichungen, Verzögerungsdifferentialgleichungen, eingeschränkten Gleichungen, partiellen Differentialgleichungen und anderen.

    Sparse-Matrizen sind eine spezielle Datenklasse des MATLAB-Pakets, die in speziellen Anwendungen verwendet wird.

    Ganzzahlige Arithmetik – Durchführen ganzzahliger arithmetischer Operationen in MATLAB.

Entwicklung von Algorithmen. MATLAB bietet praktische Werkzeuge zum Entwickeln von Algorithmen, einschließlich High-Level-Algorithmen, unter Verwendung objektorientierter Programmierkonzepte. Es verfügt über alle notwendigen Tools einer integrierten Entwicklungsumgebung, einschließlich eines Debuggers und Profilers. Funktionen zum Arbeiten mit ganzen Datentypen erleichtern bei Bedarf die Erstellung von Algorithmen für Mikrocontroller und andere Anwendungen.

Datenvisualisierung. Das MATLAB-Paket verfügt über zahlreiche Funktionen zum Erstellen von Diagrammen, einschließlich dreidimensionaler Diagramme, zur visuellen Datenanalyse und zum Erstellen animierter Videos.

Die eingebettete Entwicklungsumgebung ermöglicht Ihnen die Erstellung grafischer Benutzeroberflächen mit verschiedenen Steuerelementen wie Schaltflächen, Eingabefeldern und anderen.

Unabhängige Anwendungen. MATLAB-Programme, sowohl Konsolen- als auch GUI-Programme, können mithilfe von Komponenten kompiliert werden MATLAB-Compiler in MATLAB-unabhängige ausführbare Anwendungen oder dynamische Bibliotheken, die jedoch die Installation einer frei verteilbaren Umgebung erfordern, um auf anderen Computern ausgeführt zu werden MATLAB-Compiler-Laufzeit(MCR).

Externe Schnittstellen. MATLAB umfasst verschiedene Schnittstellen für den Zugriff auf externe Routinen, die in anderen Programmiersprachen geschrieben sind, Daten, Clients und Server, die über Component Object Model- oder Dynamic Data Exchange-Technologien kommunizieren, sowie Peripheriegeräte, die direkt mit MATLAB kommunizieren. Viele dieser Funktionen sind als MATLAB-API bekannt.

COM. MATLAB bietet Zugriff auf Funktionen, mit denen Sie COM-Objekte (sowohl Clients als auch Server) erstellen, bearbeiten und löschen können. Auch die ActiveX-Technologie wird unterstützt. Alle COM-Objekte gehören zu einer speziellen COM-Klasse des MATLAB-Pakets. Alle Programme, die über Autoverfügen (Englisch) Automatisierung Regler) kann als Automatisierungsserver auf MATLAB zugreifen. Automatisierung Server).

.NETZ. MATLAB unter Microsoft Windows bietet Zugriff auf das .NET Framework. Es ist möglich, .NET-Assemblys zu laden und mit .NET-Klassenobjekten aus der MATLAB-Umgebung zu arbeiten. MATLAB Version 7.11 (R2010b) unterstützt die .NET Framework-Versionen 2.0, 3.0, 3.5 und 4.0.

DDE. MATLAB enthält Funktionen, die den Zugriff auf andere Windows-Anwendungen und den Zugriff dieser Anwendungen auf MATLAB-Daten über die Dynamic Data Exchange (DDE)-Technologie ermöglichen. Jede Anwendung, die ein DDE-Server sein kann, verfügt über einen eigenen eindeutigen Identifikationsnamen. Für MATLAB lautet dieser Name - Matlab.

Internetdienste. In MATLAB ist es möglich, Webservice-Methoden aufzurufen. Die benutzerdefinierte Funktion erstellt eine Klasse basierend auf den Webdienst-API-Methoden.

MATLAB interagiert mit dem Webdienst-Client, indem es Nachrichten von ihm entgegennimmt, verarbeitet und eine Antwort sendet. Die folgenden Technologien werden unterstützt: Simple Object Access Protocol (SOAP) und Web Services Description Language (WSDL).

COM-Port. Die serielle Schnittstelle von MATLAB bietet direkten Zugriff auf Peripheriegeräte wie Modems, Drucker und wissenschaftliche Geräte, die über eine serielle Schnittstelle (COM-Port) mit einem Computer verbunden sind. Die Schnittstelle erstellt ein spezielles Klassenobjekt für den seriellen Port. Mit den verfügbaren Methoden dieser Klasse können Sie Daten an einer seriellen Schnittstelle lesen und schreiben, Ereignisse und Ereignishandler verwenden und Informationen in Echtzeit auf die Computerfestplatte schreiben. Dies ist bei der Durchführung von Experimenten, der Simulation von Echtzeitsystemen und für andere Anwendungen erforderlich.

MEX-Dateien. Das MATLAB-Paket enthält eine Schnittstelle für die Interaktion mit externen Anwendungen, die in C und Fortran geschrieben sind. Diese Interaktion wird über MEX-Dateien durchgeführt. Es ist möglich, in C oder Fortran geschriebene Routinen von MATLAB aus aufzurufen, als wären sie integrierte Funktionen des Pakets. MEX-Dateien sind dynamische Linkbibliotheken, die vom in MATLAB integrierten Interpreter geladen und ausgeführt werden können. MEX-Prozeduren haben auch die Möglichkeit, integrierte MATLAB-Befehle aufzurufen.

DLL. Mit der generischen MATLAB-DLL-Schnittstelle können Sie Funktionen aus gängigen Dynamic-Link-Bibliotheken direkt aus MATLAB aufrufen. Diese Funktionen müssen über eine C-Schnittstelle verfügen.

Darüber hinaus verfügt MATLAB über die Möglichkeit, über eine C-Schnittstelle auf seine integrierten Funktionen zuzugreifen, wodurch die Funktionen des Pakets in externen, in C geschriebenen Anwendungen verwendet werden können. Diese Technologie wird in MATLAB aufgerufen C-Motor.

Alternative Pakete. Es gibt eine große Anzahl von Softwarepaketen zur Lösung numerischer Analyseprobleme. Viele dieser Pakete sind freie Software.

Kompatibel mit MATLAB auf Programmiersprachenebene:

Ähnlich in der Funktionalität:

    APL und seine Nachkommen: zum Beispiel J

    Python implementiert bei Verwendung mit dem Python(x,y)-Softwarepaket sowie mit Bibliotheken wie NumPy, SciPy und matplotlib ähnliche Funktionen.

    IDL (Englisch) Interaktiv Daten Sprache, eine interaktive Datenbeschreibungssprache), einst ein kommerzieller Konkurrent von MATLAB, bleibt heute in vielen Anwendungsbereichen ein ernstzunehmender Konkurrent, obwohl sein Marktanteil bei numerischer Analysesoftware stark zurückgegangen ist.

    Fortress, eine von Sun Microsystems entwickelte Programmiersprache, ist ein Nachkomme von Fortran, ist jedoch nicht mit dieser kompatibel.

    Wenn große Projekte zur numerischen Analyse entwickelt werden müssen, können allgemeine Programmiersprachen verwendet werden, die statische Typisierung und modulare Struktur unterstützen. Beispiele hierfür sind Modula-3, Haskell, Ada, Java. In diesem Fall empfiehlt es sich, auf spezialisierte Bibliotheken zurückzugreifen, die im wissenschaftlichen und technischen Umfeld bekannt sind.

2. Matlab-Toolboxen

In Matlab kommt den sogenannten speziellen Programmgruppen eine wichtige Rolle zu Werkzeugkästen. Toolboxen sind eine umfassende Sammlung von Funktionen (M-Dateien), die in MATLAB geschrieben wurden, um eine bestimmte Klasse von Problemen zu lösen. Mathworks stellt Toolkits bereit, die in vielen Bereichen verwendet werden, darunter in den folgenden:

    Digitale Signal-, Bild- und Datenverarbeitung: DSP-Toolbox, Bildverarbeitungs-Toolbox, Wavelet-Toolbox, Kommunikations-Toolbox, Filterdesign-Toolbox- Funktionssätze, die die Lösung einer Vielzahl von Problemen der Signal- und Bildverarbeitung, des Entwurfs digitaler Filter und Kommunikationssysteme ermöglichen.

    Kontroll systeme: Toolbox für Steuerungssysteme, µ-Analyse- und Synthese-Toolbox, Robuste Steuerungs-Toolbox, Systemidentifikations-Toolbox, LMI-Steuerungs-Toolbox, Modellprädiktive Steuerungs-Toolbox, Modellbasierte Kalibrierungs-Toolbox- Funktionssätze, die die Analyse und Synthese dynamischer Systeme, den Entwurf, die Modellierung und die Identifizierung von Steuerungssystemen erleichtern, einschließlich moderner Steuerungsalgorithmen wie robuste Steuerung, H∞-Steuerung, LMN-Synthese, µ-Synthese und andere.

    Die Finanzanalyse: GARCH-Toolbox, Fixed-Income-Toolbox, Toolbox für Finanzzeitreihen, Toolbox für Finanzderivate, Finanz-Toolbox, Datafeed-Toolbox- Funktionssätze, mit denen Sie verschiedene Finanzinformationen schnell und effizient sammeln, verarbeiten und übermitteln können.

    Analyse und Synthese geografischer Karten, auch dreidimensionaler: Mapping-Toolbox.

    Sammlung und Analyse experimenteller Daten: Datenerfassungs-Toolbox, Bilderfassungs-Toolbox, Instrumentensteuerungs-Toolbox, Link für Code Composer Studio- Funktionssätze, mit denen Sie während Experimenten gewonnene Daten speichern und verarbeiten können, auch in Echtzeit. Unterstützt wird eine breite Palette wissenschaftlicher und technischer Messgeräte.

    Visualisierung und Präsentation von Daten: Virtual-Reality-Toolbox- ermöglicht die Erstellung interaktiver Welten und die Visualisierung wissenschaftlicher Informationen mithilfe von Virtual-Reality-Technologien und der VRML-Sprache.

    Entwicklungswerkzeuge: MATLAB Builder für COM, MATLAB Builder für Excel, MATLAB Builder für NET, MATLAB-Compiler, Filterdesign HDL-Codierer- Funktionssätze, mit denen Sie unabhängige Anwendungen aus der MATLAB-Umgebung erstellen können.

    Interaktion mit externen Softwareprodukten: MATLAB-Berichtsgenerator, Excel-Link, Datenbank-Toolbox, MATLAB-Webserver, Link für ModelSim- Funktionssätze, mit denen Sie Daten so speichern können, dass andere Programme damit arbeiten können.

    Datenbank: Datenbank-Toolbox- Tools für die Arbeit mit Datenbanken.

    Naturwissenschafts- und Mathematikpakete: Bioinformatik-Toolbox, Kurvenanpassungs-Toolbox, Festkomma-Toolbox, Fuzzy-Logic-Toolbox, Genetischer Algorithmus und Direktsuch-Toolbox, OPC-Toolbox, Optimierungs-Toolbox, Partielle Differentialgleichungs-Toolbox, Spline-Toolbox, Statistik-Toolbox, RF-Toolbox- Sätze spezialisierter mathematischer Funktionen, die die Lösung eines breiten Spektrums wissenschaftlicher und technischer Probleme ermöglichen, einschließlich der Entwicklung genetischer Algorithmen, der Lösung partieller Ableitungsprobleme, ganzzahliger Probleme, Systemoptimierung und anderer.

    Neuronale Netze: Toolbox für neuronale Netze- Werkzeuge zur Synthese und Analyse neuronaler Netze.

    Fuzzy-Logik: Fuzzy-Logic-Toolbox- Werkzeuge zum Konstruieren und Analysieren von Fuzzy-Sets.

    Symbolische Berechnungen: Symbolische Mathematik-Toolbox- Werkzeuge für symbolische Berechnungen mit der Möglichkeit, mit dem symbolischen Prozessor des Maple-Programms zu interagieren.

Zusätzlich zu den oben genannten gibt es Tausende anderer MATLAB-Toolkits, die von anderen Unternehmen und Enthusiasten geschrieben wurden.



In Verbindung stehende Artikel: