2014-12-14 11 views
5

Ich versuche, eine einfache Integration abzuschließen, aber ich stoße auf ein Problem, das (glaube ich) aufgrund der Form, in der ich den Integranden schreibe.Integrand Syntax in R

Angenommen, ich möchte den Bereich finden, der durch f (x) = 3x und g (x) = x^2 gebunden ist. Geometrisch, der Bereich zwischen den beiden Kurven:

enter image description here

Ok, also keine große Sache analytisch zu tun:

enter image description here

Aber ich mag dies mit R erreichen, von Kurs.

So gebe ich meine Funktion und es gibt ein Problem:

> g <- function(x) {3x-x^2} 
Error: unexpected symbol in "g <- function(x) {3x" 

Das frustriert mich so begann ich mit den Dingen herumspielen. Interessanterweise fand ich, dass, wenn ich x aus dem Integra Faktor:

enter image description here

alles reibungslos funktioniert:

> f <- function(x) {x*(3-x)} 
> integrate(f, 0, 3) 
4.5 with absolute error < 5e-14 

Mein war der nächste Schritt ?integrate zu überprüfen, von denen ein Teil unten angebracht ist:

integrieren (f, untere, obere, ..., Unterteilungen = 100L, rel.tol = .Maschine $ double.eps^0,25, abs.tol = rel.tol, stop.on.error = TRUE, keep.xy = FALSE, aux = NULL) Argument

f
eine R Funktion ein numerisches erstes Argument und Zurückgeben einen numerischen Vektor der gleichen Länge nehmen. Die Rückgabe eines nicht-finiten Elements erzeugt einen Fehler.

unteren, oberen
die Grenzen der Integration. Kann unendlich sein.

Bin ich irgendwie nicht ein numerisches erstes Argument in meinem ersten Versuch zu integrieren? Danke im Voraus.

+0

@StephanKolassa mein Kopf aus Schmatzen es weh tut jetzt gesehen habe! Ich bin glücklich, zu stimmen und Ihre Antwort zu akzeptieren, wenn Sie es unten fallen lassen. –

+2

Upvoted eine schön gestaltete Frage! –

Antwort

4

Ändern 3x zu 3*x.

(Dies kann das kleinste Antwort-Länge-zu-Frage-Längen-Verhältnis sein, die ich seit langer Zeit ;-)