Darstellung Funktionen < Tabellenkalkulationen < Anwendungsprogramme < Praxis < Informatik < Vorhilfe
|
Hello Mathefans, habe folgendes Problem und bedanke mich schon jetzt für eure Hilfe:
Gegeben seien 2 Wertepaare (2 unbekannte Funktionen) die ähnlich (nicht gleich und auch keine gleiche Anzahl der Werte y zu den x-Werten) haben. Durch eine Verschiebung auf der x-Achse kann man diese aber etwa in Übereinstimmung bringen, ( mache dies z.Z. mit Exceldiagramm und manueller Eingabe dieser Verschiebung) wie bekomme ich diese Verschiebung mathematisch exakt raus? Mir fehlt ein Kriterium, habe schon die Differenzen der einzelnen Werte genommen, führte aber zu keinem Ergebniss. Auch mittels solver gelang es mir nicht, da wie gesagt mir das Kriterium fehlt. Herauskommen soll also nur eine einzelne Zahl, eben der Betrag der Verschiebung (kann positiv, als auch negativ sein) wo die Unterschiede der y- Werte ein Minimum werden.
Gruss WS
Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:
z.B. http://www.xlforum.herber.de/ hier ist auch eine Exceldatei ladbar, die das Problem aufzeigt
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 15:21 Sa 05.02.2005 | Autor: | PStefan |
Hallo!
>
> Gegeben seien 2 Wertepaare (2 unbekannte Funktionen) die
> ähnlich (nicht gleich und auch keine gleiche Anzahl der
> Werte y zu den x-Werten) haben.
Lade dir von der Seite:
www.geogebra.at
Den webstart herunter. In diesem Programm ist es einfacher als in Excel etwas zu berechnen, da beim verschieben, wie du ja gesagt hast in Geogebra mitgerechnet wird.
Ich hoffe ich habe dich richtig verstanden und konnte dir helfen.
MfG
Stefan
|
|
|
|
|
Hello, erstmal Dank für deine Anregung, bringt mich aber nicht weiter, habe in dem Programm nichts gefunden, wo ich die Wertepaare (große Anzahl) übernehmen kann, ich dachte eigentlich daran, ob es zu dieser Problematik einen Programmierallgorhythmus gibt um das zu lösen, eine einfache Berechnung der horizontalen Verschiebung zweier Funktionen, die ausschließlich gegeben sind durch ihre Wertepaare um zu erreichen , dass sie in etwa deckungsgleich werden.
Vielleicht hat ja jemand noch ein Idee?
Gruss WS
|
|
|
|
|
Hallo,
ich bin mir nicht 100% sicher, ob ich dich richtig verstanden habe, daher nochmal mein Verständnis:
Gegeben sind zwei Tabellen der Form:
Funktion 1:
[mm] (fx_1,fy_1) [/mm]
[mm] (fx_2,fy_2)
[/mm]
....
Funktion2
[mm] (gx_1,gy_1)
[/mm]
[mm] (gx_1,gy_1)
[/mm]
...
wobei die Stellen unterschiedlich sein können?!
Ziel ist es nun eine Verschiebung zu finden, so dass für alle Punkte
[mm] (fx_1 [/mm] + [mm] Verschiebung,fy_1) \approx (gx_1,gy_1)
[/mm]
Für dieses Problem ist das Vorgehen folgendermaßen:
Vergleiche die y - Werte von Funktion1 mit denen von Funktion2 und
finde diejenigen, die sich am nächsten sind. Beide haben x - Stellen
fx , gx. Die Differenz zwischen beiden ist die Verschiebung.
Also:
[mm] fx_i [/mm] ist die i.te Stelle von der Funktion1
[mm] gx_i [/mm] ist die i.te Stelle von der Funktion2
[mm] fy_i [/mm] ist der i.te Wert Funktion1
[mm] gy_i [/mm] ist der i.te Wert Funktion2
diff = [mm] \infty [/mm] //Initialisierung mit einer Zahl, die definitiv zu groß ist
n = length(Funktion1) // die Anzahl der Funktionspaare Funktion1
m = length(Funktion2) // die Anzahl der Funktionspaare Funktion2
for ( i = 1 bis n)
{
for( j = 1 bis m)
{
diff_neu = [mm] fy_i [/mm] - [mm] gy_j;
[/mm]
if(diff_neu < diff)
{
diff = diff_neu;
IndexFunktion1 = i;
IndexFunktion2 = j;
}
}
}
if(fx_IndexFunktion1 > fx_IndexFunktion2)
Verschiebung = fx_IndexFunktion1 - gx_IndexFunktion2;
else
Verschiebung = fx_IndexFunktion2 - gx_IndexFunktion1;
Ich hoffe, dass das einigermaßen verständlich ist :o)
marthasmith
|
|
|
|