AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Das mathematische Problem..... x hoch 3 - x*6
Thema durchsuchen
Ansicht
Themen-Optionen

Das mathematische Problem..... x hoch 3 - x*6

Ein Thema von fes · begonnen am 28. Mär 2004 · letzter Beitrag vom 29. Mär 2004
 
fes

Registriert seit: 22. Mär 2004
33 Beiträge
 
Delphi 2005 Personal
 
#1

Das mathematische Problem..... x hoch 3 - x*6

  Alt 28. Mär 2004, 20:01
Hallo zusammen!
Ich habe hier ein Problem! (Wer hätte das gedacht?)
Folgendes:
Ich habe mir vorgenommenm, ein Programm zu schreiben, dass y für die Funktion x hoch 3 - x*6 berechnet, und zwar in 0.1-er Schritten. Das Intervall, von dem die Werte genommen werden, kann man selber eingeben.
Das war auch soweit kein Problem, aber als ich dann eine Vorzeichenanalyse(wann geht die Funktion von - nach + oder umgekehrt) noch zusätzlich mit eingebaut habe, bekam ich zwar Funktionswerte zurück, diese Werte waren zwar von der Anzahl richtig, aber um ca. 1,5 Zahlenwerte verschoben...
Ich hab alles mögliche Versucht, zusätzlicher Timer, sleep, usw... aber der Fehler besteht weiterhin...
Zur Veranschaulichung habe ich ein Bild mit angehängt...


Mein Code:


Delphi-Quellcode:
var
  Form1: TForm1;
  fx,zahler,k,x,y,z,i,A,B: Extended;


implementation

{$R *.DFM}



procedure Tform1.Graphrechnen;
begin
memo2.lines.text:= '';
a := strtofloat(edit2.text); // Intervallanfangswert = A
b:= strtofloat(edit3.text); // Intervallendungswert = B
x := A;
memo2.Lines.add( 'Berechnung von x für das Intervall '+ floattostr (a) + ' bis ' + floattostr (b));
repeat
fx:=power(x,3) - (6 * x); // Berechnung der Funktion x hoch 3 - x*6
fx:= RoundToPointPosition(fx, 5); // Wert wird gerundet
x := RoundToPointPosition(x, 3); // Wert wird gerundet
VZW; // Vorzeichenwechselanalyse
memo2.lines.add(floattostr (fx) + ' für ' + floattostr(x));
X:= x +(0.1); // x wird um 0,1 vergrößert...
until x > B; // es wird solange die Funktion berechnet, bis x gleich dem Intervallendungswert ist
exit;
end;



procedure Tform1.VZW; // Vorzeichenwechselanalyse
begin
if memo1.lines.text='then
memo1.lines.add('Berechnung von x für das Intervall '+ floattostr (a) + ' bis ' + floattostr (b));
k := x -0.1; // zur Berechnung wird der vorherige Wert genommen...
y:= power(k,3) - (6 * k);
z:= fx-y; //... um mit der Differenz ausrechnen zu können, ob der Graph im Negativen, bzw. Positiven ist

if z > 0 then //Das nicht bei jedem z > 0 die Schleife ausgefürt wird...
begin
if zahler = 1 then // ...ist ein Schutz eingebaut
exit;
zahler := +1;
memo1.Lines.add('Vorzeichenwechsel +/- bei '+ floattostr(x));
end;

if z < 0 then
begin
if zahler = -1 then
exit;
zahler := -1;
memo1.Lines.add('Vorzeichenwechsel -/+ bei '+ floattostr(x));
end;
end;


function RoundToPointPosition(Number : Extended; PointPos : Byte): Extended;
begin
 Result := StrToFloat(FloatToStrF(Number, ffNumber, 10, PointPos));
end;
end.

Ich hoffe ihr könnt mir helfen.
Vielen Dank

[edit=Luckie]Delphi-Tags. Mfg, Luckie[/edit]
Angehängte Grafiken
Dateityp: jpg delphi_191.jpg (72,1 KB, 46x aufgerufen)
  Mit Zitat antworten Zitat
 


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 14:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz