Ich lerne jetzt R und habe einige Schwierigkeiten beim Berechnen der Sigma-Notation. Ich weiß, wie man die grundlegenden Dinge wie folgt macht:
summ <- 10:100
sum(summ^3 + 4 * summ^2)
Ich weiß jedoch nicht, wie ich dieselben Operationen mit Werten ausführen soll, die sich von i unterscheiden (nicht nur i (z. B. x und y)) oder Operationen mit zwei Sigma-Notationen hintereinander.
Am Anfang dachte ich, dass es nur erforderlich ist, dasselbe wie in der einfachen Sigma-Notation mit nur i zu tun
summ <- 1:10
sum((x^summ) / (y^summ))
Es zeigt jedoch den Fehler, dass es sich nicht um ein numerisches Argument handelt.
Vielen Dank im Voraus für deine Hilfe.
2 Antworten
Für Ihre zweite Formel können Sie eine Funktion wie unten definieren
f <- function(x,y,n) sum((x/y)**(1:n))
Für Ihre letzte Formel können Sie den Ausdruck als Produkt aus zwei Begriffen umschreiben (Sie benötigen als ersten Schritt eine mathematische Transformation , wenn Sie die Prozedur vereinfachen möchten), da i
und { {X1}} sind unabhängig
> sum((1:20)**2)*sum(1/(5+(1:10)**3))
[1] 886.0118
Andernfalls könnte eine einfache Übersetzung aus der Formel verschachteltes sapply
verwenden.
> sum(sapply(1:20,function(i) sapply(1:10, function(j) i**2/(5+j**3))))
[1] 886.0118
Das ist im Grunde die Antwort auf die erste Frage mit undefinierten Variablen x und y:
x <- readline(prompt = "Enter x: ")
y <- readline(prompt = "Enter y: ")
x <- as.integer(x)
y <- as.integer(y)
i = 1:10
answer <- sum((x^i) / (y^i))
answer
Neue Fragen
r
R ist eine kostenlose Open-Source-Programmiersprache und Softwareumgebung für statistisches Rechnen, Bioinformatik, Visualisierung und allgemeines Rechnen. Bitte geben Sie minimale und reproduzierbare Beispiele zusammen mit der gewünschten Ausgabe an. Verwenden Sie dput () für Daten und geben Sie alle Nicht-Basispakete mit library () -Aufrufen an. Betten Sie keine Bilder für Daten oder Code ein, sondern verwenden Sie stattdessen eingerückte Codeblöcke. Verwenden Sie für statistische Fragen https://stats.stackexchange.com.