|
smaica |

Forum-Century
|
 |
Beiträge: 105
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.06.2013, 11:34
Titel: mbuild?!
|
 |
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
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 12.06.2013, 11:41
Titel:
|
 |
Hallo,
hast du denn eine Lizenz für MATLAB Compiler?
Wenn ja, dann sollte
funktionieren.
Grüße,
Harald
|
|
|
smaica |
Themenstarter

Forum-Century
|
 |
Beiträge: 105
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.06.2013, 11:44
Titel:
|
 |
Achja, ich dache ein Compiler wäre automatisch im Matlab-Paket enthalten.
Aber dem scheint nicht so, ich bekomme die Meldung:
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
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 12.06.2013, 11:56
Titel:
|
 |
MCR ist nur die Runtime Umgebung und wird nicht alleine reichen.
Andreas
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 12.06.2013, 11:59
Titel:
|
 |
Bitte die Lizenznummer aus dem Posting entfernen - soll ja nicht im Internet stehen, gell
Aber ich konnte anhand der Nummer das Institut identifizieren 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
|
|
|
Rev |

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 02.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2010b
|
 |
|
|
 |
|
Verfasst am: 19.11.2014, 17:38
Titel:
|
 |
|
 |
|
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
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
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 19.11.2014, 17:43
Titel:
|
 |
|
 |
|
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." |
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 19.11.2014, 17:47
Titel:
|
 |
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
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.11.2014, 19:36
Titel:
|
 |
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
|
|
|
Rev |

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 02.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2010b
|
 |
|
|
 |
|
Verfasst am: 20.11.2014, 16:45
Titel:
|
 |
|
 |
|
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 .
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.
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 20.11.2014, 17:02
Titel:
|
 |
Es geht bei der Beratung von MathWorks nicht um Verkauf, sondern Service. Technischer Support.
Andreas
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.11.2014, 17:40
Titel:
|
 |
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
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|