Integral berechnen, exponent must be a positive integer

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
pinguin111
Beiträge: 10
Registriert: Mo Dez 10, 2018 4:31 pm

Integral berechnen, exponent must be a positive integer

Beitrag von pinguin111 »

Guten Abend,liebe Foristen!
ich würde gerne ein Integral berechnen im Bereich 20 bis 65. Soweit, so einfach, dachte ich mir.
Meine Funktion ist gegeben durch

f=mp("0.04742-0.005472 * x + 0.0002317 * x^2 - 0.000004252 * x^3 + 0.0000002898 * x^4")

Aus folgendem Quotient würde ich nun gerne das Integral berechnen von x=20 bis x=65
(deriv(deriv(f,'x'),'x'))/((1+deriv(f,'x')^2)^(3/2)) (I)

d.h. ich würde gerne \int_{20}^{65} (f ' '(x))/(1+ f ' (x)^2)^(3/2) berechnen.

leider scheitere ich bereits daran, den Quotienten ( siehe (I) ) abzuleiten, da R offensichtlich das ^(3/2) nicht mag. Denn es kommt jedes mal die Fehlermeldung "exponent must be a positive integer".

Soweit so gut, dacht ich mir und schreibe eine ^3 unter die Wurzel, allerdings funktioniert das auch nicht. Ich wäre sehr dankbar für jegliche Hilfestellungen!
Viel Grüße!
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Integral berechnen, exponent must be a positive integer

Beitrag von jogo »

Hallo Ping,

gibt es schon irgendwas an R-Code?
Was verbirgt sich hinter der Funktion mp() :?:

Gruß, Jörg
pinguin111
Beiträge: 10
Registriert: Mo Dez 10, 2018 4:31 pm

Re: Integral berechnen, exponent must be a positive integer

Beitrag von pinguin111 »

Schönen guten Abend,jogo!
mit f=mp("0.04742-0.005472 * x + 0.0002317 * x^2 - 0.000004252 * x^3 + 0.0000002898 * x^4") hatte ich die Funktion definiert. Habe das iwo im Internet aufgeschnappt.
Mit deriv(f,'x') ist dann auch die Ableitung möglich, allerdings nicht mehr, wenn es darum geht, den ganzen Quotienten zu berechnen. Im Nenner bei "hoch 3/2" gab es die Fehlermeldung, siehe Überschrift.

mein gesamter Code war:
f=mp("0.04742-0.005472 * x + 0.0002317 * x^2 - 0.000004252 * x^3 + 0.0000002898 * x^4")
(deriv(deriv(f,'x'),'x'))/((1+deriv(f,'x')^2)^(3/2)) und dann davon das Integral von 20 bis 65.

Das hat allerdings nicht funktioniert, mglw wegen dem "hoch3/2". Wenn es eine Kleinigkeit ist, die nicht daran stimmt und schnell erklärt ist, dann würde es mich interessieren, woran es lag. Falls man weiter ausholen müsste, dann bitte verschwende nicht Deine Zeit.

Trotzdem vielen Dank für Deine schnelle Reaktion!
pinguin111
Beiträge: 10
Registriert: Mo Dez 10, 2018 4:31 pm

Re: Integral berechnen, exponent must be a positive integer

Beitrag von pinguin111 »

ich habe es bereits mit matlab berechnet
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Integral berechnen, exponent must be a positive integer

Beitrag von jogo »

Hallo pinguin,

für mich ist der Code weiterhin unvollständig. Schon die erste Zeile verursacht einen Fehler:

Code: Alles auswählen

> f=mp("0.04742-0.005472 * x + 0.0002317 * x^2 - 0.000004252 * x^3 + 0.0000002898 * x^4")
Fehler in mp("0.04742-0.005472 * x + 0.0002317 * x^2 - 0.000004252 * x^3 + 0.0000002898 * x^4") : 
  konnte Funktion "mp" nicht finden
> 
Wenn Du die Funktion mp() nicht selbst definiert hast, dann stammt sie aus einem Paket, das Du bisher nicht genannt hast.

Gruß, Jörg
dvf
Beiträge: 24
Registriert: Mo Feb 27, 2017 12:44 pm

Re: Integral berechnen, exponent must be a positive integer

Beitrag von dvf »

Die Suche

Code: Alles auswählen

 library(sos)
 ??? mp 
führt zum Ziel.
Wenn die verwendeten packages nicht angegeben werden, ist die entsprechende Suche mühselig und zeitaufwendig. In diesem Fall sind es 400 Fundstellen auf 20 Seiten, die durchzusehen sind. Das Ergebnis führt zum package mpoly. Hinter mp verbirgt sich die Funktion Define a multivariate polynomial.
Wie gesagt - zeitaufwendig.

Gruß dvf
Antworten