Ich versuche, einen Code zu schreiben, der alle Ausgaben einer Rekursion unter einer bestimmten Bedingung speichert.Ausgänge während der Rekursion speichern
Mein MATLAB-Code sieht wie folgt aus:
function answer= rec_solve(M, remainingValue, previousLevel, solutionSoFar)
if (M == 1)
answer= [solutionSoFar remainingValue];
% store only the outputs that reach here
else
for i=previousLevel:remainingValue/M
s= [solutionSoFar i];
rec_solve(M-1, remainingValue-i, i, s);
end
end
end
ich nur die Ausgänge in einer Matrix zu speichern versucht, die die Bedingung (M == 1), aber ohne Erfolg erreichen. Ich denke, dass es in andere Funktion verpackt werden sollte, aber ich habe keine Ahnung, wie man es in der richtigen Weise wickeln. Es ist, als ob ich die Druckergebnisse genau speichern möchte, wenn das ';' ist innerhalb der Bedingung (Zeile 3) aufgenommen.
Vielen Dank im Voraus!
gut, Antwort ist die Ausgabe der Funktion, so dass ich nicht verstehe, warum Sie es nicht als Ergebnis erhalten? Schleifen Sie über die Funktion oder wo genau ist das Problem beim Speichern? – KiW
Die Dinge ist, dass ich nur die Antworten von der 'If' Statemant speichern möchte. Es gibt mehrere Male durch die Rekursion, die dort ankommen, wie kann ich so etwas tun? Die endgültige Antwort ist nur 1 von N Antworten, die ich brauche. –
Können Sie uns eine Beispieleingabe und die gewünschte Ausgabe für diese Funktion geben? – beaker