2017-05-13 4 views
-3

Matlab Schleifen voneinander abhängig und die innere Schleife hat Werte, die mit jeder Iteration der Schleife ändern. Wie mache ich das in Matlab?Matlab Schleifen voneinander abhängig und

for i = 1:2:Max 
C = [A(i+2)-A(i)]/2 
for k = i:1:i+2 
A(k+1) = A(k) + C 
end 
end 

Wie Sie sehen können, hat die innere for-Schleife Werte, die geändert werden, damit die Vektorisierung nicht funktioniert.

+1

Warum ist Ihr Code funktioniert nicht? Welche Ausgabe erwarten Sie für welche Eingabe? Erstellen Sie eine [Minimal, Complete und Verifizierbar] (http://stackoverflow.com/help/mcve) –

Antwort

0

Versuchen Sie folgendes:

Max=10; 
A=zeros(1,Max+3); 
A([1,2,3])=[3,7,2]; 
for i = 1:2:Max 
    C = [A(i+2)-A(i)]/2; 
    A(i+1:i+3) = A(i+0:i+2) + C; 
end 
disp(A) 
+0

Funktioniert nicht, da A von der vorherigen A-Änderung innerhalb derselben Iteration der Schleife abhängt. – abstractness

+0

Was funktioniert nicht? Die Rekursion kam von deiner Formel. –

Verwandte Themen