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

Zeitmessung bei dem Bubblesortalgorithmus

 

TheKraken

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.05.2015, 17:35     Titel: Zeitmessung bei dem Bubblesortalgorithmus
  Antworten mit Zitat      
Ich habe den Bubblesortalgorithmus in Matlab umgesetzt nun will ich auch die Laufzeit dieses Algorithmuses mithilfe "tic toc" bestimmen.


Code:
function x = bubblesort1(x)

A= rand(10,1);
disp(A)
n=length(A);

for j=1:1:n-1
   
    for i=1:1:n-1
    if A(i)>A(i+1);
       
        temp=A(i);
        A(i)=A(i+1);
        A(i+1)=temp;
    end
    end
end

Die Frage ist ich muss eine neue Funktion schreiben mit der ich diese Aufrufe und die Laufzeit bestimme. Aber wie geht das? Sad


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 03.05.2015, 17:40     Titel:
  Antworten mit Zitat      
Vor und nach dem Funktionsaufruf z.B. im Command Window oder eines anderes m-files rufst du den Timer auf.

Code:

x = [1 3 4 11 7 9 5 ...]
tic
x = bubblesort1(x)
toc
 


Die Funktion bubblesort1 muss natürlich bekannt sein, also als bubblesort1.m (m-file) abgespeichert sein.

Wozu wird aber der Funktion eine Variable x übergeben, wenn sie dann nicht genutzt wird? Das x ist doch eigentlich dein A Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
TheKraken

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.05.2015, 17:46     Titel:
  Antworten mit Zitat      
Danke für die schnelle Hilfe. Aber ich komm einfach mit dem ganzen nicht klar.

Binden Sie die erstellte Sortierbibliothek mittels der MATLAB Funktionen addpath( ... )
und genpath( ... ) ein.
3. Erstellen Sie 25 Zufallsvektoren mit einer Länge zwischen 1 und 10000. Benutzen Sie hierzu
die aus der Zentralübung bekannten Funktionen rand( ... ) und logspace( ... ).
4. Messen Sie die Laufzeit der beiden Algorithmen für jeden der Vektoren. Benutzen Sie hierzu
die aus der Zentralübung bekannten MATLAB Befehle tic und toc.
5. Stellen Sie die Laufzeiten in Abhängigkeit der Vektorlänge graphisch in einem Diagramm
da. Benutzen Sie hierzu die aus der Zentralübung bekannten Funktionen plot( ... ) und
loglog( ... ).
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 03.05.2015, 19:09     Titel:
  Antworten mit Zitat      
Hallo TheKraken,

Zitat:
Aber ich komm einfach mit dem ganzen nicht klar.

Wenn Du konkrete Fragen stellst, kann man Dir leichter helfen. Poste also am besten, was Du genau gemacht hast und erkläre woran es genau hängt. Auf die komplette Aufgabenstellung kann man kaum antworten ohne Deine Hausaufgaben für Dich zu lösen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
TheKraken

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.05.2015, 19:31     Titel:
  Antworten mit Zitat      
Ich hab leider nur Fragmente zum Vorweisen...ich hab zwar die 25 Zufallsvektoren erstellt, aber auch nur halb. Der Zugriff mit beiden Befehlen stellt auch ein Problem dar und von der Zeitzählung brauch man gar nicht mehr reden. Confused
Code:
function Runtime()
%addpath('c:/matlab/bui1/Sorts/Library');
%foldername = fullfile(matlabroot, 'bui1', 'Sorts', 'Library');
%p = genpath(foldername);

for k = 0:1:25
    x = rand(10,1)
    k = k+1;
end
tic
x = bubblesort1(x);
toc
end
 
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.