MATLAB Coder

 

MATLAB Coder

Generierung von C und C++ Code aus MATLAB Programmcode

Screenshot von generiertem C Code für eine Matrix-Multiplikationsoperation.

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.

Bild einer Person mit Begrenzungsrahmen über ihrem Gesicht.

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.

Bild mit einem Roboter, Mobiltelefonen, Embedded Boards und einem WLAN-Symbol.

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.

Screenshot einer App mit interaktiver Rückverfolgbarkeitsfunktion zwischen MATLAB Klassencode und generiertem C/C++ Klassencode.

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.

Screenshot des generierten C Codes, einschließlich Aufrufe von OpenMP.

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.

Folie zur Abbildung der Bildklassifizierung mithilfe von SqueezeNet, das auf Raspberry Pi bereitgestellt wird.

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®.

Screenshot einer App mit interaktiver Rückverfolgbarkeitsfunktion zwischen MATLAB Programmcode und generiertem C/C++ Code.

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.

Screenshot der MATLAB Coder-App während der Verifikation von Code für MEX-Funktionen.

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.

Algorithmen zur Fahrzeugerkennung lassen sich hierbei für Hardware-Geräte wie Grafikkarten generieren und bereitstellen.

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.

„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.