Discussion:
Logarithmus- bzw. Exponentialfunktion durch 2 Punkte
(zu alt für eine Antwort)
Malte Schneider
2005-04-18 15:14:35 UTC
Permalink
Hi,

es scheint mir dass sich hier neben Java auch Mathe-Cracks rumtreiben,
wo ihr doch so schön bei dem Binomialkoeffizienten-Problem geholfen habt.
Hier nun mein Problem:
gegeben seien 2 Punkte P1(x1,y1) und P2(x2,y2) wobei x1,y1,x2,y2>=0
sind. Gesucht sind jetzt Variationen von e^x und ln(x), die durch die
Punkte gehen. Der Algorhitmus muss nicht sonderlich genau rechnen.

Malte
Bernd Eckenfels
2005-04-18 16:45:48 UTC
Permalink
Post by Malte Schneider
gegeben seien 2 Punkte P1(x1,y1) und P2(x2,y2) wobei x1,y1,x2,y2>=0
sind. Gesucht sind jetzt Variationen von e^x und ln(x), die durch die
Punkte gehen. Der Algorhitmus muss nicht sonderlich genau rechnen.
Ich hoffe das ist ne Abi Aufgabe und keine Universitätsübung, oder?

Die Koeffizienten zu bestimmen und die Kurve zu verschieben ist ja nicht so
der act? Falls du nicht denken willst (was ich sehr löblich finde!) nimm
"expotential functionspoints" bei google und nehm den ersten treffer:

http://home.hccnet.nl/david.dirkse/math/exp/expfunc.html

Gruss
Bernd
Stefan Pfeiffer
2005-04-18 17:55:55 UTC
Permalink
Hi!
Post by Malte Schneider
Hi,
es scheint mir dass sich hier neben Java auch Mathe-Cracks rumtreiben,
wo ihr doch so schön bei dem Binomialkoeffizienten-Problem geholfen habt.
gegeben seien 2 Punkte P1(x1,y1) und P2(x2,y2) wobei x1,y1,x2,y2>=0
sind. Gesucht sind jetzt Variationen von e^x und ln(x), die durch die
Punkte gehen. Der Algorhitmus muss nicht sonderlich genau rechnen.
Solange du keinen Parameter zulässt, ist dein Problem reichlich
überdefiniert. Definierte "Variationen". Im Übrigen brauchst du keinen
"Algorhitmus" err, Algorithmus, sondern nur Kenntnis von der Anwendung
von Umkehrfunktionen.

man Mathematik
Post by Malte Schneider
Malte
MfG
Stefan
Paul Ebermann
2005-04-19 01:35:23 UTC
Permalink
Post by Malte Schneider
es scheint mir dass sich hier neben Java auch Mathe-Cracks rumtreiben,
Eigentlich gibt es dazu de.sci.mathematik.
Post by Malte Schneider
wo ihr doch so schön bei dem Binomialkoeffizienten-Problem geholfen habt.
gegeben seien 2 Punkte P1(x1,y1) und P2(x2,y2) wobei x1,y1,x2,y2>=0
sind. Gesucht sind jetzt Variationen von e^x und ln(x), die durch die
Punkte gehen.
Das ist nicht eindeutig, solange du nicht sagst, was
für "Variationen" du zulässt.

Wenn ich

f(x) = a*ln(b*x - c) + d

ansetze (bei e^x analog), kann ich schon vier Parameter
variieren.
Setzen wir c < min(x1,x2) und b > 0
(alternativ c > max(x1,x2) und b < 0 - damit der Logarithmus
an den entsprechenden Stellen überhaupt definiert ist) fest, so
erhalten wir die Gleichungen

y1 = a*ln(b*x1 - c) + d
y2 = a*ln(b*x2 - c) + d

Da wir b und c festgesetzt haben, können wir die Logarithmen
einfach ausrechnen, und es bleibt ein lineares Gleichungssystem,
aus dem man einfach a und d ausrechnen kann.

Das jetzt in Java umzusetzten überlasse ich dir
als Übungsaufgabe.

Etwas schwieriger ist es, wenn du a und b festlässt
und b und c ausrechnen willst, aber das geht auch.

Für exp() geht es analog (wenn du x und y vertauschst,
kannst du sogar den selben Algoritmus nehmen.)
Post by Malte Schneider
Der Algorhitmus muss nicht sonderlich genau rechnen.
Im Gegensatz zum Rhytmus haben Algorithmus und
Logarithmus das "h" hinter dem "t", nicht gleich
hinter dem "r". SCNR.


Paul
--
Die dclj-FAQ wird immer freitags hier gepostet.
Eine (nicht ganz aktuelle) HTML-Version gibt es hier:
http://de.geocities.com/uweplonus/faq/
Malte Schneider
2005-04-19 12:34:10 UTC
Permalink
Post by Paul Ebermann
Post by Malte Schneider
es scheint mir dass sich hier neben Java auch Mathe-Cracks rumtreiben,
Eigentlich gibt es dazu de.sci.mathematik.
Der mir zur Verfügung stehende Newsserver bietet de.sci.mathematik
leider nicht an.
Post by Paul Ebermann
Post by Malte Schneider
wo ihr doch so schön bei dem Binomialkoeffizienten-Problem geholfen habt.
gegeben seien 2 Punkte P1(x1,y1) und P2(x2,y2) wobei x1,y1,x2,y2>=0
sind. Gesucht sind jetzt Variationen von e^x und ln(x), die durch die
Punkte gehen.
Das ist nicht eindeutig, solange du nicht sagst, was
für "Variationen" du zulässt.
Wenn ich
f(x) = a*ln(b*x - c) + d
ansetze (bei e^x analog), kann ich schon vier Parameter
variieren.
Genau das meinte ich mit Variationen.
Post by Paul Ebermann
Setzen wir c < min(x1,x2) und b > 0
(alternativ c > max(x1,x2) und b < 0 - damit der Logarithmus
an den entsprechenden Stellen überhaupt definiert ist) fest, so
erhalten wir die Gleichungen
y1 = a*ln(b*x1 - c) + d
y2 = a*ln(b*x2 - c) + d
Da wir b und c festgesetzt haben, können wir die Logarithmen
einfach ausrechnen, und es bleibt ein lineares Gleichungssystem,
aus dem man einfach a und d ausrechnen kann.
Das liefert mir aber nur Funktionen, die durch jeweils einen Punkt
gehen, nicht aber durch beide.
Post by Paul Ebermann
Das jetzt in Java umzusetzten überlasse ich dir
als Übungsaufgabe.
Etwas schwieriger ist es, wenn du a und b festlässt
und b und c ausrechnen willst, aber das geht auch.
Für exp() geht es analog (wenn du x und y vertauschst,
kannst du sogar den selben Algoritmus nehmen.)
Post by Malte Schneider
Der Algorhitmus muss nicht sonderlich genau rechnen.
Im Gegensatz zum Rhytmus haben Algorithmus und
Logarithmus das "h" hinter dem "t", nicht gleich
hinter dem "r". SCNR.
Wieso zieht ihr euch an einem simplen Typo so hoch ? Logarithmus war ja
auch richtig geschrieben.

Malte
Paul Ebermann
2005-04-19 13:04:36 UTC
Permalink
Post by Malte Schneider
Post by Paul Ebermann
Post by Malte Schneider
es scheint mir dass sich hier neben Java auch Mathe-Cracks rumtreiben,
Eigentlich gibt es dazu de.sci.mathematik.
Der mir zur Verfügung stehende Newsserver bietet de.sci.mathematik
leider nicht an.
Komischer Newsserver, der dclj liefert, aber nicht dsm.
Ich würde mich da glatt beim Admin beschweren :-)
Post by Malte Schneider
Post by Paul Ebermann
Setzen wir c < min(x1,x2) und b > 0
(alternativ c > max(x1,x2) und b < 0 - damit der Logarithmus
an den entsprechenden Stellen überhaupt definiert ist) fest, so
erhalten wir die Gleichungen
y1 = a*ln(b*x1 - c) + d
y2 = a*ln(b*x2 - c) + d
Da wir b und c festgesetzt haben, können wir die Logarithmen
einfach ausrechnen, und es bleibt ein lineares Gleichungssystem,
aus dem man einfach a und d ausrechnen kann.
Das liefert mir aber nur Funktionen, die durch jeweils einen Punkt
gehen, nicht aber durch beide.
Warum?
Mit zwei linearen Gleichungen (und geeigneten Werten für
x1,x2,y1,y2 - fast alle Kombinationen gehen da) hat so ein
Gleichungssystem eine eindeutige Lösung, die beide
Gleichungen erfüllt.


Paul
--
The Java Virtual Machine Specification:
http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html
Malte Schneider
2005-04-20 06:38:51 UTC
Permalink
[snip]
Post by Paul Ebermann
Warum?
Mit zwei linearen Gleichungen (und geeigneten Werten für
x1,x2,y1,y2 - fast alle Kombinationen gehen da) hat so ein
Gleichungssystem eine eindeutige Lösung, die beide
Gleichungen erfüllt.
Paul
Du hast natürlich recht. Kommt halt davon wenn das Abi zu weit
zurückliegt und man so einen Kram so gut wie nie braucht. Ich nehme an,
du hast eine gute Seite parat, die (progammatische) Algorithmen zur
Lösung von Gleichungssyste, anbietet ?

Malte
Paul Ebermann
2005-04-20 09:23:59 UTC
Permalink
Post by Malte Schneider
Post by Paul Ebermann
Warum?
Mit zwei linearen Gleichungen (und geeigneten Werten für
x1,x2,y1,y2 - fast alle Kombinationen gehen da) hat so ein
Gleichungssystem eine eindeutige Lösung, die beide
Gleichungen erfüllt.
Du hast natürlich recht. Kommt halt davon wenn das Abi zu weit
zurückliegt und man so einen Kram so gut wie nie braucht. Ich nehme an,
du hast eine gute Seite parat, die (progammatische) Algorithmen zur
Lösung von Gleichungssyste, anbietet ?
Wenn es um fünf oder mehr Gleichungen (und Variablen) gehen würde,
würde ich soetwas ansetzen.
Für zwei Variablen macht man das per Hand:

y1 = a*ln(b*x1 - c) + d
y2 = a*ln(b*x2 - c) + d


y1 - y2 = a * (ln(b*x1 - c) - ln(b*x2 - c))
a = (y1 - y2) / (ln(b*x1 - c) - ln(b*x2 - c))

(Wenn die Differenz der Logarithmen 0 ist (und y1-y2 nicht),
gibt es offensichtlich keine Lösung.)
Jetzt setzen wir a in eine der Ausgangsgleichungen ein:

d = y2 - (y1 - y2) / (ln(b*x1 - c) - ln(b*x2 - c)) * ln(b*x2 - c)
oder
d = y1 - (y1 - y2) / (ln(b*x1 - c) - ln(b*x2 - c)) * ln(b*x1 - c)


Wenn alles gut gegangen ist, kommt ungefähr
das gleiche raus ...


Paul
--
Eine Signatur sollte mit "-- " abgetrennt werden,
wobei OjE meist das " " verschluckt. Eine nicht
korrekt abgetrennte Signatur ist keine Signatur ...
Lesen Sie weiter auf narkive:
Suchergebnisse für 'Logarithmus- bzw. Exponentialfunktion durch 2 Punkte' (Fragen und Antworten)
5
Antworten
Aus Wertetabelle Formel erstellen?
gestartet 2007-04-06 11:48:40 UTC
mathematik
Loading...