MATLAB Coder generiert aus MATLAB Programmcode C und C++ Code für eine Reihe unterschiedlicher Hardwareplattformen, – von Desktop-Systemen bis hin zu Embedded Hardware. Er unterstützt einen Großteil der MATLAB-Sprache und eine große Auswahl von Toolboxen. Sie können den generierten Code als Quellcode, statische Bibliotheken oder dynamische Bibliotheken in Ihre Projekte integrieren. Der generierte Code ist lesbar und plattformunabhängig. Sie können ihn mit zentralen Teilen Ihres bestehenden C und C++ Codes und Bibliotheken kombinieren. Sie können den generierten Code auch als MEX-Funktion zur Verwendung in MATLAB paketieren.
Beim Einsatz mit Embedded Coder bietet MATLAB Coder Code-Anpassungen, zielspezifische Optimierungen, Code-Rückverfolgbarkeit sowie Verifikation mit Software-in-the-Loop (SIL) und Processor-in-the-Loop-(PIL).
Um MATLAB-Programme als eigenständig ausführbare Anwendungen bereitzustellen, verwenden Sie den MATLAB Compiler. Zum Erstellen von Softwarekomponenten für die Integration in andere Programmiersprachen eignet sich das MATLAB Compiler SDK.
Ausführung in jeder Umgebung
Verwenden Sie einen beliebigen C/C++ Compiler, um Ihren generierten Code zu kompilieren und auf jeder beliebigen Hardware auszuführen, von Desktop-Systemen über mobile Geräte bis zu Embedded Hardware. Der generierte Code ist lizenzgebührenfrei – Sie können ihn Ihren Kunden für kommerzielle Anwendungen kostenlos zur Verfügung stellen.
Verwendung von Funktionen aus Toolboxen
Verwenden Sie die MATLAB Coder-App oder entsprechende Befehlszeilenfunktionen, um Code für Ihre Signalverarbeitungs-, Computer-Vision-, Deep-Learning-, Regelungssystem- oder sonstigen Anwendungen mit MATLAB- und Simulink-Produkten zu generieren.
Prototyping auf Embedded Hardware
Mit der automatischen Konvertierung Ihres Algorithmus nach C/C++ erreichen Sie schnell das Hardwarestadium. Nutzen Sie jedes gewünschte Zielgerät, indem Sie den generierten Code manuell in Ihre Anwendung integrieren. Automatisieren Sie den Prozess für Raspberry Pi mit dem MATLAB Support Package for Raspberry Pi.
Bereitstellen von C++ Code aus MATLAB
Generieren Sie C++ Klassen aus Klassen in Ihrem MATLAB Programmcode, einschließlich Wertklassen, Handle-Klassen und system objects. Kompilieren Sie den generierten Code in C++ Bibliotheken oder ausführbare Dateien und integrieren Sie diese in Ihren vorhandenen C++ Quellcode.
Optimierung von generiertem Code
Generieren Sie Multicore OpenMP-Code und rufen Sie optimierte Bibliotheken wie LAPACK, BLAS und FFTW auf. Verwenden Sie Embedded Coder zur Generierung von prozessorspezifischem intrinsischem Code, der schneller ausgeführt werden kann als herkömmlicher ANSI/ISO C/C++ Code.
Deep Learning-Netze und Machine Learning-Modelle einsetzen
Stellen Sie verschiedene trainierte Netze wie beispielsweise ResNet-50, MobileNet-v2, SVM-Modelle (Support-Vektor-Maschine) und Entscheidungsbaum-Modelle zusammen mit Vorverarbeitungs- und Nachverarbeitungslogik auf jeder beliebigen CPU bereit, einschließlich Chips auf Basis von Intel® und ARM® Cortex®.
Integration in Software
Sie können MATLAB-Algorithmen in Form von C/C++ Quellcode oder Bibliotheken in Ihrer Softwareumgebung wiederverwenden. Der generierte Code verwendet C/C++ Typen auf natürliche Weise und vereinfacht so die Integration in externen Code. Rufen Sie automatisch vertrauenswürdigen C/C++ Code aus dem generierten Code auf.
Wiederverwendung von MATLAB-Tests in generiertem Code
Sie können vorhandene MATLAB-Tests wiederverwenden, um das Verhalten von generiertem Code in der interaktiven MATLAB-Umgebung zu verifizieren. Mit dem MATLAB Unit Testing Framework können Sie schnell einen umfangreichen Satz an Regressionstests entwickeln, mit denen der generierte C Code verifiziert werden kann.
Beschleunigen von Algorithmen
Rufen Sie generierten Code in Form von MEX-Funktionen über Ihren MATLAB Programmcode auf, um die Ausführung zu beschleunigen. Mittels Profiling von generierten MEX-Funktionen können Sie Engpässe identifizieren und gezielt optimieren.
Produktressourcen:
„Mit MATLAB, MATLAB Coder und Fixed-Point Designer konnte unser kleines Team einen komplexen Echtzeit-Signalverarbeitungsalgorithmus entwickeln, ihn optimieren, um den Strom- und Speicherbedarf zu reduzieren, die Implementierung von Embedded Code beschleunigen und die für die Validierung von Medizinprodukten erforderlichen strengen Tests durchführen.“
Kostenlose Testversion anfordern
30 Tage kostenlos ausprobieren.
Weitere Informationen anfordern
Lassen Sie uns wissen, wie wir Ihnen helfen können.