for schleife < Datenstrukturen < Schule < Informatik < Vorhilfe
|
Aufgabe | function x = f4(v) f4([1,2,3,4])= ?
x = 1;
for i = length(v):-1:2 f4([1])=?
x = x + v(i) - v(i+1);
end |
So vorweg erst einmal, wir benutzen Matlab:
irgendwie versthe ich die Aufgabe schon nicht, die Aufgabe besteht darin ggbf einen Fehler zu suchen ansonsten berechnen.
Ich fange mal bei b an um die Grundzüge zu raffen, da ich dort ein Ergebnis gegeben habe im meiner Lösung und zwar f4([1])= 1
Leider weiss ich nicht wie ich darauf komme ich fange mal an wie ich denke das es zustande kommt:
Ich habe den Vektor [1] gegeben, der hat auch die Länge 1.
Jetzt habe ich eine for schleife die bei der Läange des Vektors beginnt von 1 in -1er Schritten bis 2 runter zu Zählen, da ich aber doch nicht von 1 bis 2 in minues 1er schritten runter Zählen kann wid die Schleife nicht durchlaufen oder? und mein programm liefert x=1 ?
Bitte um hilfe tue mir mit dem Kram schwer :((
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:09 Sa 07.01.2012 | Autor: | felixf |
Moin!
> function x = f4(v) f4([1,2,3,4])= ?
> x = 1;
> for i = length(v):-1:2 f4([1])=?
> x = x + v(i) - v(i+1);
> end
> So vorweg erst einmal, wir benutzen Matlab:
> irgendwie versthe ich die Aufgabe schon nicht, die Aufgabe
> besteht darin ggbf einen Fehler zu suchen ansonsten
> berechnen.
>
> Ich fange mal bei b an um die Grundzüge zu raffen, da ich
> dort ein Ergebnis gegeben habe im meiner Lösung und zwar
> f4([1])= 1
>
> Leider weiss ich nicht wie ich darauf komme ich fange mal
> an wie ich denke das es zustande kommt:
>
> Ich habe den Vektor [1] gegeben, der hat auch die Länge
> 1.
> Jetzt habe ich eine for schleife die bei der Läange des
> Vektors beginnt von 1 in -1er Schritten bis 2 runter zu
> Zählen,
> da ich aber doch nicht von 1 bis 2 in minues 1er
> schritten runter Zählen kann wid die Schleife nicht
> durchlaufen oder? und mein programm liefert x=1 ?
Genau so ist es. Da length(v) < 2 ist, wird die Schleife nicht durchlaufen. Damit sie mindestens einmal durchlaufen wird, muss length(v) >= 2 sein.
LG Felix
|
|
|
|
|
Ok, und wie verhät sich das bei f4([1,2,3,4])?
was passiert in der Schleife?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:15 Sa 07.01.2012 | Autor: | felixf |
Moin!
> Ok, und wie verhät sich das bei f4([1,2,3,4])?
>
> was passiert in der Schleife?
In dem Fall ist length(v) = 4. Die Schleife wird also dreimal durchlaufen, erst fuer i = 4, dann fuer i = 3, dann schliesslich fuer i = 2.
LG Felix
|
|
|
|
|
ok, das ist logisch, aber was kommt als ergebnis raus oder kommt es zu einem error?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:25 Sa 07.01.2012 | Autor: | felixf |
Moin!
> ok, das ist logisch, aber was kommt als ergebnis raus oder
> kommt es zu einem error?
Ueberleg es doch mal selber. Schreib die Ueberlegungen hier auf. Wir koennen dir dann sagen, ob es stimmt oder nicht :)
LG Felix
|
|
|
|
|
ok error, weil -v(i+1)
das wäre -v(5) aber der vektor hat nur eine Läange von 4 oder?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:24 Sa 07.01.2012 | Autor: | felixf |
Moin!
> ok error, weil -v(i+1)
>
>
>
>
> das wäre -v(5) aber der vektor hat nur eine Läange von 4
> oder?
Genau, wenn i = length(v) ist, geht das schief.
LG Felix
|
|
|
|