| for Schleife < Matlab < Mathe-Software < Mathe < Vorhilfe 
 
 
  |  |  
  | 
    
     | 
 | Aufgabe |  | Berechnen Sie die nächsten 10 Elemente mit einer Schleife! Beginnen Sie mit dem Vektor [1 1], an den Sie bei jedem Durchlauf ein Element anfügen! | 
 Mein Lösungsansatz:
 
 function [z] = Ausgabe()
 %Fibonacci-Folge mit for-Schleife
 
 x = [1 1];
 for k = (1:10);
 z = [x x(k)+x(k+1)];
 end
 
 
 Matlab gibt immer folgenden Fehler aus:
 
 >> Ausgabe
 ??? Index exceeds matrix dimensions.
 
 Error in ==> Ausgabe at 8
 z = [x x(k)+x(k+1)];
 
 könnte mir evtl. jemand sagen wo der Fehler ist?
 
 
 Mit freundlichen Grüßen
 
 J.dean
 
 
 |  |  |  | 
 
  |  |  
  | 
    
     | Hallo,
 
 
 > Berechnen Sie die nächsten 10 Elemente mit einer Schleife!
 > Beginnen Sie mit dem Vektor [1 1], an den Sie bei jedem
 > Durchlauf ein Element anfügen!
 > Mein Lösungsansatz:
 
 >
 > function [z] = Ausgabe()
 > %Fibonacci-Folge mit for-Schleife
 
 >
 > x = [1 1];
 > for k = (1:10);
 > z = [x x(k)+x(k+1)];
 > end
 
 >
 >
 > Matlab gibt immer folgenden Fehler aus:
 
 >
 > >> Ausgabe
 > ??? Index exceeds matrix dimensions.
 
 >
 > Error in ==> Ausgabe at 8
 > z = [x x(k)+x(k+1)];
 
 >
 > könnte mir evtl. jemand sagen wo der Fehler ist?
 
 
 Das Problem ist, dass du dein neues Array immer in "z" statt in "x" schreibst!
 Dadurch wird x nicht vergrößert, und damit kannst du nicht x[3] etc. abrufen. Es entsteht ein Dimensionsfehler.
 
 
 Änder den Quelltext mal so ab:
 
 
 
 function [z] = Ausgabe()
 %Fibonacci-Folge mit for-Schleife
 
 x = [1 1];
 for k = (1:10);
 [mm] \red{x} [/mm] = [x x(k)+x(k+1)];
 end
 
 [mm] \red{z = x}
 [/mm]
 
 [mm] \red{end}
 [/mm]
 
 
 
 
 
 
 Viele Grüße,
 Stefan
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 20:59 Sa 20.04.2013 |   | Autor: | JamesDean | 
 Achso
  ... Vielen Dank für deine Hilfe. 
 
 
 Mit freundlichen Grüßen
 
 
 J.Dean
 
 
 |  |  | 
 
 
 |