Autor Beitrag
Dmo
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Do 04.10.07 12:03 
Hallo leute...

ich möchte mir eine funktion veranschaulichen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TForm1.FMClick(Sender: TObject);

var u_n, f_n, u_t, f_t, M:integer;
    t:extended;
    u_fm:extended;
begin
  u_n:=3;
  f_n:=1;
  u_t:=3;
  f_t:=10;
  M:=65;
  t:=0;
  repeat
    u_fm:=u_t*cos(2*pi*f_t*t+M*sin(2*pi*f_n*t));
    series2.AddXY(t,u_fm);
    t:=t+1;
  until
    t=200;
end;


Wo muss ich das DegToRad einfügen?
Nach dem Cosinus und nach dem Sinus?

Desweiteren bin ich mir bei der Variablendeklaration nicht sicher.

Ich hoffe es kann mir jemand behilflich sein...


Gruß Dmo
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Sa 20.10.07 12:08 
Hallo,

also, DegToRad() brauchst du nur, wenn du Grad-Angaben hast, und sie als Rad benötigst. Grundsätzlich arbeiten alle trogonometrischen Funktionen in Delphi ausnahmslos mit Rad (okay, außer du fängst mit OpenGL an...). Willst du z.B. den Sinus von 90° berechnen, brauchst du:
ausblenden Delphi-Quelltext
1:
Sin(DegToRad(90))					


In deiner Funktion sehe ich keine Probleme diesbezüglich. Allerdings könntest du die repeat-Schleife einfacher implementieren:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.FMClick(Sender: TObject);
var
  u_n, f_n, u_t, f_t, M: integer;
  t: extended;
  u_fm: extended;
begin
  u_n := 3;
  f_n := 1;
  u_t := 3;
  f_t := 10;
  M := 65;
  for t := 0 to 200 do
  begin
    u_fm := u_t * cos(2 * pi * f_t * t + M * sin(2 * pi * f_n * t));
    series2.AddXY(t, u_fm);
  end;
end;


Natürlich könntest du die Argumente auch im Gradmaß angeben, und dann dein DegToRad() anwenden:
ausblenden Delphi-Quelltext
1:
u_fm := u_t * cos(DegToRad(360 * f_t * t + M * sin(DegToRad(360 * f_n * t))));					


Wäre aber recht unsinnig...

Mit den Variablen sehe ich kein Problem. Außer dass für solch einfache Funktionen eigentlich Simple statt Extended angebracht wäre - spart Zeit (so ein paar Mikrosekunden halt).

_________________
Life is a bad adventure, but the graphic is really good!