Autor Beitrag
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Mi 16.12.09 23:45 
Hallo zusammen,


ich möchte eine Funktion programmieren, mit der Doppelbestimmungen überprüft werden. Leider kann ich nicht die Differenz in % überprüfen, da die zulässige Abweichung nicht linear ist.

Beispiel:

Bei den Ergebnissen 0.08% & 0.12% liegt eine Differenz von 33% vor. Die Doppelbestimmung wäre in diesem Fall OK, da die Präzision in diesem Bereich nicht mehr gegeben ist.

Bei einem Ergebnis um 1.5% wäre eine Differenz von 33% alles andere als OK. Da wären max. 3% zulässig.

Bei einem Ergebnis von 3% bis 6% wäre dann nur noch eine Differenz von 1% zulässig, da die Präzision in diesem Bereich am Besten ist.



Ich habe bisher nur die Idee, anhand des Ergebnisses die zulässige Abweichung aus einer Liste zu holen. Das finde ich aber blöd, da es dann zu Überschneidungen kommt und Sprünge entstehen. Z.B. bei einem Ergebnis bis ca. 1% wäre eine max.Dif. von 3.5% zulässig, ab >1% jedoch 3%. Zudem könnte ein Wert 0.9 sein der andere 1.1, was dann? Ich denke das ist eine höchst unprofessionelle Lösung.

Gibt es eventuell eine Möglichkeit die zulässige Differenz zu berechen? Eine Idee von mir war, die Ergebnisse als Faktor zu nutzen, ich habe es aber nicht hinbekommen.

Ich hoffe ich habe mich verständlich ausgedrückt, ich bin schon sehr müde…..

_________________
Gruß
Christoph
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Do 17.12.09 10:40 
Differenzen kann man berechnen. Zulässige Differenzen kann man auch berechnen, sofern es dafür eine Formel gibt. Das ist hier wohl der Knackpunkt.
Hast du eine Formel für die zulässigen Differenzen oder sind das eher Erfahrungswerte?

Beste Grüße
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Do 17.12.09 17:41 
Hi :)


mir gehts natürlich um die Formel, wenn ich eine hätte, wäre die Frage hinfällig. Bis her wird das aus Erfahrung entschieden, bzw. gibt es ein Programm, das scheinbar mit einer Liste arbeitet, da kommt es zu den erwähnten Sprüngen und es werden Ergebnisse für NIO befunden die aber OK sind.

_________________
Gruß
Christoph
der organist
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: Do 17.12.09 20:42 
sonst schlag ich vor, du fertige mal ne Tabelle an, und dann suchen nach ner ordentlichen Funktion :D

_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 17.12.09 21:10 
Hätte ich jetzt auch gesagt: Stell mal eine Tabelle (mindesten 10-20 Messpunkte) auf, in der du die Zulässige Abweichung je Größenordnung des Messwertes aufträgst. Danach kann man daraus dann mal mit Regression ne Annäherung bestimmen.

Die Tabelle muss sich nicht zwingend nach dem bisherigen Programm richten, sollte die Regelungen aus den Erfahrungswerten möglichst gut wiederspiegeln.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Do 17.12.09 21:55 
Hi,


so einer Tabelle habe ich bereits angelegt. Ich habe gehofft das es auch eine Lösung ohne geben könnte, ich bin doch so faul :rofl:

_________________
Gruß
Christoph
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 18.12.09 00:06 
Na dann zeig die bestehende Tabelle doch mal her? Weil Kristallkugeln sind in diesem Forum immer etwas rar ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Fr 18.12.09 23:22 
Hallo Leute!

Ich habe mich heute hingesetzt und eine „umfangreiche“ Liste mit Messpunkten erstellt, mittels Excel, mit Formel um gleich die Abweichungen zu berechnen und einem Diagramm um den Verlauf der Abweichung darzustellen. Dabei ist mit aufgefallen, dass wenn die Messpunkte von 0,01% bis 1,3% immer um jeweils 0,04% erhöht werden, das die Abeichung dann ziemlich exakt den Erfahrungswerten entspricht.

Beispiel:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
1.Wert  2.Wert  MW  Dif.%
0,01  0,03  0,02  67
0,04  0,08  0,06  50
0,08  0,12  0,1  33
0,12  0,16  0,14  25
0,16  0,2  0,18  20

(die erste Reihe ist absolut grenzwertig, daher nur 0,02)


Ab einem Mittelwert von 1,3% bis 5% ist dann nur noch eine maximale Abweichung von 3% gültig.


Ich werde nun wie folgt vorgehen:

Ich packe die Messpunkte und maximale zulässige Abweichung in ein Dictionary of < Messpunkt, maxDiff% >

Ich bilde den Mittelwert aus den beiden Messergebnissen und suche im Dictionary nach dem Key -Messpunkt, der dem aktuellem MW am nächsten kommt, der Value des Keys ist dann die max. zulässige Differenz. Dann kann ich prüfen ob die maximale Differenz zwischen dem größtem und dem kleinsten Messwert überschritten wird und fertig ist meine Validierungsfunktion.

Für die User stelle ich ein DGV mit DataTable bereit, falls mal ein Bereich nicht Methodenkonform ist, können die User die Grenzen noch nachbearbeiten und Messpunkte mit Grenzen einpflegen. Wie rund die abgeleitet Kurve wird hängt dann davon ab, wie fleißig die Anwender Messpunkte einpflegen. Die Kurve wird dann mit dem ZedGraph dargestellt.

Ich denke dieser Weg ist gut und nachhaltig.


Vielen Dank für eure Unterstützung!

_________________
Gruß
Christoph