AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Lineare Interpolation
Thema durchsuchen
Ansicht
Themen-Optionen

Lineare Interpolation

Ein Thema von Six · begonnen am 19. Jul 2005 · letzter Beitrag vom 21. Jul 2005
Antwort Antwort
Seite 2 von 4     12 34      
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#11

Re: Lineare Interpolation

  Alt 20. Jul 2005, 14:02
Hi mschaefer,

danke für deine Antwort, aber ist das nicht im Grunde genau das, was ich auch schon implementiert habe?

Meine Erfolge damit kennst du ja...

lg

Six
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Lineare Interpolation

  Alt 20. Jul 2005, 15:42
Hallo Six,

dann wollen wir mal...

Sei f0 die Startfrequenz, fn die Endfrequenz, t0 = t(f0) die Dauer eines Schaltzyklus, n die Anzahl der Schaltzyklen, T das abzudeckende Zeitintervall und d die Zeitdifferenz zweier aufeinander folgender Schaltzyklen. Summe(i, 1, n) sei die Notation für die Summe der ersten n Zahlen.

Gesucht werden die Einschaltzeiten bei vorgegebenem T und der Randbedingung, dass die t(f) eine arithmetische Reihe bilden.

Nach der allgemeinen Summenformel für die arithmetische Reihe ist dann T = Summe(t0 + i*d, 0, n)
oder nach Gauss T = t0 (n + 1) + d (n (n + 1) / 2)
Das lässt sich auflösen nach d = (T - 2 t0 (n + 1)) / (n (n + 1))

Wenn du jetzt noch n vorgibst, dann kannst du d bestimmen und in die allgemeine Summenformel einsetzen. Dann kannst du iterativ die Einschaltzeiten berechnen und wenn du noch das konstante Verhältnis von Ein- zu Ausschaltdauer in Ansatz bringst, dann hast du auch noch deine Ausschaltzeiten. Mir ist bewusst, dass T mit einer Pause endet. Eventuell musst du beim Laufindex eine mögliche off-by-one Falle beachten. Jetzt müsste das noch einer Korrektur lesen.

Leg los.

marabu
  Mit Zitat antworten Zitat
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#13

Re: Lineare Interpolation

  Alt 20. Jul 2005, 17:45
Hi marabu,

danke für deine Antwort, doch nach mehrmaligem durchlesen und verstehen versuchen, muss ich mir eingestehen, dass ich keinen blassen Schimmer habe, was ich machen soll. Bitte bedenke, ich habe bisher weder ein Mathe-, noch ein Informatikstudium hinter mich gebracht.

Bedeutet Summe(i,1,n) ganz einfach i+1+n?

Meinst du mit n die Herzzahl und wenn ja, welche der beiden? Ansonsten habe ich KEIN n.

Was ich habe ist die Startfrequenz, Endfrequenz und ein Zeitintervall, in dem das ganze ablaufen soll. Am Ende soll das ganze dann so aussehen, wie auf der grünen Zeichnung (nicht als Zeichnung sondern als Werte in einer Tabelle).Vielleicht habe ich mich da noch nicht deutlich genug ausgedrückt.

Was meinst du mit der "off-by-one Falle". Sorry, aber du sprichst hier mit einem Hobbyprogrammierer und keinem Experten.

Bitte formuliere das ganze doch ein wenig allgemeiner verständlich

Dankeschön!

Six
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Lineare Interpolation

  Alt 20. Jul 2005, 18:24
Hi Six,

Zitat von Six:
danke für deine Antwort, doch nach mehrmaligem durchlesen und verstehen versuchen, muss ich mir eingestehen, dass ich keinen blassen Schimmer habe, was ich machen soll. Bitte bedenke, ich habe bisher weder ein Mathe-, noch ein Informatikstudium hinter mich gebracht.
ähm - das war die Fassung für Laien...

Zitat von Six:
Bedeutet Summe(i,1,n) ganz einfach i+1+n?
Summe(i,1,n) steht für die Summe aller i, wobei du für i nacheinander die Werte 1 bis n einsetzt.

Zitat von Six:
Meinst du mit n die Herzzahl
du denkst zuviel ans Kartenspiel...

Zitat von Six:
Ansonsten habe ich KEIN n.
Das ist ja das Problem. Ich kann momentan nicht erkennen, wie die Aufgabe zu lösen sein soll, ohne dass du die Anzahl an Schaltzyklen vorgibst.

Zitat von Six:
Vielleicht habe ich mich da noch nicht deutlich genug ausgedrückt.
Glaube mir, für mich reicht es.

Zitat von Six:
Was meinst du mit der "off-by-one Falle".
Darüber reden wir noch, wenn du den Prototypen entwickelt hast.

So ein schöner thread und wir beide haben ihn ganz alleine für uns...

marabu
  Mit Zitat antworten Zitat
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#15

Re: Lineare Interpolation

  Alt 20. Jul 2005, 18:44
Hi marabu,

Zitat:
ähm - das war die Fassung für Laien...
Zitat:
du denkst zuviel ans Kartenspiel...
Zitat:
Glaube mir, für mich reicht es.
Zitat:
So ein schöner thread und wir beide haben ihn ganz alleine für uns...
Ich weiß nicht was du mit diesen Aussagen bezwecken willst. Auf mich wirken sie jedenfalls ziemlich erniedrigend. Ich habe den Eindruck du findest das ganz lustig hier mit meiner "Unwissenheit" zu spielen, obwohl du die Lösung bereits kennst.

Wenn ich wüsste, wie es geht, hätte ich hier sicher nicht gefragt und deine "Laienversion" hilft mir ohne weitere Kenntnisse leider nicht weiter. Wenn du mir also wirklich helfen willst, sag was du weißt und nimm den Zeigefinger runter

Das Problem sollte sich meiner Ansicht nach mit einer Start- sowie Endfrequenz und einem Zeitintervall lösen lassen. Haufenweise anderer Programme lösen das Problem mit den gleichen Informationen.

mfg

Six
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: Lineare Interpolation

  Alt 20. Jul 2005, 19:16
Zitat von Six:
Ich habe den Eindruck du findest das ganz lustig hier mit meiner "Unwissenheit" zu spielen, obwohl du die Lösung bereits kennst.
Du täuschst dich. Es tut mir sehr leid, wenn mein Anflug von Humor diesen Eindruck bei dir hinterlässt. Nochmal mit allem Ernst: ich bemühe mich wirklich um eine Darstellung für Nicht-Mathematiker. Der Namensgeber für die Einheit der Frequenz schrieb sich mit tz und mein verschlüsselter Hinweis hat ein wunderbares Versmaß. Dann wollte ich dich von weiteren Versuchen abhalten mir dein Problem zu erklären, nachdem ich ziemlich sicher bin, dass ich es schon beim ersten Lesen verstanden habe. Und zuguterletzt würde ich mir wirklich wünschen eine Meinung von dritter Seite zum Stand meiner Überlegungen zu lesen.

Es ist so, wie ich es sage. Solange keine Anzahl für die (immer kleiner oder größer werdenden) Schaltzyklen vorgegeben wird, sehe ich keine Möglichkeit zur Berechnung einer eindeutigen Lösung. Mir fällt auf die Schnelle auch keine Optimierungsfunktion ein, an deren Haaren ich mich aus diesem Sumpf ziehen könnte.

marabu
  Mit Zitat antworten Zitat
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#17

Re: Lineare Interpolation

  Alt 20. Jul 2005, 19:26
Zitat:
Du täuschst dich. Es tut mir sehr leid, wenn mein Anflug von Humor diesen Eindruck bei dir hinterlässt.
Ok, marabu, dann tut es mir leid, dich dessen verdächtigt zu haben! Bitte ab jetzt keine verschlüsselten Humorbotschaften mehr

Nun noch mal zum Problem. Da du es ja offenbar verstanden hast, kann ich mir zum Glück weitere Ausführungen sparen. Was sagst du denn zu meinem Code, der zumindest schon mal ein Ergebnis liefert, welches in die richtige Richtung geht (siehe Anhang). Kann man auf diese Weise nicht noch irgend etwas erreichen?

Six
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#18

Re: Lineare Interpolation

  Alt 20. Jul 2005, 19:41
Moin, moin,

also ehrlich gesagt habe ich mich jetzt mit den Reihen nicht beschäftigt. Denke schon das es damit irgendwie geht, aber der Aussetzter in obigen Bild hat nichts mit der linearen Interpolation zu tun. Da ist ein Umsetzungsfehler drin. Die Zeitindexe dürfen sich nicht überschneiden, dann kommen diese Zeichenfehler durch überzeichnen. Da ich wenig Zeit im Moment habe würde ich folgendes Vorschlagen. Six bau doch mal ein kurzes Projekt zusammen, was folgende Aufgabe erledigt.

Es soll eine Funktion haben die nur eine Schwingung zeichnet 01 halt. Die Zeichenstelle ergibt sich aus dem Zeitindex und die Zeichenbreite / Strichbreite und Leerbreite aus der übergebenen Hertzzahl.



Den Rest mit den Interpolationsfunktionen können wir dann zusammen einsetzten. Vielleicht auch mal was anderes als nur linear.
Das Problem an Deinem Beispiel oben ist in der Zeitindexansteuerung zu sehen. Du Interpolierst einen Zeitindex mit einer Schwingung
jetzt kommt der nächste Zeitindex. Wie lange der aktuelle Index allerdings ist hängt an der Hertzzahl. Das heißt Du würdest das allgemein folgend aufbauen.

Solage bis Endzeitindex erreicht
-Funktion 1: Ermittler Hertzzahl/Frequenz durch Interpolation aus den Start/Endwerten zum Zeitindexe x
-Funktion 2: Ermittle länge des Zeitindex x aus Hertzzahl
-Funktion 3: Setze Position aus Addition der letzten Zeitindexsumme plus des aktuellen Zeitindexes (marabus Reihenidee(?))
Solange Ende

Macht es Schrittweise, es ist schon der richtige Weg // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#19

Re: Lineare Interpolation

  Alt 21. Jul 2005, 01:05
Ich hätte es zwar selber nicht mehr gedacht, aber ich habe eine Lösung gefunden. Für alle die es interessiert werde ich sie morgen posten. Vielen Dank noch mal an alle, die mir versucht haben zu helfen.

mfg

Six
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#20

Re: Lineare Interpolation

  Alt 21. Jul 2005, 06:28
Hallo Six,

lineare Interpolation, Abitur und nie was davon gehört?
Da musst du aber schwer geschlafen haben. (Pisa lässt grüssen)
Sieh mal in deinen Schulbüchern nach unter lineare Funktionen f(x)=mx+b
Genau das ist es nämlich was du brauchst.

Rainer
(ich glaube hier will einer aus Klasse 9 seine Hausaufgaben lösen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz