AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei Benutzung der TChart

Ein Thema von Andre_Schmidt · begonnen am 12. Dez 2006 · letzter Beitrag vom 15. Dez 2006
Antwort Antwort
Andre_Schmidt

Registriert seit: 9. Aug 2006
9 Beiträge
 
#1

Problem bei Benutzung der TChart

  Alt 12. Dez 2006, 13:47
Hallo Leute....

ich steh vor folgendem Problem und zwar, wie bekomme ich mein p(x) nun in die TChart Komponente hinein,
ich hoffe es kann mir jemand behilflich sein

gruß Andre


Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm5 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    Edit12: TEdit;
    Edit13: TEdit;
    Edit14: TEdit;
    Edit15: TEdit;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  procedure FormPAINT(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
var
x0,x1,x2,x3,x4,y0,y1,y2,y3,y4,
x0x1,x1x2,x2x3,x3x4,
x0x1x2,x1x2x3,x2x3x4,
x0x1x2x3,x1x2x3x4,
x0x1x2x3x4:real;
c0,c1,c2,c3,c4,p,x:real;

begin
{Einlesen der Variablen}
x0:=StrToFloatDef(Edit1.Text,0);
x1:=StrToFloatDef(Edit2.Text,0);
x2:=StrToFloatDef(Edit3.Text,0);
x3:=StrToFloatDef(Edit4.Text,0);
x4:=StrToFloatDef(Edit5.Text,0);
y0:=StrToFloatDef(Edit6.Text,0);
y1:=StrToFloatDef(Edit7.Text,0);
y2:=StrToFloatDef(Edit8.Text,0);
y3:=StrToFloatDef(Edit9.Text,0);
y4:=StrToFloatDef(Edit10.Text,0);

{Berechnung 1.Spalte}
x0x1:=(y1-y0)/(x0-x1);
x1x2:=(y2-y1)/(x2-x1);
x2x3:=(y3-y2)/(x3-x2);
x3x4:=(y4-y3)/(x4-x3);

{Berechnung 2.Spalte}
x0x1x2:=(x1x2-x0x1)/(x2-x0);
x1x2x3:=(x2x3-x1x2)/(x3-x1);
x2x3x4:=(x3x4-x2x3)/(x4-x2);

{Berechnung 3.Spalte}
x0x1x2x3:=(x1x2x3-x0x1x2)/(x3-x0);
x1x2x3x4:=(x2x3x4-x1x2x3)/(x4-x1);

{Berechnung 4.Spalte}
x0x1x2x3x4:=(x1x2x3x4-x0x1x2x3)/(x4-x0);

c0:=y0;
c1:=x0x1;
c2:=x0x1x2;
c3:=x0x1x2x3;
c4:=x0x1x2x3x4;


{Ausgabe der Ergebnisse}
Edit11.Text := FloatToStr(c0);
Edit12.Text := FloatToStr(c1);
Edit13.Text := FloatToStr(c2);
Edit14.Text := FloatToStr(c3);
Edit15.Text := FloatToStr(c4);

{Zu Zeichnende Funktion}
p(x)=c0+c1*(x-x0)+c2*(x-x0)*(x-x1)+c3*(x-x0)*(x-x1)*(x-x2)+
        c4*(x-x0)*(x-x1)*(x-x2)*(x-x3);
  Mit Zitat antworten Zitat
Benutzerbild von Goldesel
Goldesel

Registriert seit: 22. Nov 2004
Ort: Lübeck
202 Beiträge
 
Delphi 2005 Architect
 
#2

Re: Problem bei Benutzung der TChart

  Alt 12. Dez 2006, 15:26
Ich hoffe, dass ich dein Problem richtig verstanden hab. Ich beschreibe einfach mal wie ich vorgehen würde:

Also, zunächst deklarierst du eine Variable x. Und jetzt rechnest du die Funktion mit den unterschiedlichen x-Werten aus und fügst sie durch AddXY deinem TChart (bzw. TSeries) hinzu.
  Mit Zitat antworten Zitat
Andre_Schmidt

Registriert seit: 9. Aug 2006
9 Beiträge
 
#3

Re: Problem bei Benutzung der TChart

  Alt 12. Dez 2006, 15:51
wird das dann in etwa so dem TChart beigefügt?:

Delphi-Quellcode:
      begin
        series1.Clear;
        series1.AddXY(0,0);
        series1.AddXY(1,p);
      end;
und bei dem x deklarieren hab ich gerade einen blackout, wie deklariere ich z.B. von 0 bis 10

Gruß
Andre
  Mit Zitat antworten Zitat
Benutzerbild von Goldesel
Goldesel

Registriert seit: 22. Nov 2004
Ort: Lübeck
202 Beiträge
 
Delphi 2005 Architect
 
#4

Re: Problem bei Benutzung der TChart

  Alt 12. Dez 2006, 16:54
Ich hab dir mal was kurzes geschrieben, was dir vielleicht weiterhelfen könnte. Musst du halt nur an deine Funktion anpassen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x, y: integer;
begin
  x:=1;
  repeat
   //quadrieren des x-wertes
   y:=sqr(x);
   //in chart darstellen
   series1.AddXY(x,y);
   //x-wert erhöhen
   x:=x+1;
  until x=10 ;
end;
In diesem Fall wird die Anweisung (d.h. quadrieren des x-Wertes, darstellen im Chart und x-Wert erhöhen) so oft wiederholt, bis x=10 ist.
  Mit Zitat antworten Zitat
Andre_Schmidt

Registriert seit: 9. Aug 2006
9 Beiträge
 
#5

Re: Problem bei Benutzung der TChart

  Alt 14. Dez 2006, 12:42
also das was du mir geschrieben hast ist super und klappt auch, nur mein problem liegt jetzt darin, wenn ich z.B. in 0.01 Schritten die Funktion zeichnen will hängt sich delphi immer auf...am rechner kann es nicht liegen sind eigentlich recht gute im rechenkabinett.

  Mit Zitat antworten Zitat
Benutzerbild von Goldesel
Goldesel

Registriert seit: 22. Nov 2004
Ort: Lübeck
202 Beiträge
 
Delphi 2005 Architect
 
#6

Re: Problem bei Benutzung der TChart

  Alt 14. Dez 2006, 15:42
Mmmhhh ... also bei mir funktioniert das irgendwie auch nich. Die rechnung wird zwar ausgeführt, allerdings nicht ins TChart gezeichnet. Ich schau mal, ob ich eine Lösung finde ...
  Mit Zitat antworten Zitat
Benutzerbild von Goldesel
Goldesel

Registriert seit: 22. Nov 2004
Ort: Lübeck
202 Beiträge
 
Delphi 2005 Architect
 
#7

Re: Problem bei Benutzung der TChart

  Alt 14. Dez 2006, 18:14
Ich würd dir raten, das ganze mit einer Schleife zu lösen. So funktioniert es zumindest bei mir.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x,y:real; i:integer;
begin
x:=0;
  for i := 0 to 10 do
  begin
      //quadrieren
      y:=sqr(x);
      //zu chart hinzufügen
      Series1.AddXY(x,y);

      //x hochzählen
      x:=x+0.01;
  end;
end;
So müsste es funktionieren.

Mfg
Jannik
  Mit Zitat antworten Zitat
Andre_Schmidt

Registriert seit: 9. Aug 2006
9 Beiträge
 
#8

Re: Problem bei Benutzung der TChart

  Alt 15. Dez 2006, 10:36
Ich danke dir für deine schnelle hilfe


gruß andre
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:37 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