Seite 1 von 1

for Schleife mit Inkrement von 0.1

Verfasst: Di Mai 28, 2019 4:40 pm
von DonnieDarko
Hallo zusammen,

Ich habe folgendes vereinfachtes Problem:

Code: Alles auswählen

p <- seq(5,10,0.1)

for(i in seq(from=0, to=4.9, by=0.1)){
  p[i] = i
}
Ich will die einzelnen i-Werte nun an die jeweilige Stelle im Vektor p bringen
Beispiel:

i = 0 --> Wert 0 soll an die erste Stelle des Vektors p gelangen
i = 0.1 --> Wert 0.1 soll an die erste Stelle des Vektors p gelangen

Wie kann ich dies bezwecken?

Re: for Schleife mit Inkrement von 0.1

Verfasst: Di Mai 28, 2019 4:46 pm
von bigben
Hallo!
DonnieDarko hat geschrieben: Di Mai 28, 2019 4:40 pm i = 0 --> Wert 0 soll an die erste Stelle des Vektors p gelangen
i = 0.1 --> Wert 0.1 soll an die erste Stelle des Vektors p gelangen
Warum sollte man nacheinander verschiedene Werte alle an die erste Stelle des Vektors setzen? Die überschreiben sich doch dann alle? Ich glaube Du solltest Deine Fragestellung nochmal überarbeiten, damit man versteht, was Du eigentlich als Ergebnis haben willst.

In jedem Fall sind "Stellen im Vektor" immer ganzzahlig.

LG,
Bernhard

Re: for Schleife mit Inkrement von 0.1

Verfasst: Di Mai 28, 2019 4:53 pm
von bigben
Oder möchtest Du die der Reihe nach an die erste Stelle von p setzen ohne zu überschreiben, sondern so, dass die alten Werte jeweils nach hinten rücken und vorne Platz machen? Das würde sich dann ohne Schleife leichter so lösen lassen:

Code: Alles auswählen

p <- seq(5,10,0.1)
p <- c(rev(seq(from=0, to=4.9, by=0.1)), p)
Wenn es das nicht ist, bitte Frage besser formulieren.

LG,
Bernhard

Re: for Schleife mit Inkrement von 0.1

Verfasst: Di Mai 28, 2019 5:04 pm
von DonnieDarko
Hallo Bernhard,

Entschuldige bei meiner Frage hat sich ein Tippfehler eingeschlichen!

Es war so gedacht

i = 0: erster Wert des Vektors p wird zu 0
i = 0.1: zweiter Wert des Vektors p wird zu 0.1
i = 0.2: dritter Wert des Vektors p wird zu 0.2

Schöne Grüße
Donnie

Re: for Schleife mit Inkrement von 0.1

Verfasst: Di Mai 28, 2019 6:19 pm
von jogo
Hallo Donnie,

mir ist nicht klar, was Du erreichen möchtest. ... und warum nicht:

Code: Alles auswählen

i <- seq(0, 3, by=0.1)
p <- seq(0, 3, by=0.1) ## hier hätte dann auch p <- i ausgereicht
Gruß, Jörg

Re: for Schleife mit Inkrement von 0.1

Verfasst: Di Mai 28, 2019 6:47 pm
von DonnieDarko
Hallo,

Ich habe versucht mein Beispiel etwas runterzubrechen, da ich das ursprüngliche Beispiel / Code nicht posten kann. In der for - Schleife berechne ich normalerweise etwas anderes und will dies speichern. Nun habe ich mit einem leichteren Code, den ich oben gepostet habe, das Problem identifiziert und dies liegt in dem abspeichern der berechneten Werte bei einem Inkrement von 0.1.

Schönen Gruß und danke für die Hilfe
Donnie

Re: for Schleife mit Inkrement von 0.1

Verfasst: Mi Mai 29, 2019 7:29 am
von bigben
Hallo Donnie,

Dein Ziel, das Problem zu vereinfachen ist lobenswert. Allein, es ist unverständlich geworden. Schwer zu sagen, was die Besonderheiten der Vereinfachung und was die Anforderungen des Originalproblems sind:

Wenn Du einfach

Code: Alles auswählen

p[i*10+1] <- ...
nimmst, dann funktioniert es in der Vereinfachung. Funktioniert es auch im echten Fall?

Oder Du wählst eine ganzzahlige Laufvariable für die Schleife etwa so:

Code: Alles auswählen

p <- seq(5,10,0.1)  # davon bleibt am Schluss nur der letzte Wert übrig

zielwerte <- seq(from=0, to=4.9, by=0.1)

for(i in 1:length(zielwerte)){
  p[i] = zielwerte[i]   # i ist jetzt ganzzahlig und zielwerte[i] ist das, was früher mal i war
}
Bitte erkläre das Problem nochmal neu und etwas näher am echten Problem.

LG,
Bernhard

Re: for Schleife mit Inkrement von 0.1

Verfasst: Mi Mai 29, 2019 8:32 pm
von DonnieDarko
Hallo Bernhard,

Vielen Dank für deine Hilfe! So funktioniert es auch bei mir in meinem Beispiel.
bigben hat geschrieben: Mi Mai 29, 2019 7:29 am Wenn Du einfach

Code: Alles auswählen

p[i*10+1] <- ...
nimmst, dann funktioniert es in der Vereinfachung. Funktioniert es auch im echten Fall?
Entschuldige, dass ich das Problem anfangs nicht richtig erklärt hatte.

Besten Gruß
Donnie

Re: for Schleife mit Inkrement von 0.1

Verfasst: Mi Mai 29, 2019 10:03 pm
von bigben
Schön, dass es jetzt läuft. Übrigens hat keiner gesagt, dass eine gute Problemdarstellung leicht zu machen sei.
LG,
Bernhard