AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Datenstruktur für (viele) xy-Werte

Ein Thema von cltom · begonnen am 23. Aug 2011 · letzter Beitrag vom 26. Aug 2011
Antwort Antwort
Seite 2 von 3     12 3   
silver-moon-2000

Registriert seit: 18. Feb 2007
Ort: Schweinfurt
170 Beiträge
 
Delphi XE Professional
 
#11

AW: Datenstruktur für (viele) xy-Werte

  Alt 23. Aug 2011, 14:55
Hej,
Aktuell hab ich die Daten in einer StringListe (durch den Import aus einer Textdatei) und müsste im nächsten Schritt ein wenig rechnen damit. Nachdem ich hier im Forum immer wieder lese, dass man dynamische Arrays meiden sollte, bin ich ein wenig am Überlegen, was sonst.
Ich habe jetzt keine Ahnung, wie bei Dir dieses "rechnen" aussieht, vielleicht liege ich jetzt komplett daneben, aber vielleicht kann man das auch in eine Klasse verpacken
Delphi-Quellcode:
TFloatPoint = class(TObject)
  private
    FX : Double;
    FY : Double;
  public
    constructor Create(_x, _y : Double);
    function getAbstandVomUrsprung : Double;
    function getAbstandVonAnderemPunkt(_p : TFloatPoint);
    property X : Double read FX write FX;
    property Y : Double read FY write FY;
end;
und die Speicherung dann über eine T(Object)List.
Delphi-Quellcode:
procedure TransferValues;
var
  list : TObjectList;
  tx, ty : Double;
begin
  list := TObjectList.Create;
  for i := 0 to StringList.Count - 1 do
  begin
    tx := StrToInt({x-Element aus}StringList.Lines[i]);
    ty := StrToInt({y-Element aus}StringList.Lines[i]);
    list.Add(TFloatPoint.Create(tx, ty));
  end;
  //Weitere Arbeitsschritte mit den Werten
  List.Free;
end;
Fehlerbehandlung außen vor gelassen

Ist etwas langsamer als der Zugriff über Records, aber wenn Geschwindigkeit nicht das oberste Gebot ist, finde ich ObjectLists eigentlich immer sehr komfortabel.
Vielleicht bin ich aber auch komplett über's Ziel hinaus oder knapp dran vorbei geschossen...
Tobias
Bitte nicht hauen , ich weiß es nicht besser
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
26.845 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Datenstruktur für (viele) xy-Werte

  Alt 23. Aug 2011, 15:02
Das entspricht in etwa dem, was ich auch bereits vorgeschlagen hatte, nur dass ich keine TObjectList, sondern gleich die Stringliste verwendet hätte. Im Hinblick auf die Speicherverwaltung ist die TObjectList allerdings komfortabler.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
silver-moon-2000

Registriert seit: 18. Feb 2007
Ort: Schweinfurt
170 Beiträge
 
Delphi XE Professional
 
#13

AW: Datenstruktur für (viele) xy-Werte

  Alt 23. Aug 2011, 15:17
Das entspricht in etwa dem, was ich auch bereits vorgeschlagen hatte, nur dass ich keine TObjectList, sondern gleich die Stringliste verwendet hätte. Im Hinblick auf die Speicherverwaltung ist die TObjectList allerdings komfortabler.
sorry, habe ich überlesen.
Ich wollte einfach darauf hinaus (wie Du auch schon geschrieben hast), dass es mEn mit Klassen / Objekten komfortabler geht, sobald man mehr als eine reine Datenhaltung braucht.

[OT]
<ironie> menno, jetzt hab' ich mich für SO intelligent gehalten, eine vollständig neue Lösung zu finden</ironie>
[/OT]
Tobias
Bitte nicht hauen , ich weiß es nicht besser
  Mit Zitat antworten Zitat
cltom

Registriert seit: 22. Sep 2005
150 Beiträge
 
Delphi XE2 Professional
 
#14

AW: Datenstruktur für (viele) xy-Werte

  Alt 23. Aug 2011, 15:41
vielen Dank für die Antworten!

@SilverMoon
sieht gut aus, ob Record oder doch gleich Dein Ansatz werde ich mir ansehen, sobald klarer wird, wie ich mit den Daten weitermache. Es wird primär darum gehen, Polynome durchzulegen, auf Ausreisser zu prüfen und dergleichen.

für den Start nehme ich mal den Record-Ansatz, der erscheint mir übersichtlich

vielen Dank nochmals!
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#15

AW: Datenstruktur für (viele) xy-Werte

  Alt 23. Aug 2011, 15:57
... Es wird primär darum gehen, Polynome durchzulegen, auf Ausreisser zu prüfen und dergleichen.

für den Start nehme ich mal den Record-Ansatz, der erscheint mir übersichtlich
Übersichtlichkeit ist doch nur ein Kriterium. Bei den Anforderungen (Regressionspolynome, Statistik etc.) wirst Du mM einen ganzen Fuhrpark von Rädern neuerfinden müssen bei Objektlisten, Records etc. Für Arrays gibt's da doch wohl mehr Vorlagen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

AW: Datenstruktur für (viele) xy-Werte

  Alt 23. Aug 2011, 15:58
Nur sollte man aufpassen, dass man das Array nicht allzu oft vergrößern muss, sonst geht die Performance doch wieder in die Knie.
FastMM ist doch in D2006 integreirt oder kam das erst später rein?

Wenn ja, dann würd über den neuen Speichermanager dort Einiges optimiert, da dieser Speicher "inplace" vergrößern/-kleiner kann. (wenn genug Platz)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Jumpy
Online

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.560 Beiträge
 
Delphi 6 Enterprise
 
#17

AW: Datenstruktur für (viele) xy-Werte

  Alt 24. Aug 2011, 07:40
Aktuell hab ich die Daten in einer StringListe (durch den Import aus einer Textdatei) und müsste im nächsten Schritt ein wenig rechnen damit.
Versteh ich das so, das deine Anwendung die Daten aus der Messung nicht zur Laufzeit erfasst, sondern nach der Messung die Ergebnisse als Textdatei bekommt?

Dann ist doch die Anzahl der Datensätze bekannt und es muss noch nichtmal ein dyn. Array sein, bzw. besser ausgedrückt eines, dass nur einmal vergrößert werden muss.
Ralph
  Mit Zitat antworten Zitat
cltom

Registriert seit: 22. Sep 2005
150 Beiträge
 
Delphi XE2 Professional
 
#18

AW: Datenstruktur für (viele) xy-Werte

  Alt 24. Aug 2011, 15:42
Kleine Zusatzfrage, die sich direkt aus dem obigen ergibt:

warum geht das hier nicht?:

Delphi-Quellcode:
procedure FloatArrayFromStringList(astringlist : TStringList; afloatarray : TFloatArray);
var
  i : integer;
begin
  SetLength(afloatarray,astringlist.count); //das hier geht so offenbar nicht!
  for i := 0 to astringlist.count-1 do
    begin
      TryStrToFloat(etc.)
    end;
end;
Ich will also der Prozedur die StringList und das daraus gerechnete Array übergeben und dort die Größe des Arrays festlegen. Das klappt aber nicht. Ich muss SetLength ausserhalb der Prozedur machen.

danke
cltom
  Mit Zitat antworten Zitat
Jumpy
Online

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.560 Beiträge
 
Delphi 6 Enterprise
 
#19

AW: Datenstruktur für (viele) xy-Werte

  Alt 24. Aug 2011, 16:13
Muss man das vllt. als var oder sowas übergeben?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
26.845 Beiträge
 
Delphi 10.3 Rio
 
#20

AW: Datenstruktur für (viele) xy-Werte

  Alt 24. Aug 2011, 16:37
Jepp.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf