Auswahl Schwarzes Brett Aktion im Forum Suche Kontakt Für Mitglieder Mathematisch für Anfänger Wer ist Online | |
Autor |
nichtlineare Gleichungen lösen (ggf. in R) |
|
mrdjv2
Aktiv  Dabei seit: 05.07.2003 Mitteilungen: 960
Aus: Aachen
 | Profil
Quote
Link |
hgseib
Aktiv  Dabei seit: 04.04.2019 Mitteilungen: 172
 |     Beitrag No.1, eingetragen 2019-04-25
|
Hallo
ich habe die Funktion mal in Geogebra (ein Programm für Geometrie) eingegeben.
Nun ist das so: du kannst für B und C jeden beliebigen Wert einsetzen.
Und über A (als Schieber) den erzeugten Bogen in y-Richtung verschieben und damit jedesmal die drei gewünschten x-Nullstellen erreichen.
Also für deine Aufgabe gibt es unendlich viele Lösungen. Du musst da vermutlich noch weitere Bedingungen definieren?
mfg
P.S.
Negatives C kannst du ausschliessen.
|
Profil
Quote
Link |
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 687
Aus: Brennpunkt einer Parabel
 |     Beitrag No.2, eingetragen 2019-04-25
|
Hallo
ich denke, dass es eine Lösung in R nicht geben kann. Wie lautet die Orginalaufgabe?
Gruß Caban
[Die Antwort wurde vor Beitrag No.1 begonnen.]
|
Profil
Quote
Link |
gonz
Senior  Dabei seit: 16.02.2013 Mitteilungen: 3254
Aus: Harz
 |     Beitrag No.3, eingetragen 2019-04-25
|
Profil
Quote
Link |
shadowking
Senior  Dabei seit: 04.09.2003 Mitteilungen: 3458
 |     Beitrag No.4, eingetragen 2019-04-25
|
Hallo mrdjv,
versuche es doch mit dem Newton-Gauß-Verfahren für nichtlineare Systeme. Das ist eine Verallgemeinerung des Newton-Verfahrens zur Nullstellenbestimmung auf Situationen mit mehr als einer Variablen. Zum Starten braucht man halbwegs plausible Näherungswerte für A, B und C. Wo im Newton-Verfahren die Ableitung im Nenner erscheint, benötigt man hier allerdings die Inverse der Jacobimatrix für die nichtlineare Abbildung $f: \mathbb{R}^3 \mapsto \mathbb{R}^3,\,f(A,B,C)=\left(\matrix{A-B\mathrm{e}^{-\frac{1}{C}}-8\\A-B\mathrm{e}^{-\frac{30}{C}}-100\\A-B\mathrm{e}^{-\frac{365}{C}}-1070}\right)$, so diese denn existiert.
Gruß shadowking
[Die Antwort wurde vor Beitrag No.1 begonnen.]
----------------- Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. - Johann Wolfgang von Goethe
|
Profil
Quote
Link |
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 687
Aus: Brennpunkt einer Parabel
 |     Beitrag No.5, eingetragen 2019-04-25
|
Hallo
Mit Verwendung von Potenzreihen bin ich auf die Näherung C=2100,710
B=6713,858 und A=6718,663 gekommen.
Gruß caban
|
Profil
Quote
Link |
shadowking
Senior  Dabei seit: 04.09.2003 Mitteilungen: 3458
 |     Beitrag No.6, eingetragen 2019-04-25
|
Meine Methode ist doch nicht optimal; die Determinante der Jacobimatrix liegt dafür zu nahe an Null. Man wende statt dessen lieber das von gonz geschilderte Verfahren an, um C numerisch zu bestimmen und dann sukzessive B und A zu erhalten.
Ich erhalte so die Lösung
C = 1967,0058...
B = 6289,4661...
A = 6294,2695...,
mit der alle geforderten Werte in vierstelliger Genauigkeit getroffen werden.
Gruß shadowking
|
Profil
Quote
Link |
zippy
Senior  Dabei seit: 24.10.2018 Mitteilungen: 802
 |     Beitrag No.7, eingetragen 2019-04-26
|
2019-04-25 20:21 - mrdjv2 im Themenstart schreibt:
Ich würde das Problem gerne in R lösen, weiß aber nicht, wie das geht.
Diese Frage scheint trotz der vielen Beiträge unbeantwortet geblieben zu sein:R > f <- function(t, x) { x[1] - x[2] * exp(-t/x[3]) }
> eq <- function(x) { c(f(1, x) - 8,
f(30, x) - 100,
f(365,x) - 1070) }
> nleqslv::nleqslv(c(1, 1, 1), eq, control=list(allowSingular=TRUE))
$x
[1] 6294.270 6289.466 1967.006 |
|
Profil
Quote
Link |
mrdjv2
Aktiv  Dabei seit: 05.07.2003 Mitteilungen: 960
Aus: Aachen
 |     Beitrag No.8, vom Themenstarter, eingetragen 2019-06-06
|
Sorry für die späte Antwort von mir.
Zippys Beitrag war genau, was ich gesucht habe.
Vielen Dank für die Posts hier.
----------------- Never underestimate the impossible!
|
Profil
Quote
Link |
MontyPythagoras
Senior  Dabei seit: 13.05.2014 Mitteilungen: 2073
Aus: Hattingen
 |     Beitrag No.9, eingetragen 2019-06-06
|
Hallo mrdjv2,
naja, schön ist anders. Das gute alte Newton-Verfahren führt auch hier zum Erfolg:
$$(1)\qquad A-Be^{-\frac1C}=8$$$$(2)\qquad A-Be^{-\frac{30}C}=100$$$$(3)\qquad A-Be^{-\frac{365}C}=1070$$Gleichung (2) minus (1):
$$(4)\qquad B\left(e^{-\frac{1}C}-e^{-\frac{30}C}\right)=92$$Gleichung (3) minus (1):
$$(5)\qquad B\left(e^{-\frac{1}C}-e^{-\frac{365}C}\right)=1062$$(5) geteilt durch (4):
$$\frac{e^{-\frac{1}C}-e^{-\frac{365}C}}{e^{-\frac{1}C}-e^{-\frac{30}C}}=\frac{1062}{92}=\frac{531}{46}$$Mit $e^{-\frac1C}$ kürzen:
$$\frac{1-e^{-\frac{364}C}}{1-e^{-\frac{29}C}}=\frac{531}{46}$$Substituiere $e^{-\frac{29}C}=x$:
$$\frac{1-x^{\frac{364}{29}}}{1-x}=\frac{531}{46}$$$$46-46x^{\frac{364}{29}}=531-531x$$$$(6)\qquad 531x-46x^{\frac{364}{29}}-485=0$$Diese Gleichung kann man mit Newton recht einfach lösen:
$$x_{n+1}=x_n-\frac{531x_n-46x_n^{\frac{364}{29}}-485}{531-46\cdot\frac{364}{29}x_n^{\frac{364}{29}-1}}$$$$x_{n+1}=\frac{531x_n-46\cdot\frac{364}{29}x_n^{\frac{364}{29}}-531x_n+46x_n^{\frac{364}{29}}+485}{531-46\cdot\frac{364}{29}x_n^{\frac{364}{29}-1}}$$$$x_{n+1}=\frac{485-46\cdot\frac{335}{29}x_n^{\frac{364}{29}}}{531-46\cdot\frac{364}{29}x_n^{\frac{335}{29}}}$$Mit 29 erweitern:
$$x_{n+1}=\frac{485\cdot29-46\cdot335\;x_n^{\frac{364}{29}}}{531\cdot29-46\cdot364\;x_n^{\frac{335}{29}}}$$Der gesuchte Wert liegt knapp unter 1, $x=1$ ist eine triviale Lösung. Daher sollte man mit einem Startwert unter 1 beginnen, z.B. $x=0,9$, aber null tut's hier auch. Dann erhält man
$$x=0,98536492908144308160374506...$$Und damit rückwärts:
$$C=1967,00584467708963185876091477...$$$$B=6289,46617327038637437246977807...$$$$A=6294,26950371290717851825008219...$$
Ciao,
Thomas
|
Profil
Quote
Link |
|