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

Rechenzeit bestimmen

 

ulrich
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 25.03.13
Wohnort: Bingen
Version: ---
     Beitrag Verfasst am: 25.03.2013, 16:54     Titel: Rechenzeit bestimmen
  Antworten mit Zitat      
Hi,
kannst du mir bitte helfen?
ich habe ein großes Model mit viele Teilmodells und ein Matlab Embedded Code.
weisst du wie ich die Laufzeit die Matlab Embedded Code messen

und die Laufzeit ein Simulink Modell messen kann?

danke
Ulrich

1.PNG
 Beschreibung:

Download
 Dateiname:  1.PNG
 Dateigröße:  133.68 KB
 Heruntergeladen:  859 mal
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Harald
Forum-Meister

Forum-Meister


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

ich würde den Simulink Profiler versuchen.
http://www.mathworks.de/de/help/sim.....ing-performance-data.html

Eine alternative Möglichkeit wäre, an den Anfang der Funktion
Code:

und am Ende
Code:

zu schreiben. Dann t als Blockausgang zurückgeben und die t aufsummieren. Das klappt aber wohl nur bei fester Schrittweite.

Bitte Anfragen zukünftig gleich ins Forum posten, und bitte einmal und nicht vier Mal!

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 25.03.13
Wohnort: Bingen
Version: ---
     Beitrag Verfasst am: 08.04.2013, 15:12     Titel:
  Antworten mit Zitat      
ich habe probiert so zu messen aber ich bekomme ein fehler , ich weiss nicht wie ich das beheben kann.
Code:

for i = 0:2
    set_param('MotionControl', 'StopFcn', 'myStopFcn','StartTime', '0.0', 'StopTime', '10', 'SimulationCommand', 'start');
    t = cputime;
    if get_param('MotionControl/MCA', 'SimulationStatus') == 'Stopped'
        t1 = cputime - t;
        disp(t1);
        break;
    end
end

% fehler
% SubSystem block does not have a parameter named 'SimulationStatus'
 
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2013, 15:50     Titel:
  Antworten mit Zitat      
Edit
Ziehe mein Einwand zurück .... geht anscheinend.


PS: Nimm Simulation Status von MotionControl.

Zuletzt bearbeitet von knilumis_baltaM am 08.04.2013, 16:00, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
ulrich
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 25.03.13
Wohnort: Bingen
Version: ---
     Beitrag Verfasst am: 08.04.2013, 15:59     Titel:
  Antworten mit Zitat      
ich bekomme trotzdem die selbe fehler meldung
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2013, 16:03     Titel:
  Antworten mit Zitat      
Also

Code:
if get_param('MotionControl', 'SimulationStatus') == 'Stopped'


geht auch nicht?
Private Nachricht senden Benutzer-Profile anzeigen
 
ulrich
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 25.03.13
Wohnort: Bingen
Version: ---
     Beitrag Verfasst am: 08.04.2013, 16:06     Titel:
  Antworten mit Zitat      
doch aber ich will MCA teil modell von MotionControl messen.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.04.2013, 18:44     Titel:
  Antworten mit Zitat      
Hallo,

bezogen auf die tic-toc - Geschichte: das soll in den Code der Embedded MATLAB Function.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 25.03.13
Wohnort: Bingen
Version: ---
     Beitrag Verfasst am: 09.04.2013, 08:36     Titel:
  Antworten mit Zitat      
tic-toc funktioniert nicht im Embedded Matlab Funktion leider.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.04.2013, 08:49     Titel:
  Antworten mit Zitat      
Hallo,

was heißt "funktioniert nicht"?
Bekommst du Fehlermeldungen? Welche?

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 25.03.13
Wohnort: Bingen
Version: ---
     Beitrag Verfasst am: 09.04.2013, 08:58     Titel:
  Antworten mit Zitat      
fehler meldung

% Function 'tic' is not supported for code generation. Consider using coder.extrinsic('tic') to bypass code generation.

Function 'MATLAB Function' (#51.227.230), line 3, column 5:
"tic"
Launch diagnostic report.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
cybbi
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 84
Anmeldedatum: 23.08.11
Wohnort: ---
Version: Alle
     Beitrag Verfasst am: 09.04.2013, 09:31     Titel:
  Antworten mit Zitat      
So funktionierts:

Code:
coder.extrinsic('tic','toc');

tic;
% Hier dein Code, den du messen möchtest
toc
Private Nachricht senden Benutzer-Profile anzeigen
 
ulrich
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 25.03.13
Wohnort: Bingen
Version: ---
     Beitrag Verfasst am: 09.04.2013, 09:37     Titel:
  Antworten mit Zitat      
ich bekomme so viel zeiten.

Code:

..............................
Elapsed time is 2378.100963 seconds.
Elapsed time is 2378.101075 seconds.
Elapsed time is 2378.101186 seconds.
Elapsed time is 2378.101298 seconds.
Elapsed time is 2378.101408 seconds.
Elapsed time is 2378.101534 seconds.
Elapsed time is 2378.101644 seconds.
Elapsed time is 2378.101753 seconds.
Elapsed time is 2378.101863 seconds.
Elapsed time is 2378.101970 seconds.
Elapsed time is 2378.102077 seconds.
Elapsed time is 2378.102183 seconds.
Elapsed time is 2378.102290 seconds.
Elapsed time is 2378.102397 seconds.
Elapsed time is 2378.102505 seconds.
Elapsed time is 2378.102611 seconds.
Elapsed time is 2378.102769 seconds.
Elapsed time is 2378.102879 seconds.
Elapsed time is 2378.102989 seconds.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
cybbi
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 84
Anmeldedatum: 23.08.11
Wohnort: ---
Version: Alle
     Beitrag Verfasst am: 09.04.2013, 09:38     Titel:
  Antworten mit Zitat      
Das liegt daran, weil der Block ja auch in jedem Simulationsschritt berechnet wird. Deswegen kriegst du pro Simulationsschritt natürlich auch einmal die Ausgabe.
Private Nachricht senden Benutzer-Profile anzeigen
 
ulrich
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 25.03.13
Wohnort: Bingen
Version: ---
     Beitrag Verfasst am: 09.04.2013, 09:46     Titel:
  Antworten mit Zitat      
Ja und wie kann ich die gesamte Rechenzeit bekommen?
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2, 3  Weiter

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