Acronaut Diskussions Forum Home

Freies User Forum für

ADOBE® ACROBAT®

Navigation
Nicht angemeldet

Login | Registrieren 

  

Suche

Erweiterte Suche

Newsletter

Mitgliederliste

Kalender

Moderatoren/Partner

Hilfe

Banner

Kontakt/Impressum
Maximale Abweichung von einem Referenzwert ausgeben
 Moderiert von: acronaut Produkt: Adobe Acrobat Pro Extended Version nicht definiert  

Neue Diskussion

Antworten

Drucken
VerfasserBericht
TimSch
Member
 

Eintragen seit: 6 Aug 2017
Herkunft:  
Berichte: 14
Status:  Offline
 Geschrieben: 17 Aug 2017 09:39

Text übernehmen

Antworten
Hallo,

stehe leider derzeit auf dem Schlauch.

Ich habe einen Referenzwert und drei Messwerte.

Im Prinzip will ich mir jetzt automatisch den Messwert mit der größten Abweichung vom Referenzwert ausgeben lassen.
Hört sich einfach an aber irgendwie finde ich keinen Ansatz...

Hat jemand eine Idee wie man das umsetzt?

Ich danke euch.

BAlheit
Member
 

Eintragen seit: 15 Aug 2013
Herkunft:  
Berichte: 464
Status:  Offline
 Geschrieben: 17 Aug 2017 10:27

Text übernehmen

Antworten
Möglich ist es so:
Math.max(Math.abs(wert1-referenzwert),
Math.abs(wert2-referenzwert),
Math.abs(wert3-referenzwert));

Bernd Alheit

TimSch
Member
 

Eintragen seit: 6 Aug 2017
Herkunft:  
Berichte: 14
Status:  Offline
 Geschrieben: 17 Aug 2017 10:49

Text übernehmen

Antworten
Hm, das gibt mir aber nur die maximale Abweichung aus.

Müsste es so haben, dass er mir den tatsächlichen Messwert ausgibt, der die größte Abweichung hat.

Letzte Änderung am 17 Aug 2017 11:17 von TimSch

BAlheit
Member
 

Eintragen seit: 15 Aug 2013
Herkunft:  
Berichte: 464
Status:  Offline
 Geschrieben: 17 Aug 2017 11:23

Text übernehmen

Antworten
Die einzelnen Werte mit (referenzwert + abweichung) und (referenzwert - abweichung) auf Gleichheit prüfen.Wenn es zutrifft, ist der Wert gefunden.

Übrigens der Titel dieser Diskussion besagt etwas anders.

Letzte Änderung am 17 Aug 2017 11:30 von BAlheit

TimSch
Member
 

Eintragen seit: 6 Aug 2017
Herkunft:  
Berichte: 14
Status:  Offline
 Geschrieben: 17 Aug 2017 11:59

Text übernehmen

Antworten
Das übersteigt leider meine Fähigkeiten.

Mein Ansatz wäre folgender. Leider scheint da aber etwas nicht zu stimmen.


var WertA = this.getField("Abweichung");
var WertB = this.getField("Slope1");
var WertC = this.getField("Slope2");
var WertD = this.getField("Slope3");
var WertE = this.getField("Referenz");

var Plus = WertE.value + WertA.value;
var Minus = WertE.value - WertA.value;

if (Plus.value == WertB.value) {event.value = Plus.value }
if (Minus.value == WertB.value) {event.value = Minus.value }

if (Plus.value == WertC.value) {event.value = Plus.value }
if (Minus.value == WertC.value) {event.value = Minus.value }

if (Plus.value == WertD.value) {event.value = Plus.value }
if (Minus.value == WertD.value) {event.value = Minus.value }

TimSch
Member
 

Eintragen seit: 6 Aug 2017
Herkunft:  
Berichte: 14
Status:  Offline
 Geschrieben: 17 Aug 2017 14:48

Text übernehmen

Antworten
Ich habe meinen Ansatz überarbeitet. Es funktioniert leider nur wenn Messwert 3 (Slope3) die größte Abweichung hat.
Könnte es sein, dass durch die ganzen if Schleifen die Ausgabe bzw. Werte von Messwert 1 (Slope1) und Messwert 2 (Slope 2) überschrieben werden?

var WertB = this.getField("Slope1");
var WertC = this.getField("Slope2");
var WertD = this.getField("Slope3");
var WertA = this.getField("Abweichung");
var WertE = this.getField("Referenz");
var WertF = this.getField("Plus1");
var WertG = this.getField("Minus1");

if (WertF.value = WertB.value) {event.value = WertF.value};
if (WertG.value = WertB.value) {event.value = WertG.value };

if (WertF.value = WertC.value) {event.value = WertF.value};
if (WertG.value = WertC.value) {event.value = WertG.value };

if (WertF.value = WertD.value) {event.value = WertF.value};
if (WertG.value = WertD.value) {event.value = WertG.value };

BAlheit
Member
 

Eintragen seit: 15 Aug 2013
Herkunft:  
Berichte: 464
Status:  Offline
 Geschrieben: 18 Aug 2017 08:27

Text übernehmen

Antworten
So müsste es gehen:
var WertA = this.getField("Abweichung");
var WertB = this.getField("Slope1");
var WertC = this.getField("Slope2");
var WertD = this.getField("Slope3");
var WertE = this.getField("Referenz");

var Plus = WertE.value + WertA.value;
var Minus = WertE.value - WertA.value;

if (Plus == WertB.value || Minus == WertB.value) event.value = WertB.value;
if (Plus == WertC.value || Minus == WertC.value) event.value = WertC.value;
if (Plus == WertD.value || Minus == WertD.value) event.value = WertD.value;

TimSch
Member
 

Eintragen seit: 6 Aug 2017
Herkunft:  
Berichte: 14
Status:  Offline
 Geschrieben: 18 Aug 2017 08:40

Text übernehmen

Antworten
Super, das geht.

Allerdings habe ich die Vermutung, dass es Probleme mit der zeitlichen Abfrage der einzelnen Felder gibt (siehe Anhang). Wenn ich neue Messwerte eingebe, muss ich diese manchmal doppelt eingeben oder Nachkommestellen ändern, damit er die Änderungen übernimmt und sie in der Ausgabe anzeigt.

Kann ich die Berechnung evtl. zeitlich verzögern?

Anlage: Abweichung_berechnen_neu.pdf (2 Mal aufgenommen)

Letzte Änderung am 18 Aug 2017 08:40 von TimSch

BAlheit
Member
 

Eintragen seit: 15 Aug 2013
Herkunft:  
Berichte: 464
Status:  Offline
 Geschrieben: 18 Aug 2017 09:13

Text übernehmen

Antworten
In der Feldberechnungsreihenfolge muss das Feld Ausgabe an das Ende.

Anlage: Abweichung_berechnen_neu.pdf (2 Mal aufgenommen)

TimSch
Member
 

Eintragen seit: 6 Aug 2017
Herkunft:  
Berichte: 14
Status:  Offline
 Geschrieben: 18 Aug 2017 10:44

Text übernehmen

Antworten
Wo und wie hattest du die Feldrechnungsreihenfolge verändert?

Habe nämlich schon wieder das Problem, wenn ich die %Differenz von Ausgabe-Wert und dem Mittelwert der Messungen berechnen möchte, er hinterher hinkt.

Ich muss wieder die Messwerte doppelt eingeben damit er mir die richtige Differenz anzeigt bzw. er sich aktualisiert :/

Anlage: Abweichung_berechnen_neu2.pdf (1 Mal aufgenommen)

BAlheit
Member
 

Eintragen seit: 15 Aug 2013
Herkunft:  
Berichte: 464
Status:  Offline
 Geschrieben: 18 Aug 2017 12:14

Text übernehmen

Antworten
https://helpx.adobe.com/de/acrobat/using/pdf-form-field-properties.html#set_the_calculation_order_of_form_fields

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2304
Status:  Offline
 Geschrieben: 19 Aug 2017 07:51

Text übernehmen

Antworten
Ist das Problem mit
"Ich habe einen Referenzwert und drei Messwerte.
Im Prinzip will ich mir jetzt automatisch den Messwert mit der größten Abweichung vom Referenzwert ausgeben lassen."
vollständig beschrieben und alles andere sind Neben-Kriegsschauplätze?

var ref = this.getField("Referenz").value ;
var arr = [[0,this.getField("Slope1").value],[0,this.getField("Slope2").value],[0,this.getField("Slope3").value]] ;
for (i = 0; i < arr.length; i++) {arr[ i][0] = Math.abs(ref - arr[ i][1])} ;
arr.sort().reverse() ;
event.value = arr[ 0][1] ;

Letzte Änderung am 19 Aug 2017 07:58 von armine


 Uhrzeit 06:21





Powered by WowBB 1.7 - Copyright © 2003-2006 Aycan Gulez
Seite erstellt in 0.1099 Sekunden (28% DB + 72% PHP). 18 verarbeitete Abfragen.