Thema: Delphi Mathe Porblem

Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Mathe Porblem

  Alt 15. Jun 2005, 21:51
Du willst, jetzt rein mathematisch gesehen, zwischen 2 y-Werten (y0=Anfangswert zu y1=Endwert) eine Funktion linear laufen lassen, und zwar über den Bereich x0 bis x1 (x entspricht in deinem Fall der Zeit, also x0=t0=0 bis x1=t1=5 sec.)

Deine Gleichung lautet, da du ja einen linearen Zusammenhang vorgibst,

Code:
y = k*x + y0
Dabei ist k die Steigung, die du noch zu ermitteln hast. Du hast aber noch einen Fixpunkt, den du dir vorgibst, nämlich

Code:
y1 = k*x1 + y0
Daraus läßt sich die Steigung k bestimmen
Code:
=> k = (y1-y0) / x1
Und somit wird deine Funktion:

Code:
y = [(y1-y0)/x1] * x + y0
Um dies jetzt in Delphi umzusetzen, lässt du x über den Bereich x0 bis x1 in beliebig kleinen Schritten variieren. Etwa so:

Delphi-Quellcode:
begin
     x := x0 ;
     k := (y1-y0) / x1 ;
     Schrittweitex := 0.1 ;
     while x <= x1 do begin
          y := k*x + y0 ;
          // SetzeLautstärke
          // eventuell noch eine Pause einbauen, da die Schleife sonst zu schnell durchläuft.
          // Alternativ kannst du das Ganze auch mit einem Timer lösen
          x := x + Schrittweitex
     end ;
end ;
  Mit Zitat antworten Zitat