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

Ausführungsgeschwindigkeit Fakultät rekursiv/iterativ

 

incubus
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 05.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2014, 18:30     Titel: Ausführungsgeschwindigkeit Fakultät rekursiv/iterativ
  Antworten mit Zitat      
Liebes Matlab Forum,

ich bin Matlab Anfänger und soll folgende Aufgabe lösen:

Schreiben Sie eine Funktion fakulVergleich, welche als Argument einen Vektor von natürlichen Zahlen bekommt. In der Funktion soll der Reihe nach für jede Komponente des Vektors die Ausführungszeit jeder der beiden Funktionen berechnet und sinnvoll gespeichert werden (d.h. z.B. in zwei neuen Vektoren oder einer Matrix).

Bei den "beiden Funktionen" handelt es sich um die Fakultät, einmal iterativ und einmal rekursiv. Diese beiden Funktionen habe ich auch schon geschrieben.
Hier mein bisheriger Versuch zur fakulVergleich - Funktion

function [ t1, t2 ] = fakulVergleich(n)
tic
Fakultaetrekursiv(n); %diese Funktion ist bereits geschrieben
t1=toc;

tic
Fakultaetiterativ(n); %diese auch
t2=toc;
end

So nun zu meiner Frage: wie kann ich jetzt in matlab n als Vektor unbestimmter Länge definieren, sodass später die ganzen t's damit ausgerechnet werden können? Und sieht der Anfang so erst mal gut aus oder würdet ihr da ganz anders rangehen?
Falls gewünscht, kann ich auch gerne noch die Fakultätsfunktionen posten.

Habe die Frage in keinem anderen Forum gestellt und wäre sehr dankbar für jede Anregung.

Liebe Grüße
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 15.05.2014, 14:31     Titel:
  Antworten mit Zitat      
Hallo
Zitat:
wie kann ich jetzt in matlab n als Vektor unbestimmter Länge definieren, sodass später die ganzen t's damit ausgerechnet werden können? Und sieht der Anfang so erst mal gut aus oder würdet ihr da ganz anders rangehen?

n wird über deine Übergabe definiert? Kannst nur vielleicht überprüfen, ob überhaupt etwas übergeben wurde.
Auf einzelne Komponente würde ich über eine FOR-Loop zugreifen


Code:

function [ t1, t2 ] = fakulVergleich(n)
if nargin ==0
  t1 = 0
  t2 = 0
  return
end



% vorinitialisieren t1
t1= zeros(1, length(n))

% dann in for loop auf einzelne elemente auf n zugreifen
% und einzeln  t1-Variable zuweisen
tic
Fakultaetrekursiv(n); %diese Funktion ist bereits geschrieben
t1=toc;


tic
Fakultaetiterativ(n); %diese auch
t2=toc;
end


 
Private Nachricht senden Benutzer-Profile anzeigen
 
incubus
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 05.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2014, 16:20     Titel:
  Antworten mit Zitat      
Danke für die Antwort, Problem ist gelöst Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
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.