www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - for Schleife
for Schleife < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

for Schleife: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:04 Sa 20.04.2013
Autor: JamesDean

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

        
Bezug
for Schleife: Antwort
Status: (Antwort) fertig Status 
Datum: 19:59 Sa 20.04.2013
Autor: steppenhahn

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

Bezug
                
Bezug
for Schleife: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:59 Sa 20.04.2013
Autor: JamesDean

Achso :-) ... Vielen Dank für deine Hilfe.



Mit freundlichen Grüßen


J.Dean

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]