|
Autor |
Absolutwerte von Polynomintervallen |
|
hexer21
Neu  Dabei seit: 04.05.2017 Mitteilungen: 3
 | Themenstart: 2017-05-04
|
Hallo zusammen,
bin neu hier, und meine Mathezeit ist schon einige Zeit vorbei. http://matheplanet.com/matheplanet/nuke/html/images/forum/subject/dance1.gif
Die Aufgabenstellung ist Teil eines grösseren Matlab Projektes. Deshalb habe ich die Frage auch hier eingestellt.
Ich habe dazu auch schon eine Lösungsvariante in Matlab geschrieben. Allerdings scheint mir diese Lösung nicht sehr elegant zu sein. Meine Lösung benötigt dazu leider auch noch sehr viel Rechenzeit, die ich nicht habe, da die Matlab Anwendung aufgrund von Zeitmessungen zeitkritisch ist.
Eigentlich ist es ein grundsätzlich mathematisches Problem bei dem ich nicht weiterkomme:
Gegeben ist ein Polynom 4. Grades:
f(x) = ax4 + bx3 + cx2 + dx + e
Aufgrund von Messungen sind dx (= Delta x) und dy (Delta y) ebenfalls bekannt. x2,x1,y2,y1 sind nicht bekannt.
dx = x2 - x1
dy = y2 - y1
Ich möchte nun zu einem bekannten dx (= Delta x) und einem bekannten dy (Delta y) die Absolutwerte x2, x1 bzw. y2, y1 bestimmen. Ich möchte also wissen, wo dx und dy im Polynom 'genau liegt'.
Meine Lösung sieht derzeit so aus, dass ich dx in kleinen Intervallschritten in einer Schleife laufen lasse bzw. auf der X-Achse solange verschiebe bis ich aufgrund der Polynomformel dy erhalte. Somit ergeben sich dann x2,x1,y2,y1.
Vielleicht gibt es dazu eine elegantere Variante? :-)
Vielleicht gibt es dazu in Matlab auch spezielle Befehle?
Vielen Dank für Eure Antworten! http://matheplanet.com/matheplanet/nuke/html/images/forum/subject/rotate.gif
|
Profil
|
majoka
Senior  Dabei seit: 25.02.2014 Mitteilungen: 814
 | Beitrag No.1, eingetragen 2017-05-04
|
Hallo hexer21,
willkommen im Forum.
Deine Beschreibung ist nicht ganz eindeutig. Ich vermute, dass das Polynom $f(x)=ax^4+bx^3+cx^2+dx+e$ lautet und $y_1=f(x_1)$ sowie $y_2=f(x_2)$ gilt, richtig?
Wenn ich Dich richtig verstanden habe, suchst Du eine Stelle mit $f(x_2)-f(x_1)=f(x_1+dx)-f(x_1)=dy$, wobei $x_1$ gesucht und $dx$ und $dy$ gegeben sind.
In Matlab geht das mit dem Befehl "fzero".
Falls eine Lösung gefunden wird, ist diese im Allgemeinen nicht eindeutig.
\sourceon Matlab
clear all
a = .9;
b = 1.2;
c = 0.7;
d = 1;
e = -2
f = @(x) a*x.^4 + b*x.^3 + c*x.^2 + d*x + e;
dx_mess = 0.25;
dy_mess = 2;
dy = @(x_1) f(x_1 + dx_mess) - f(x_1);
err = @(x_1) dy(x_1) - dy_mess;
x_1_est = fzero(err,0)
x_2_est = x_1_est + dx_mess
f(x_2_est)-f(x_1_est)
x = 0:0.01:2;
clf
figure(1)
hold on
plot(x,f(x),'gr')
plot(x_1_est,f(x_1_est),'o',x_2_est,f(x_2_est),'o')
line([x_1_est,x_2_est],[f(x_1_est),f(x_1_est)])
line([x_2_est,x_2_est],[f(x_1_est),f(x_2_est)])
grid
hold off
\sourceoff
Gruß
majoka
|
Profil
|
ligning
Senior  Dabei seit: 07.12.2014 Mitteilungen: 3555
Wohnort: Berlin
 | Beitrag No.2, eingetragen 2017-05-04
|
Es sieht so aus, als suchtest du eigentlich eine Stelle, an der die Ableitung des Polynoms einen vorgegebenen Wert hat.
|
Profil
|
hexer21
Neu  Dabei seit: 04.05.2017 Mitteilungen: 3
 | Beitrag No.3, vom Themenstarter, eingetragen 2017-05-05
|
@ majoka,
Das die Aufgabenstellung mit der Ermittlung der Nullstelle zu lösen ist, auf das wäre ich in 100 Jahren nicht gekommen!
vielen herzlichen Dank für Deine Antwort!!
Hat mir sehr weiter geholfen :-)
hexer21
|
Profil
|
hexer21
Neu  Dabei seit: 04.05.2017 Mitteilungen: 3
 | Beitrag No.4, vom Themenstarter, eingetragen 2017-05-05
|
Zu der Dauer der eigentlichen Nullstellenberechnung habe ich noch eine Frage.
53.823 ms ist schon recht gut. Gibt es eventuell noch eine Möglichkeit diese Berechnungsdauer der Nullstellen zu verringern?
x_1_est =
0.7828
Elapsed time is 0.053823 seconds.
|
Profil
| Folgende Antworten hat der Fragensteller vermutlich noch nicht gesehen. Er/sie war noch nicht wieder auf dem Matheplaneten |
majoka
Senior  Dabei seit: 25.02.2014 Mitteilungen: 814
 | Beitrag No.5, eingetragen 2017-05-05
|
Man könnte es mit dem Newton-Verfahren versuchen.
|
Profil
|
Kitaktus
Senior  Dabei seit: 11.09.2008 Mitteilungen: 7234
Wohnort: Niedersachsen
 | Beitrag No.6, eingetragen 2017-05-05
|
Ich weiß nicht, welches Verfahren fzero verwendet.
$\displaystyle a\cdot((x+dx)^4 -x^4) + b\cdot((x+dx)^3 -x^3) + c\cdot((x+dx)^2 -x^2) + d\cdot((x+dx) -x) - dy = 0$ vereinfacht sich zu einer Gleichung dritten Grades. Die Lösungen davon kann man explizit angeben. Das sollte eigentlich noch schneller gehen als ein iteratives Verfahren zur Suche einer Nullstelle
|
Profil
|
hexer21 wird per Mail über neue Antworten informiert. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|