|
|
Maximum recursion limit of 500 reached |
|
nixversteher |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.04.2010, 23:14
Titel: Maximum recursion limit of 500 reached
|
 |
Hallo zusammen,
ich bin ein Neuling was Matlab angeht und komme einfach nicht weiter vll kann mir einer von Euch helfen .
Zum Problem: Ich rufe einen M-File auf darin wird eine Mat.Datei aufgerufen mit allen Signale etc. was ich für meine Auswertung benötige.
Beim debugen kommen ich nur bis Mat.File aufruf und dann kommt die folgende Fehlermeldung:
??? Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit. Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.
Was muss ich da tun oder was muss ich da setzen etc. wäre um jede Unterstützung dankbar! Warum kommt die Fehlermeldung überhaupt.
Gruß,
nixversteher
|
|
|
|
|
Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.04.2010, 08:25
Titel:
|
 |
Das RecursionLimit ist eine Root Property...also eine Art Grundeinstellung...es begrenzt die Anzahl von nested M-file-Aufrufen (Aufruf von M_Files aus M-Files). Es dient dazu MATLAB einen Fehler auswerfen zulassen statt (ohne Limit) an Speichermangel zu grunde zu gehen.
Ändern kannst Du das Ganze (wie in der Fehlermeldung beschrieben) so:
Aber ich an Deiner Stelle würde ich mir eher deinen Code nochmal anschauen...bei den Aufgaben, die Matlab vor dem Fehler ausführt (laut Deiner Aussage) sollte das nicht passieren (wenn Du nicht schon vorher das Limit geändert hast).
Vielleicht postest Du einfach mal den Code bis zur mat-File Geschichte (und ggf. ein Stück weiter) und dann schauen wir mal drüber.
|
|
|
nixversteher |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.04.2010, 23:04
Titel: Maximum recursion limit of 500 reached
|
 |
Hallo Zenon,
vielen Dank für die schnelle Antwort.
Hier der Code:
Das Mat-File sieht wie folgt aus:
Und wenn ich einfach in Commandfenster
eingebe behebt sich das ganze?
Gruß,
nixversteher
|
|
|
outsider |

Forum-Meister
|
 |
Beiträge: 806
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 08.04.2010, 00:04
Titel:
|
 |
Zitat: |
Warum kommt die Fehlermeldung überhaupt. |
Eine Rekursion liegt vor, wenn eine Funktion sich selbst Aufruft!
Dieser Vorgang ist sehr speicherhungrig. Daher sollte man diese Technik mit Vorsicht anwenden.
Defaultmässig unterstützt MATLAB eine Rekursionstiefe von 500, was in der Regel ausreichend ist. Ausgehend von Deiner Frage denke ich war eine Rekursion in Deinem Quellcode nicht vorgesehen. Aus diesem Grund wird Dir Zenon's Vorschlag kaum helfen, denn der löst nicht die Ursache der Fehlermeldung.
Überprüfe Dein Code Schritt für Schritt mit dem Debugger und achte besonders auf die Funktionsaufrufe.
MfG
|
|
|
Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.04.2010, 09:23
Titel:
|
 |
@outsider:
Weil RecursionLimit nur Kosmetik ist habe ich ja nach dem Code gefragt um die tatsächliche Ursache zu finden...
@nixversteher:
Ist doch nicht alles was in Test drin steht...wie wäre es wenn Du als einfachste aber vielleicht schnellste Möglichkeit in all deinen M-Files nach all deinen möglichen M-File-Aufrufen suchst (mit der Suchfunktion nicht händisch) zum Beispiel "Test;" bzw. "MEIN_M_FILE_NAME;".
Damit findest Du möglicherweise schon den Aufruf...
|
|
|
nixversteher |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.04.2010, 09:59
Titel: Maximum recursion limit of 500 reached.
|
 |
Moin,
mein M-File sieht wie folgt aus:
ich habe nirgends in meiner Files load 'Messwerte.MAT' gefunden ausser am Kopf.
Gruß,
nixversteher
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 08.04.2010, 10:35
Titel:
|
 |
Hallo
vermutlich liegt es an eval, in SigNames hast du wahrscheinlich
so einen Bezeichnernamen, welcher deinem Funktionnamen entspricht.
Mache es doch anders:
|
|
|
nixversteher |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.04.2010, 20:54
Titel: Maximum recursion limit of 500 reached.
|
 |
Hallo,
das funktioniert auch nicht . Ich habe folgendes ausprobiert
auch ohne Erfolg. Bitte um Unterstützung
Gruß,
nixversteher
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 12.04.2010, 21:50
Titel:
|
 |
Hallo,
hast du das mit eval geändert?
|
|
|
nixversteher |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.04.2010, 23:15
Titel: Maximum recursion limit of 500 reached.
|
 |
Hi,
ja ich habe deinen Code kopiert und eingefügt und es zeigt folgenden Fehler:
Gruß,
nixversteher
|
|
|
nixversteher |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.04.2010, 23:23
Titel: Maximum recursion limit of 500 reached.
|
 |
Hi,
ja ich habe deinen Code kopiert und eingefügt und es zeigt folgenden Fehler:
Gruß,
nixversteher
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 13.04.2010, 08:57
Titel:
|
 |
Hallo
kannst du vielleicht deine Messwerte.mat anhängen?
Weil ich Moment nicht verstehe, woran das Laden scheitert.
|
|
|
matlabnoobin |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.07.2010, 14:55
Titel: Maximum recursion limit of 500 reached.
|
 |
Hallo ihr,
auch ich hab die gleiche Fehlermeldung. Diese tritt bei mir auf, wenn ich mit der Fibonacci-Reihe arbeite. Kann mir wer helfen?
%PruefungsaufgabeTeil3.m
function PruefungsaufgabeTeil3
n=input('Geben Sie einen Wert ein: ')
n;
Fibonacci(n);
disp(Fibonacci(n));
function y=Fibonacci(n)
if n==0;
y=0;
elseif n==1;
y=1;
else
y=Fibonacci(n)+Fibonacci(n-1);
end;
Fehlermeldung:
??? Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit. Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.
Error in ==> PruefungsaufgabeTeil3>Fibonacci
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.07.2010, 15:13
Titel:
|
 |
Hallo,
in deinem Fall ist es ein schlichter Implementierungsfehler. So stimmts:
Probleme hast du nur noch, falls das eingegebene n > 500 ist. Und dann sollten die vorhergehenden Posts helfen.
Grüße,
Harald
|
|
|
matlabnoobin |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.07.2010, 15:35
Titel: Maximum recursion limit of 500 reached.
|
 |
Oléeee. Es funktioniert. Vielen lieben Dank.
Du hast nicht zufällig noch ein Ass im Ärmel, was Zählfunktionen betrifft?
Irgendwie soll ich nämlich (und ich hab echt keine Ahnung wie ) noch die Anzahl der benötigten Funktionsaufrufe angeben... Hatte überlegt das mit
%PruefungsaufgabeTeil3.m
function PruefungsaufgabeTeil3
n=input('Geben Sie einen Wert ein: ')
n;
Fibonacci(n);
disp(Fibonacci(n));
zaehler=0;
function y=Fibonacci(n)
zaehler=zaehler+1;
if n==0;
y=0;
elseif n==1;
y=1;
else
y=Fibonacci(n-1)+Fibonacci(n-2);
end;
global zaehler;
zu lösen, aber da spuckte mir Matlab nur:
??? Undefined function or variable "zaehler".
Error in ==> PruefungsaufgabeTeil3>Fibonacci at 13
zaehler=zaehler+1;
Error in ==> PruefungsaufgabeTeil3 at 7
Fibonacci(n);
aus.
lG
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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.
|
|