www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Physik
  Status HochschulPhysik
  Status SchulPhysik
  Status Physik-Vorkurse
    Status VK 31: Physik Mittel
  Status Atom- und Kernphysik
  Status Elektrik
  Status Mechanik
  Status Optik
  Status Thermodynamik

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 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 ^
www.physikraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]