1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Verteilungsfunktion in R

  • Brain01
  • 5. November 2012 um 15:18
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Brain01
    Punkte
    25
    Beiträge
    3
    • 5. November 2012 um 15:18
    • #1

    Hallo :)

    Ich habe ein Problem und bräuchte eure Hilfe bitte.
    Ich soll eine Funktion approximieren. In dieser Funktion habe ich eine Summe enthalten und eine Variable. Mein Problem dabei ist, dass wenn ich für die Variable einen Wert eingebe ich die Information bekomme, dass meine Variable kürzer ist als die Summe. Die Summe geht von 1 bis 12 und meine Werte von x sind definiert von -7 bis 7. Diese Warnmeldung erscheint beim Plotten.

    R:

    verteilung <- function(x, n = 1:12){
    z <- 1/2 + 1/pi * (x/(3*sqrt(2)) + sum(1/n*exp(-(n^2/9))*sin((n*x*sqrt(2))/3)))
    return(z)
    }

    verteilung()

    Warnmeldungen:1: In n * x : Länge des längeren Objektes ist kein Vielfaches der Länge des kürzeren Objektes2: In 1/n * exp(-(n^2/9)) * sin((n * x * sqrt(2))/3) : Länge des längeren Objektes ist kein Vielfaches der Länge des kürzeren Objektes

    danke für die Hilfe!

    Einmal editiert, zuletzt von Brain01 (5. November 2012 um 15:21)

  • emptyvi
    Punkte
    2.037
    Beiträge
    374
    • 5. November 2012 um 17:08
    • #2

    Öh.. das funktioniert bei mir irgendwie problemlos:

    Code
    > verteilung <- function(x, n = 1:12){
    + z <- 1/2 + 1/pi * (x/(3*sqrt(2)) + sum(1/n*exp(-(n^2/9))*sin((n*x*sqrt(2))/3)))
    + return(z)
    + }
    > 
    > frame = data.frame();
    > for(i in seq(-7, 7, 0.01)){
    + frame = rbind(frame, c(i, verteilung(i)));
    + }
    > names(frame) = c("x", "y");
    > 
    > png("verteilung.png", height = 640, width = 640);
    > plot(frame, type="l");
    > dev.off();
    null device 
              1
    Alles anzeigen

    Ergibt:

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    l.g.

  • Brain01
    Punkte
    25
    Beiträge
    3
    • 12. November 2012 um 19:11
    • #3

    Danke dir! :)

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum