|
Daniela |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 17.03.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.04.2020, 14:27
Titel: O(m^n) plotten
|
|
Hallo ich wollte Fragen wie ich O-Notationen mit zwei Unbekannten plotte also z.B. O(n^m) ??
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.04.2020, 14:57
Titel:
|
|
Hallo,
ich zumindest habe leider keine Ahnung, was da gegen was geplottet werden soll.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Daniela |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 17.03.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.04.2020, 15:46
Titel:
|
|
Ich will die Laufzeit meines implementierten Algorithmus vergleichen mit der richtigen Laufzeit die O(n^m) ist. Und dachte mit ich versuche dies mit zwei verschieden Farbenen Graphen. Das plotten meines Algorithmus funktioniert aber wie man n^m plottet bin ich überfragt.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.04.2020, 15:57
Titel:
|
|
Hallo,
und wie plottest du deinen Algorithmus?
Was ich mir vorstellen könnte: eine Parameteranpassung der Laufzeiten an C*m^n, wobei ja nur C zu bestimmen ist, und dann das plotten.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Daniela |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 17.03.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.04.2020, 10:27
Titel:
|
|
|
|
|
Ich plotte meinen Algorithmus mit tic ... toc:
a=20;
b= 20;
n = [1:b];
adverage = zeros(1,b);
buffer = zeros(1,a);
for k= 1:b
for j = 1:a
[azy,v] = createRandomMatrix(4,k,-100,100); % n = 4, n entspricht Anzahl der Zeilen
tic
Algorithm_Solve_Lin_Equations(azy,v);
buffer(j) = toc;
end
for m=1:a
adverage(k) = adverage(k) + buffer(m);
end
adverage(k) = adverage(k)/a;
end
plot(n,adverage);
und die O-Notation habe ich jetzt mal so geplottet:
% wobei ich n = 4 gewählt habe, dass ich nur noch eine unbekannte habe
b= 20;
n = [1:b];
adverage1 = zeros(1,b);
for k= 1:b
x = ((k)^4); % n = 4
adverage1(k) = x;
end
plot(n,adverage1 );
Weißt du ob es sowas wie tic toc auch für den Speicherbedarf gibt? Ich muss nämlich auch den Speicherbedarf des Algorithmus plotten, weiß jedoch nicht wie sowas geht. Also ich weiß wie man mithilfe des profilers den allocated memory bekommt. aber ich will das ja wieder für unterschiedliche dimensionen messen und dann plotten.
Vielen Dank
Daniela
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.04.2020, 11:14
Titel:
|
|
Hallo,
die einzige mir bekannte Möglichkeit sind wiederholte Aufrufe von
memory
, die aber in die zu testende Funktion gepackt werden müssten. Selbst dann ist nicht gesagt, dass man den Speicherbedarf innerhalb davon aufgerufenen Funktionen mitbekommt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Daniela |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 17.03.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.04.2020, 12:27
Titel:
|
|
und wenn ich den code
[azy,v] = createRandomMatrix(2,150,-100,100);
profile -memory on
profile clear
Algorithm_Solve_Lin_Equations(azy,v);
profile report
benutze und dann im profiler die Funktion Algorithm_Solve_Lin_Equations(azy,v) profile? ich könnte ja dann die dimension der matrix immer ändern und mir den unterschied des allocated memorys anschauen? oder?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.04.2020, 12:51
Titel:
|
|
Hallo,
wenn das für dich funktioniert, dann mach's doch?
Ich kann in der Doku nichts über die Option -memory finden. Wenn das nicht dokumentiert ist, dann ist die Nutzung quasi auf eigene Gefahr.
Wenn du die Syntax p = profile('info') verwendest, enthält p.FunctionTable auch die Memory Informationen. Dann kannst du das automatisch verarbeiten.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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.
|
|