WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

mbuild?!

 

smaica
Forum-Century

Forum-Century


Beiträge: 105
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2013, 11:34     Titel: mbuild?!
  Antworten mit Zitat      
Hallo,

ich habe eine ganz simple Frage und entschuldige mich jetzt schon dafür.

Ich möchte aus einigen .m files eine exe machen. Ich habe dafür eine Erklärung gefunden, die folgendermaßen funktioniert:

Schritt 1)

wähle mit mbuild einen compiler aus.

wenn ich allerdings mbuild in matlab eingebe, so ist dies kein ausführbarer Begriff, auch in der Windows-shell wurde der Befehl mbuild nicht gefunden.

Wie bringe ich mbuild und danach mcc zum laufen?

Danke,
smaica
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.06.2013, 11:41     Titel:
  Antworten mit Zitat      
Hallo,

hast du denn eine Lizenz für MATLAB Compiler?
Code:


Wenn ja, dann sollte
Code:
mbuild -setup

funktionieren.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
smaica
Themenstarter

Forum-Century

Forum-Century


Beiträge: 105
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2013, 11:44     Titel:
  Antworten mit Zitat      
Achja, ich dache ein Compiler wäre automatisch im Matlab-Paket enthalten.
Aber dem scheint nicht so, ich bekomme die Meldung:

Code:
>> ver compiler
-------------------------------------------------------------------------------------------------------
MATLAB Version: 8.1.0.604 (R2013a)

Java Version: Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
-------------------------------------------------------------------------------------------------------
Warning: No properly formatted Contents.m file was found
for 'compiler'.



Ich habe jetzt auf der Seite von mathworks einen Compiler (MCR) gefunden, den lade ich mir gerade herunter, aber ich fürchte, das ist nicht ohne zusätzliche Kosten zum Laufen zu bringen, oder?

LG
smaica

Zuletzt bearbeitet von smaica am 12.06.2013, 12:15, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 12.06.2013, 11:56     Titel:
  Antworten mit Zitat      
MCR ist nur die Runtime Umgebung und wird nicht alleine reichen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 12.06.2013, 11:59     Titel:
  Antworten mit Zitat      
Bitte die Lizenznummer aus dem Posting entfernen - soll ja nicht im Internet stehen, gell Wink

Aber ich konnte anhand der Nummer das Institut identifizieren Smile Ich bin mir sicher, dass es dort eine Netzwerklizenz gibt die auch den ML Compiler beinhaltet. Bitte mir per PN Kontaktdaten schicken und ich finde es raus.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Rev
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 02.05.11
Wohnort: ---
Version: MATLAB R2010b
     Beitrag Verfasst am: 19.11.2014, 17:38     Titel:
  Antworten mit Zitat      
Hi alle zusammen,

wie der Threadgründer, hoffe auch ich mich jetzt mit meiner Frage zu blamieren.
Zur Zeit habe ich folgendes Problem:
In einem function file berechne ich in Abhängigkeit verschiedener geometrischer Kenngrößen Seilspannungen in einem Kabelroboter für jede Position in einem Raum mit anfangs 3 und später 6 Dimensionen. Liegen die Spannungen in einem erlaubten Bereich, soll die Position als gültig markiert werden. Wenn nicht, dann als ungültig.
Wenn ich dieses function-file laufen lasse, braucht mir Matlab allerdings eeeewig um die ca. 100.000 Punkte durch zu gehen. Ich habe gehört, dass das mit Hilfe von C++ deutlich schneller gehen soll. Könnt ihr mir vllt. erklären, was ich zu beachten habe, wenn ich dieses function-file in c compilieren und starten möchte? Reicht es schon, wenn ich einfach nur

Code:
mcc -v -W lib:WFW3d5 -T link:lib WFW3d5

ausführe und dann das c-file in irgendeinem C-Compiler starte oder muss ich dafür etwas beachten?
In dem File, dass ich kompilieren möchte, werden die gültigen Positionen in einem .mat file abgespeichert. Wie funktioniert dass das mit dem .c-file?

Hoffe ihr könnt mir da etwas weiterhelfen. In dem Fall bin ich noch ein absoluter Neuling

Gruß Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 19.11.2014, 17:43     Titel:
  Antworten mit Zitat      
Der MATLAB Compiler erzeugt keinen C-Code, sondern eine Stand-Alone Anwendung, die theoretisch exakt gleich schnell ist.

Der MATLAB Coder erzeugt C Code. Ob der schneller ist? Kann sein, kann aber auch nicht sein:
Zitat:

"...MATLAB Coder converts a subset of the MATLAB language into C code. This can then be used in many different ways, including being brought back into MATLAB as a mex file, compiled with a C compiler to be called from another application, or delivered to an embedded device. Since it is C code rather than MATLAB code, it will often (though not always) run much faster than the original MATLAB code. The C code does not require the MCR. The supported subset of the MATLAB language is very extensive, but there are a few notable restrictions that you would want to look into before committing to this workflow. The code produced is C code, although it can produce a C++ wrapper if you have a need to use a C++ compiler rather than a C compiler...MATLAB Coder has other use cases, such as wanting to speed up MATLAB code by converting to a mex file, or needing to produce C code for another application or an embedded device."
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 19.11.2014, 17:47     Titel:
  Antworten mit Zitat      
Es gibt andere Möglichkeiten MATLAB Anwendungen zu beschleunigen. Z.B. paralleles und verteiltes Rechnen. Natürlich auch haben manche Programmiertechniken Vor- und Nachteile.

Wenn ich "Seilspannungen in einem Kabelroboter" lese, dann gehe ich davon aus, dass eine professionelle Lizenz mit Wartungsvertrag existiert. Schon mal beim MathWorks Support nach Beratung gefragt?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.11.2014, 19:36     Titel:
  Antworten mit Zitat      
Hallo,

zusätzlich zu Andreas' Anregungen ist Vektorisierung eine Möglichkeit. Um mehr dazu sagen zu können, müsste man allerdings den fraglichen Code sehen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Rev
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 02.05.11
Wohnort: ---
Version: MATLAB R2010b
     Beitrag Verfasst am: 20.11.2014, 16:45     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

zusätzlich zu Andreas' Anregungen ist Vektorisierung eine Möglichkeit. Um mehr dazu sagen zu können, müsste man allerdings den fraglichen Code sehen.

Grüße,
Harald


An Vektorisierung habe ich schon gedacht. Ein Punkt um das Programm zu beschleunigen ist, dass ich möglichst wenig Schleifen verwendet habe. Die sind (weil sie nicht so häufig in meinem Code vorkommen) weniger das Problem. Es liegt eher an der großen Datenmenge. Leider darf ich euch den Code nicht posten und ein wirkliches Minimalbeispiel gibt es eigentlich auch nicht wirklich, weil der Problem etwas zu groß ist.
Aber die Anregung mit dem Coder (statt dem Compiler) ist schon mal ein Schritt in die richtige Richtung. Etwas peinlich, dass ich das verdreht habe Wink.

Andreas Goser hat Folgendes geschrieben:
Es gibt andere Möglichkeiten MATLAB Anwendungen zu beschleunigen. Z.B. paralleles und verteiltes Rechnen. Natürlich auch haben manche Programmiertechniken Vor- und Nachteile.

Wenn ich "Seilspannungen in einem Kabelroboter" lese, dann gehe ich davon aus, dass eine professionelle Lizenz mit Wartungsvertrag existiert. Schon mal beim MathWorks Support nach Beratung gefragt?

Andreas


Der Roboter ist ziemlich speziell, deshalb glaube ich nicht, dass es dafür vorgefertigte Programme gibt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 20.11.2014, 17:02     Titel:
  Antworten mit Zitat      
Es geht bei der Beratung von MathWorks nicht um Verkauf, sondern Service. Technischer Support.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.11.2014, 17:40     Titel:
  Antworten mit Zitat      
Hallo,

mich verwundert die Kombination "100.000 Datenpunkte" und "eeeewig".
Was heißt denn eeeewig? Mehrere Minuten? Stunden? Tage?

Wie ist der erlaubte Bereich definiert? Über Intervalle, lineare (Un-)Gleichungen, nichtlineare (Un-)Gleichungen?

Vielleicht mal den Profiler drüberlaufenlassen. Oft sind es nur eine oder wenige Zeilen, die wirklich die meiste Zeit kosten. Dann müsstest du nur diese zur Verfügung stellen - ansonsten wird es schwierig weiter zu unterstützen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.