AGB  ·  Datenschutz  ·  Impressum  







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

auflisten + Graf

Ein Thema von playa2kk · begonnen am 17. Mär 2009 · letzter Beitrag vom 22. Mär 2009
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#21

Re: auflisten + Graf

  Alt 19. Mär 2009, 22:25
Ich gebe zu, ich verstehe das Problem nicht ganz

Wenn du einfach nur etwas iterativ berechnen (und auflisten) Willst, würde ich ein Stringgrid empfehlen

Delphi-Quellcode:
function next_y (yn, n: real): real;
// Bekommt n und y[n]- gibt y[n+1] zurück
const
  k = 4;
  h = 12;
begin
  Result := yn + h * Math.exp(k*n) * k; // z.B.
end;

// und dann halt das Stringgrid befüllen:

procediure ButtonClick
var
  n: Integer;
  y: real;
begin
  y := 42 // Startwert;

  for n := 1 to 12 do
  begin
    Stringgrid.Cells[n, 0] := inttostr(n);
    Stringgrid.Cells[n, 1] := floattostr(y);
    y := next_y(y, n);
  end;
Oder hab ich da was nicht ganz begriffen?
Ich guck mir das da oben nochmal an ...
  Mit Zitat antworten Zitat
playa2kk
(Gast)

n/a Beiträge
 
#22

Re: auflisten + Graf

  Alt 19. Mär 2009, 22:57
Zitat von jfheins:
Ich gebe zu, ich verstehe das Problem nicht ganz

Wenn du einfach nur etwas iterativ berechnen (und auflisten) Willst, würde ich ein Stringgrid empfehlen

Delphi-Quellcode:
function next_y (yn, n: real): real;
// Bekommt n und y[n]- gibt y[n+1] zurück
const
  k = 4;
  h = 12;
begin
  Result := yn + h * Math.exp(k*n) * k; // z.B.
end;

// und dann halt das Stringgrid befüllen:

procediure ButtonClick
var
  n: Integer;
  y: real;
begin
  y := 42 // Startwert;

  for n := 1 to 12 do
  begin
    Stringgrid.Cells[n, 0] := inttostr(n);
    Stringgrid.Cells[n, 1] := floattostr(y);
    y := next_y(y, n);
  end;
Oder hab ich da was nicht ganz begriffen?
Ich guck mir das da oben nochmal an ...
Danke erst einmal für die Antwort, damit werde ich mich zunächst einmal befassen.
n hat nichts mit der Berechnung von y zu tun, der Anfangswert für y lautet einfach nur y[n], weil ich nicht wusste ob y[0] funktioniert, etwas unüberlegt von mir gewählt.
n+1 steht einfach nur dafür, das der y-Wert nach dem Anfangswert berechnet wird. Für den 2. Wert sähe das dann so aus: y[1+1]=y[1]+h*e^(2*t[1]) *2
  Mit Zitat antworten Zitat
playa2kk
(Gast)

n/a Beiträge
 
#23

Re: auflisten + Graf

  Alt 20. Mär 2009, 10:42
Ich versuche nun mal anhand folgendes Bildes mein Anliegen zu veranschaulichen.
Die Funktion für Delphi von oben hat mich nur bedingt geholfen.
Das was hier jetzt folgt, man erkennt eine Iterative Berechnung, muss ich einfach nur vom PC berechnen lassen, es kommen auch keine Potenzen vor.
Jeder berechnete Wert soll dann in die Tabelle(StringGrid, ist in meinem Programm schon eingebaut).
die Berechnung der Variable h habe ich schon übernommen, das war kein Problem.

http://img16.imageshack.us/img16/9426/eulerd.jpg

tn in meinem Programm ist y[0] auf dem Bild, also der gegebene Anfangswert.
Das selbe gilt auch für yn.

Wenn etwas nicht klar sein sollte, werde ich versuchen noch exakter zu erklären.
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#24

Re: auflisten + Graf

  Alt 20. Mär 2009, 13:38
Schau mal ob, das hier deinen Vorstellungen entspricht und die Funktionen richtig abbilden, die du verwenden musst. Habe aber nicht den Quellcode mitgeschickt. Schaus dir mal an.
Angehängte Dateien
Dateityp: zip efunkproj_212.zip (223,3 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
playa2kk
(Gast)

n/a Beiträge
 
#25

Re: auflisten + Graf

  Alt 20. Mär 2009, 19:49
Dürfte ich den Quellcode sehen, da müsste die Funktion eigentlich doch drin stehen.
Wie der Graf genau aussieht weiß ich auch nicht.

Bin überwältigt vom Programm, würde gerne noch weitere Nachkommastellen anzeigen lassen, das wäre Perfekt.

WIE MACHT MAN SO EIN PROGRAMM ???
Möchte das nur zu gerne erfahren.

Mit respektvollen Grüßen
play
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#26

Re: auflisten + Graf

  Alt 20. Mär 2009, 20:01
Also dachte du überprüfst erstmal mit dem was du da hast (Aufzeichnungen oder so) ob das so ist, wie du es haben möchtest. Das mit dem Quellcode wäre natürlich möglich, aber die Frage ist, ob du dann nicht der einfachheithalber einfach copy und paste machst, was keinen Lerneffekt für dich hättest. Außerdem ist das so wie ich mit bekommen hab nicht so gern gesehen, sowas zu machen. Ich mache dir den Vorschlag, dass ich dir hier (und sicherlich auch viele andere), dass du einfach einen Schritt nach dem anderen in Angriff nimmst und wir dir sagen und an abgewandelten Beispielen zeigen, wie man sowas programmiert. Das würde bei dir sicherlich einen so bleibenden Wissensgewinn erzeugen, dass du das beim nächsten mal selber hinbekommst.

Hier die einzigen Elemente, die ich für das Programm verwendet habe:
- Canvas (zeichne auf einem seperaten Bild vom Typ TBitmap, welches ich dann mittels Bitblt auf eine PaintBox zeichne)
- dynamische Arrays für y und t

Mehr brauchst eigentlich nicht um das so zu machen.

MfG
BAMatze
  Mit Zitat antworten Zitat
Benutzerbild von seim
seim

Registriert seit: 11. Nov 2007
83 Beiträge
 
#27

Re: auflisten + Graf

  Alt 20. Mär 2009, 20:28
Zitat von BAMatze:
Das mit dem Quellcode wäre natürlich möglich, aber die Frage ist, ob du dann nicht der einfachheithalber einfach copy und paste machst
Hör' mal bitte auf mit so nem Schwachsinn..

Ich hab' hauptsächlich durch Quellcode angucken und abändern gelernt wie Delphi funktioniert.. also Tut's hab ich kaum gelesen und wenn alle so handeln würden wie du das da beschreibst "Lerneffekt" dann gäbe es keine Libraries^^
  Mit Zitat antworten Zitat
playa2kk
(Gast)

n/a Beiträge
 
#28

Re: auflisten + Graf

  Alt 20. Mär 2009, 20:30
Zitat von BAMatze:
Also dachte du überprüfst erstmal mit dem was du da hast (Aufzeichnungen oder so) ob das so ist, wie du es haben möchtest. Das mit dem Quellcode wäre natürlich möglich, aber die Frage ist, ob du dann nicht der einfachheithalber einfach copy und paste machst, was keinen Lerneffekt für dich hättest. Außerdem ist das so wie ich mit bekommen hab nicht so gern gesehen, sowas zu machen. Ich mache dir den Vorschlag, dass ich dir hier (und sicherlich auch viele andere), dass du einfach einen Schritt nach dem anderen in Angriff nimmst und wir dir sagen und an abgewandelten Beispielen zeigen, wie man sowas programmiert. Das würde bei dir sicherlich einen so bleibenden Wissensgewinn erzeugen, dass du das beim nächsten mal selber hinbekommst.

Hier die einzigen Elemente, die ich für das Programm verwendet habe:
- Canvas (zeichne auf einem seperaten Bild vom Typ TBitmap, welches ich dann mittels Bitblt auf eine PaintBox zeichne)
- dynamische Arrays für y und t

Mehr brauchst eigentlich nicht um das so zu machen.

MfG
BAMatze
bin 18 und besuche die 12. Stufe des Gymnasiums. Wir haben dieses Jahr erst begonnen mit Delphi zu arbeiten.
Wir haben weder Arrays noch Canvas noch eine andere von dir erwähnte Komponente bis jetzt durchgenommen, geschweige denn schon einmal erwähnt.

Wenn du mir zumindest erklären könntest, wie die Komponenten aufeinander aufbauen und wie sie miteinander kommunizieren, hätte ich vielleicht eine Chance das Programm auf die Reihe zu kriegen. Wie ich sehe scheint das Programm nicht all zu kompliziert zu sein, so hab ich mir das auch vorgestellt.
Aber ich kann dir versichern, dass ich mit sicherheit aus dem Quelltext etwas lerne, habe ich meiner Lehrerin schon des öfteren unter Beweis gestellt.

Ich habe P1 und P2 berechnet, und die scheinen mit deinen Werten im Einklang zu sein, nur halt die Nachkommastellen kann ich nicht überprüfen.

Mit respektvollen Grüßen
play
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#29

Re: auflisten + Graf

  Alt 20. Mär 2009, 21:33
Zitat von seim:
Zitat von BAMatze:
Das mit dem Quellcode wäre natürlich möglich, aber die Frage ist, ob du dann nicht der einfachheithalber einfach copy und paste machst
Hör' mal bitte auf mit so nem Schwachsinn..

Ich hab' hauptsächlich durch Quellcode angucken und abändern gelernt wie Delphi funktioniert.. also Tut's hab ich kaum gelesen und wenn alle so handeln würden wie du das da beschreibst "Lerneffekt" dann gäbe es keine Libraries^^
@seim: Da du wie du schon sagtest hier etwas rumgestöbert hast, werden dir sicherlich auch die dementsprechenden Grundsatzdiskusionen bekannt sein. Deswegen äußere ich mich hier auch gar nicht erst auf diesen Einwurf.

@Play: Habe dir den SourceCode angehängt, ich weiße gleich mal darauf hin, dass ich es in 30min zusammengestellt habe und deswegen nicht wirklich ein sauberes Programmierkonzept zugrunde liegt, sondern rein das Augenmerk auf Funktionalität lag. Es gibt ätliches, was noch Verbesserungswürdig ist (z.B. alles Löschen um einen weiteren Graphen anzeigen zu lassen, Beschriftung der Achsen, ...). Wenn du aber Fragen hast dazu, kannst du sie mir natürlich stellen.

MfG
BAMatze
Angehängte Dateien
Dateityp: rar e-funk_174.rar (190,0 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat
playa2kk
(Gast)

n/a Beiträge
 
#30

Re: auflisten + Graf

  Alt 20. Mär 2009, 21:52
Zitat von BAMatze:
Zitat von seim:
Zitat von BAMatze:
Das mit dem Quellcode wäre natürlich möglich, aber die Frage ist, ob du dann nicht der einfachheithalber einfach copy und paste machst
Hör' mal bitte auf mit so nem Schwachsinn..

Ich hab' hauptsächlich durch Quellcode angucken und abändern gelernt wie Delphi funktioniert.. also Tut's hab ich kaum gelesen und wenn alle so handeln würden wie du das da beschreibst "Lerneffekt" dann gäbe es keine Libraries^^
@seim: Da du wie du schon sagtest hier etwas rumgestöbert hast, werden dir sicherlich auch die dementsprechenden Grundsatzdiskusionen bekannt sein. Deswegen äußere ich mich hier auch gar nicht erst auf diesen Einwurf.

@Play: Habe dir den SourceCode angehängt, ich weiße gleich mal darauf hin, dass ich es in 30min zusammengestellt habe und deswegen nicht wirklich ein sauberes Programmierkonzept zugrunde liegt, sondern rein das Augenmerk auf Funktionalität lag. Es gibt ätliches, was noch Verbesserungswürdig ist (z.B. alles Löschen um einen weiteren Graphen anzeigen zu lassen, Beschriftung der Achsen, ...). Wenn du aber Fragen hast dazu, kannst du sie mir natürlich stellen.

MfG
BAMatze
Zunächst einmal Danke für deine Mühen.
Ich muss zugeben, ich wäre nie auf solch eine "komplizierte" Weise zum Ergebnis gekommen.Ich habe mir die Sache schon etwas einfacher vorgestellt.

Wie kann ich denn die Achsenbeschriftung einfügen?

Die Prozedur für die Punktberechnung habe ich komplett verstanden, bei der Zeichnung des Koordinatensystems gibt es bei mir Verständnisprobleme.
Könntest du mir, falls du Zeit und Lust hast, mir die Prozedur Schritt für Schritt erklären?
Delphi-Quellcode:
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
  BitBlt(PaintBox1.Canvas.Handle, 0, 0, Paintbox1.Width, Paintbox1.Height,
  privbmp.Canvas.Handle, 0, 0, SRCCOPY);
end;

procedure TForm1.Line_zeichnen(StartX: Integer; StartY: Integer; EndX: Integer; EndY: Integer);
begin
  privbmp.Canvas.MoveTo(StartX, StartY);
  privbmp.Canvas.LineTo(EndX, EndY);
end;

procedure TForm1.Graph_zeichnen;
var i: integer;
var SkallierungX, SkallierungY: double;
begin
  privbmp.Canvas.Pen.Color := clred;
  SkallierungY := PaintBox1.Height/maxY;
  SkallierungX := PaintBox1.Width/Inter;
  for i := 0 to n-2 do Line_zeichnen(round(10+(SkallierungX*(t[i]-t[0]))),round(PaintBox1.Height-(10+SkallierungY*y[i])),round(10+(SkallierungX*(t[i+1]-t[0]))), round(PaintBox1.Height-(10+SkallierungY*y[i+1])));
  Paintbox1.Refresh;
end;

procedure TForm1.KoordinatenSystem_zeichnen;
var ySchritt, xSchritt, i: integer;
begin
  xSchritt := trunc((PaintBox1.Width-10)/5);
  ySchritt := trunc((PaintBox1.Height-10)/5);
  Line_zeichnen(0,PaintBox1.Height-10, Paintbox1.Width, PaintBox1.Height-10);
  Line_zeichnen(10,0, 10, PaintBox1.Height);
  for i := 1 to 5 do
    begin
      Line_zeichnen(10+i*xSchritt, PaintBox1.Height-15,10+i*xSchritt, PaintBox1.Height-5);
      Line_zeichnen(5,PaintBox1.Height-(+i*ySchritt), 15,PaintBox1.Height-(+i*ySchritt));
    end;
  PaintBox1.Refresh;
end;
Mfg
play
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    


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