matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabCode beschleunigen
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Informatik • Physik • Technik • Biologie • Chemie
Forum "Matlab" - Code beschleunigen
Code beschleunigen < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Code beschleunigen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:07 Do 06.09.2007
Autor: MatLab-Fred

Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:
http://www.gomatlab.de/code-beschleunigen-t238.html

Hallo zusammen,

ich habe ein sehr umfangreiches Programm in Matlab geschrieben und aus Gründen der Übersichtlichkeit ist der Code in viele einzelne M-Files aufgeteilt. Leider ist das Programm noch sehr langsam und ich würde es gern beschleunigen.

Meine Frage deshalb: Bringt es etwas die Codes der einzelnen M-Files in einen "endlos"-Code und ein M-File umzuwandeln? (Geht das überhaupt, wenn ich mit Klassen ("@Ordner") arbeite?

Oder ist es sinnvoller das Programm zu compilieren und wenn ja, wie mache ich das am besten wenn ich ich nicht die Namen aller Files (ca. 300) einzeln angeben will?

wie hier: mcc [-options] mfile1 [mfile2 ... mfileN]


gruß
Fred

        
Bezug
Code beschleunigen: Antwort
Status: (Antwort) fertig Status 
Datum: 18:27 Do 06.09.2007
Autor: nschlange

Hi,

nur ein paar Ideen:
- Code vektorisieren
- Speicher preallokieren
- Prüfen, ob Beschleunigung nötig ist.

Rufst Du die m-Files mehrmal auf? Dann kann es sinnvoll sein,
Funktionen statt einfachen Skripten zu verwenden, denn diese
müssen nur einmal geladen werden.

Ich glaube, es gibt von Mathworks ein tech note
"How do I vectorize my code?"
Da standen ein paar Tricks drin.

Aber 300 m-Files sind ja nicht wenig.
Was machst Du denn da für Berechnungen?
Vielleicht sind die ja einfach langsam.
Mit tic und toc kannst Du feststellen, wie lang
ein Stück Code braucht.

Viele Grüße

Bezug
        
Bezug
Code beschleunigen: Antwort
Status: (Antwort) fertig Status 
Datum: 04:41 Do 13.09.2007
Autor: MatthiasKr

Hi,
noch ein weiterer tip:
benutze den matlab profiler, um eventuelle schwachstellen deines codes zu identifizieren. manchmal kann eine kleine unachtsamkeit/ungeschickte programmierung dazu fuehren, die performance komplett zu ruinieren, das weiss ich aus eigener erfahrung...

Falls bestimmte module schlecht in matlab zu optimieren sind, lohnt es sich eventuell, diese als externe MEX funktion in C zu implementieren.

vg
matthias

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]