Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Polynom zur Korrektur eines Temperaturfühlers

Polynom zur Korrektur eines Temperaturfühlers

Universität / Fachhochschule

Tags: polynom, Temperaturfühler

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
Faro1

Faro1 aktiv_icon

10:28 Uhr, 21.07.2017

Antworten
Hallo zusammen,

benötige Hilfe. Bin dabei mir einen Temperaturfühler zu bauen und habe eine mV - Tabelle und das dazugehörige Polynom. Habe das Polynom in Excel eingegeben, um die Tabelle zu überprüfen. Leider war das Ergebnis ernüchternd. Wenn jemand sich zutraut dieses Polynom zu optimieren, der soll sich bitte melden- ein Unkostenbeitag ist möglich.

T= A*(mV)^6 + B*(mV)^5 + C*(mV)^4 + D*(mV)^3 + E*(mV)^2 + F*(mV) +G
T=-0,0000001580,000033411-0,0027760110,115068849-2,54989670836,52227867-11,79381442

Tabelle: Bei entsprechendem (mV) soll das Polynom die angegebene Temperatur in der Tabelle ergeben. Das obere Polynom kommt leider nicht ganz hin.

Tabelle im Anhang.

Viele Grüsse
Faro1




Tabelle

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Hierzu passend bei OnlineMathe:

Online-Übungen (Übungsaufgaben) bei unterricht.de:
 
Online-Nachhilfe in Mathematik
Antwort
Roman-22

Roman-22

12:14 Uhr, 21.07.2017

Antworten
Ich geh mal davon aus, dass das C in deinem Polynom nichts mit dem C im Spaltenkopf deiner Tabelle zu tun hat. Letzteres bedeutet vermutlich Grad Celsius.
Ferner gehe ich davon aus, dass die komischen Zahlen die du in der zweiten Zeile bei T=.. stehen hast nur die sieben Koeffizienten deines Polynoms darstellen sollen - im Bild sind sie ein klein wenig besser erkennbar.
Du willst also, wenn ich dich richtig verstehe, die Werte in deiner Tabelle, die offenbar einer Reihe von Temperaturen t von -18°C bis 524°C einen Spannungswert u (angegeben in mV) zuordnen, in eine möglichst gut passende Funktion gießen. Und zwar für die umgekehrte Zuordnung ut.
Du hast, woher auch immer, eine Polynomfunktion sechsten Grade t=T(u), mit der du aus nicht näher erklären Gründen nicht zufrieden bist.

Nahezu jede Kurvenanpassung wird "ungenau" sein, als idR keinen einzigen deiner Tabellenwerte genau treffen.
Warum hast du dir gerade eine Polynomfunktion gewählt und warum eine vom Grad 6? Hast du Grund zur Annahme, dass deine Werte tendenziell einem Polynom folgen.

Ich schätze es wird hier niemand bereit sein, all diese Werte abzutippen um dir eine bessere Funktion zu suchen.
Du müsstest dazu schon entweder die Daten in einem leicht weiterverwendbaren Format irgendwo zum download bereitstellen, oder aber dein Glück selbst versuchen. ich kann dir dazu das genau darauf spezialisierte Programm "CurveExpert Professional" empfehlen. Du kannst davon eine Testversion beim Hersteller runterladen. Diese ist zwar, was Exportfunktionen anlangt eingeschränkt, wird aber für deine Zwecke reichen. Außerdem kannst du sie zum Testen gratis für 1 Monat (glaube ich) als Vollversion freischalten, danach ist sie weiterhin mit eingeschränktem (aber durchaus sehr brauchbarem) Funktionsumfang verwendbar.

P.S.: Kann Excel nicht ohnedies auch eine Polynomregression durchführen?

P.P.S.: Ich nehme an, dass du das ganze irgendwo reinprogrammieren möchtest. Warum dann der Aufwand mit der Funktionssuche?. Deine Tabelle scheint doch recht engmaschig zu sein. Übernimm sie einfach in dein Programm und verwende simple (lineare) Interpolation für Zwischenwerte.


Faro1

Faro1 aktiv_icon

13:57 Uhr, 21.07.2017

Antworten
Hallo Roman-22,
das Format der Daten ist vorgegeben. Außer jpg, png... ist nichts erlaubt. Als Texteingabe wurde es in der Vorschau so verbogen dargestellt, dass ich es vorzog es als Bild einzufügen.
In der Einleitung steht, dass ich mit den Ergebnisse nicht zufrieden bin, weil es bei einigen Messpunkte zu sehr hohen Abweichungen kommt von bis zu 8,5 °C zwischen Ist- und Soll-Wert.
Danke für den Hinweis der Software. Zum einen ist das nicht mein Fachgebiet und zum Anderen habe ich nict die Zeit mich in eine solche Software einzuarbeiten.


Tabelle :
Download:
www.hidrive.strato.com/share/2x-ig04ccz

Gruss
Faro1
Antwort
Roman-22

Roman-22

15:08 Uhr, 21.07.2017

Antworten
Ja, ich weiß. dass man hier in diesem Forum unverständlicherweise keine anderen Dateien außer bestimmte Bildformate uploaden kann und ich meinte daher auch einen externen Hoster.
Als Text hättest du die Daten so zur Verfügung stellen können, dass du erst nur die komplette Spalte mit allen u-Werten und danach die Spalte der t-Werte einbindest.

Die Bedienung des Programms ist ziemlich selbsterklärend - die beiden Datenspalten in das Formular, das wie eine Tabellenkalkulation aussieht, reinkopieren (u-Werte links in die X1 Spalte, t-Werte in die Y Spalte) und dann "Tools" "Curve Finder" klicken. Das wars dann i.W. auch schon. Das Programm geht dann eine Reihe verschiedener vordefinierter Funktionstypen durch und gibt dir danach die Liste der Funktonen, geordnet nach bestem Fit, an.
Wenn ich mal Zeit habe werd ichs mit deinen Daten probieren, obwohl das Textformat und dort noch dazu die Mehrspaltigkeit eine direkte Verarbeitung verhindern.

Du bist allerdings die Antwort auf ein paar Fragen schuldig geblieben.
Woher stammt die Polynomfunktion?
Und warum solls ausgerechnet eine Polynomfunktion sein?
Wie groß dürfte denn die zulässige Abweichung maximal betragen?
Was spricht gegen einfache lineare Interpolation?
Bzw wie genau möchtest du die Funktion dann später verwenden?

Hast du es selbst schon in Excel versucht? Nämlich einerseits deine Daten zu plotten um zu sehen, wie der Verlauf aussieht (dann kann man auch leichter entscheiden, von welcher Bauart die Funktion, mit der man sein Glück versucht, sein könnte. Und hast du schon versucht in Excel mit deinen Daten eine Regression durchzuführen? (Die Daten im ExcelFormat oder CSV-Format wären auch hilfreicher gewesen).


Faro1

Faro1 aktiv_icon

16:10 Uhr, 21.07.2017

Antworten
Hallo Roman-22,

hier die Antworten.


Woher stammt die Polynomfunktion?
Antwort: Ist mir zugesandt worden mehr weiss ich leider auch nicht.

Und warum solls ausgerechnet eine Polynomfunktion sein?
Antwort: weil das nicht der einzige Fühler ist und sonst zu viel Speicher benötigt wird.

Wie groß dürfte denn die zulässige Abweichung maximal betragen?
Antwort: 1 °C geht 0,5 °C wäre super genial

Was spricht gegen einfache lineare Interpolation?
Antwort: Das habe ich mir für Plan B reserviert - bevorzugt ist ein Polynom

Bzw wie genau möchtest du die Funktion dann später verwenden? Siehe oben (so genau, wie es nur eben geht)

Mit Excel habe ich mir nur ein Tool gemacht, um das Polynom zu überprüfen
Wie gesagt, es ist nicht mein Fachgebiet. Wenn das jemand bis zu 1 °C hinbekommt werde ich mich erkenntlich zeigen.

Gruss
Faro1
Antwort
Roman-22

Roman-22

16:54 Uhr, 21.07.2017

Antworten
Nun, Regresspolynome zu finden ist einfach und geht auch in Excel - glaub ich jedenfalls, denn ich verwende Excel eigentlich sehr ungern für mathematisch-technische Probleme.
Das Polynom 6. Grades, welches mit gewöhnlicher Regression zu finden ist, hat allerdings bei deinen Daten eine Abweichung von -6,486 °C bis +15,525 °C. Hier machen kleine Änderungen durch runden oder abschneiden bei den Koeffizienten (v.a. bei A) schon recht viel aus. Die angegebenen Werte gelten für die von mir im Programm (In einem anderen) ermittelten Koeffizienten (die i.W. mit den deinen übereinstimmen, aber eben doch etwas genauer sind).
Wenn ich die von dir angegeben Koeffizienten nehme, erhalte ich Abweichungen von -35,817 °C bis 15,532 °C. Diese Abweichungen stellen sich beim ersten und beim letzten Wert ein (0,26 mV und 64,45 mV).

Für eine maximale Abweichung von 1° benötigt man schon ein Polynom vom Grad 22, für ±0,5 ° ein Polynom mit einem Grad von mehr als 40.

Also wenns nur Polynome sein dürfen und kein anderer Funktionstyp, dann wirst du mit den relativ großen Abweichungen leben oder aber Polynome von höherem Grad verwenden müssen. Warum sollte ein anderer Funktionstyp als ein Polynom eigentlich mehr Speicher benötigen?

Falls Polynome höherer Ordnung für dich ein Thema ist - im Abspann sind die Koeffizienten einer Polynomfunktion vom Grad 25 mit Abweichungen von -0,545 °C bis +0,728 °C.
Der erste Wert ist das freie Glied (die -42,261..), der letzte Wert ist der Koeffizient vom u25 und wie du an der Größenordnung 10-32 siehst, wirst du da möglicherweise gar nicht die nötige Genauigkeit bei der Implementation erreichen.

Eine andere, gangbare Vorgangsweise ist, deine Kurve in zwei bis vier Abschnitte zu unterteilen und für jeden Abschnitt getrennt ein Polynom einzupassen. Ich denke, dass das die Genauigkeit erhöhen müsste (den Implementationsaufwand natürlich auch).

Koeffizienten für ein Polynom vom Grad 25 (beginnend mit jenem von u0 bis zu jenem für u25):
-4.261164230802033e1
1.155130895800096e2
-8.065003112776317e1
4.795100241576906e1
-1.9999505857501123e1
5.921950099597953e0
-1.2831578166977475e0
2.0929881144302334e-1
-2.6311737656945002e-2
2.5980643580931697e-3
-2.0453607758030574e-4
1.29884862760567e-5
-6.711459839479027e-7
2.83949238793971e-8
-9.874205436898247e-10
2.826681206378219e-11
-6.655924781997184e-13
1.28469576717086e-14
-2.0193232460085433e-16
2.5577758075064216e-18
-2.569567330127827e-20
1.998981558300357e-22
-1.1605178220384191e-24
4.730220186954753e-27
-1.2070739439981828e-29
1.4505857941662639e-32


Und falls es dich interessiert - hier die Koeffizienten, die mein Programm für das Polynom vom Grad 6 errechnet hat:
-1.1790654315262823e1
3.6521778527541855e1
-2.5499561475097505e0
1.1507588691759292e-1
-2.776224718248328e-3
3.3412889154901197e-5
-1.5757977091832034e-7




Bild1
Antwort
Werner-Salomon

Werner-Salomon aktiv_icon

22:42 Uhr, 21.07.2017

Antworten
Hallo Faro1,

Die Werte in der Tabelle beschreiben eine Parabel - also ein Polynom 2.Ordnung. Mit dem Nachteil, dass die Parabel gekippt ist und damit zur Wurzelfunktion wird. Das bedeutet auch, dass es bei den Werten im unteren Bereich die größten Schwierigkeiten gibt, da hier die Steigung sehr hoch wird. Die Parabel sieht aus wie im ersten Bild. Man sieht zwar keine Abweichungen, aber das liegt am großen Massstab.

Das zweite Bild ist ein Diagramm mit den Unterschieden der Messwerte zu der idealen Parabel. Und dort sieht man den Ärger im unteren Bereich - wie vorhergesagt - aber auch eine Schwingung mit einer Amplitude von ca. 0,5Grad. D.h. auf eine Genauigkeit von 0,5Grad zu kommen ist mit einem Polynom illusiorisch und auch nicht sinnvoll.

Du solltest auf jeden Fall noch mal die Messwerte prüfen. Diese Schwingung ist sicher aufgesetzt und kann u.U. beseitigt werden.
Unterm Strich würde ich vorschlagen, dass man die Näherung aus einer Wurzelfunktion und einem Polynom 6.Ordnung zusammensetzt. Dann kommt man IMHO auch unter 1Grad Näherung.

Die Wurzelfunktion lautet:
T=-34,34165627°C+-691,0998162°C2+4800,570793°C2mVU

Fragen: Wie kommst Du zu den Messwerten - sind die mit mehr als einem Sensor ermittelt worden?
Benötigst Du den gesamten Bereich - insbesondere bis -18Grad?

Gruß Werner


Skizze
Skizze2
Antwort
Roman-22

Roman-22

00:38 Uhr, 22.07.2017

Antworten
Ganz entsprechen die Werte keiner Wurzelfunktion, aber fast.
Mit deiner Funktion kommt es zu Abweichungen im Bereich von -2,73 °C bis +7,72 °C, wie deine zweite Grafik ja auch zeigt.

Wenn man sich nicht auf eine Quadratwurzel beschränkt und wenn man noch ein quadratisches Glied nachschießt, um im oberen Bereich ein wenig aufzuräumen und zu glätten, kommt man mit einer recht einfachen Funktion mit nur vier Parametern auf eine maximale Abweichung von nicht ganz 0,75 °C, Das ist schon recht ordentlich. [Bild 1]

Und wenn man sich zwei unterschiedliche Polynomfunktionen sechsten Grades gönnt, kommt man ebenfalls in diesen Bereich und könnte natürlich mit Erhöhung des Polynomgrads weitere Zehntelgrade rausschinden. [Bild 2]


Bild1
Bild2
Faro1

Faro1 aktiv_icon

09:01 Uhr, 22.07.2017

Antworten
Hallo Werner,
hallo Roman-22,

Roman-22 - erst einmal danke für Deine Mühe.

Antwort zu Deiner Frage Werner: die Angaben in der Tabelle sind echte Werte, die am Sensor ermittelt wurden.

Die Anregung die Tabelle zu unterteilen haben ich auch überlegt. Das würde bei der Fülle sehr viele verschiedene Sensortypen geben. Liegt auch als Plan B bereit, wenn es keine bessere Lösung gibt. Die Lösung mit einer Wurzelfunktion gefällt mir gut, wenn der Fehler überall nicht höher ist als 05°C bis maximal 1°C.

Frage:
Welche Alternativen und elegante Lösungen bieten sich für die Aufgabe hier an, um so präzise wir möglich diesen Verlauf nachzubilden?
Es sind noch sehr viele ähnliche Tabellen mit ähnlichem Verlauf, die integriert werden müssen. Wenn es nur um diese eine Tabelle ging, wäre es kein Problem. Bei der Menge ist das aber nicht möglich, zumal ich nicht weiss, ob morgen noch welche hinzukommen. Ich benötige viel Speicher im Controller für das Betriebssystem selbst.


Viele Grüsse
Faro1
Antwort
Roman-22

Roman-22

10:04 Uhr, 22.07.2017

Antworten
> Welche Alternativen und elegante Lösungen bieten sich für die Aufgabe hier an, um so präzise wir möglich diesen Verlauf nachzubilden?
Wie genau meinst du das?
Wie du in meinem letzten Post gesehen hast, kommst du mit einer Funktion der Bauart t(u)=aub+c+dx2 zu einem sehr guten Ergebnis. Ebenso mit der Aufteilung in zwei Polynome sechsten Grades.
Die Koeffizienten müssten natürlich für jeden neuen Datensatz auch neu angepasst werden und Garantie, dass sich der absolute Fehler auch bei jedem neuen Datensatz bloß im Bereich +. 0,7 °C bewegen wird, gibts klarerweise keine.
Die bequemste und allgemein gültigste Variante ist sicher die lineare Interpolation. Du musst dazu ja auch nicht die gesamte Tabelle mit ihren 196 Wertepaaren heranziehen, sondern kannst die Tabelle ja ein wenig ausdünnen. Obwohl die rund 200 Wertepaare pro Sensor ja auch keine sooo riesige Datenmenge darstellen. Eine lineare Interpolation ist sicher rasch und einfach implementiert und danach ist für jeden neuen Sensor nur noch sein Profil in Form dieses lookup tables einzubringen.
Solange du mit Funktionen hantierst musst du dich sonst eben für jeden neuen Sensor rechnerunterstützt herumspielen bis du passende Parameter für die Funktion ermittelt hast und Garantie dafür, dass ein Funktionstyp für alle Sensoren passend ist, gibts auch nicht.
Faro1

Faro1 aktiv_icon

10:21 Uhr, 23.07.2017

Antworten
Hallo Roman-22,

sende mir bitte per E-Mail eine Kontakt- E-Mail-Adresse, wo ich dir was zusenden kann.

Gruss
Faro1
Antwort
Roman-22

Roman-22

12:36 Uhr, 23.07.2017

Antworten
Nö, aber wenns sein muss kannst du ja per PM einen Downloadlink schicken
Faro1

Faro1 aktiv_icon

15:12 Uhr, 23.07.2017

Antworten
nööö, muss nicht sein!
Antwort
Werner-Salomon

Werner-Salomon aktiv_icon

19:30 Uhr, 23.07.2017

Antworten
Hallo Faro1,

Du schreibst. "Antwort zu Deiner Frage Werner: die Angaben in der Tabelle sind echte Werte, die am Sensor ermittelt wurden."
Das ist mir schon klar. Die Frage bezieht sich eher darauf, wie verlässlich diese Daten sind. Wie hast Du die Temperatur gemessen? Wie oft wurde gemessen? Mit wie viel verschiedenen Temperatursensoren?

Einen Bereich von -18 bis +500Grad auf ein halbes Grad genau abzubilden ist schon ziemlich anspruchsvoll. Und an Diener Stelle würde ich mir zunächst mal Gedanken über diese Schwingungen machen. Die kosten Dich schon mal per se mindestens ein halbes Grad Genauigkeit.

Gruß
Werner
Faro1

Faro1 aktiv_icon

20:31 Uhr, 23.07.2017

Antworten
Hallo Werner,

die Werte sind absolut korrekt und verlässlich mit sehr viel Mühe ermittelt.Keine Störungen keine Schwingungen alles läuft korrekt. Diese Elktronik ist schon lange mit allen möglichen verschiedenen Fühlern im Einsatz.
Ich habe heute die Berechnungen von Roman-22 überprüft und bis zum Wert 488 °C stimmt es rechnererisch auf unter 1°C erstaunlich genau. Diese Polynome müssen nun noch in die Software und dann mit den Fühlern verglichen werden.
Natürlich ist zwischen Theorie und Praxis immer Spielraum. Ich mache das schon viele Jahre und lebe von dieser Tätigkeit. Hardwaremäßig ist alles ok. Was mir gefehlt hatte ist die Abbildung der Tabelle.

Gruss
Faro1
Antwort
Werner-Salomon

Werner-Salomon aktiv_icon

21:26 Uhr, 23.07.2017

Antworten
Hallo Faro1,

versteh' mich nicht falsch. Ich möchte Deine Messwerte nicht anzweifeln. Aber gibt Dir diese ziemlich regelmäßige Schwingung - und die ist ohne Zweifel vorhanden - nicht zu denken?

Gruß
Werner
Antwort
pleindespoir

pleindespoir aktiv_icon

02:39 Uhr, 24.07.2017

Antworten
"die Werte sind absolut korrekt"

Das nennt man dann vermutlich Wunder - keine Toleranzbereiche gibts nicht.
Schon mal garnicht über so weite Spannen.


Frage beantwortet
Faro1

Faro1 aktiv_icon

07:14 Uhr, 24.07.2017

Antworten

Wenn Du Wunder suchst, empfehle ich Dir die katholische Kirche.
Diese Tabelle ist vom Hersteller erstellt worden und
jeder Wert dieser Tabelle bildet den Durchschnittswert aus vielen Messungen an baugleichen Sensoren. Diese Fühler haben (laut Datenblatt ) eine Wiederholgenauigkeit von typisch 0,1 °C.

Hallo Werner,
ich habe noch nicht verstanden, wie Du aus einer Tabelle ein Schwingen herleiten willst. Meine Frage hier war aber eine andere, diese ist mittlerweile beantwortet worden und deshalb schieße ich hier ab.

Gruß
Faro1