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
|
|
|
|