Forum: PC-Programmierung Polynomrechnung in Excel


von Steffen I. (echo)


Lesenswert?

Ahoi,

für ein aktuelles Thermoelementsimulator-Projekt muss ich anhand der 
gewünschten simulierten Zieltemperatur die benötigte Spannung (bei 
bekannter Kaltstellentemperatur) berechnen.

Das funktioniert testweise soweit auch einwandfrei in Excel anhand der 
Polynomkoeffizienten die man beim NIST einsehen kann für alle 
Thermoelemente bis auf Typ K über 0°C.

Das Typ K Thermoelement über 0°C nutzt eine zusätzliche Gleichung (a0 
exp(a1 (t - a2)^2)), bei der ich anscheinend zu blöd bin sie korrekt in 
Excel zu nutzen.

Mein Ergebnis ist entweder generell 10mV zu niedrig bei gegebener 
Zieltemperatur oder nahe unendlich.

Wäre schön wenn mir jemand zeigen könnte wie die Gleichung korrekt in 
Excel lautet.

https://srdata.nist.gov/its90/download/type_k.tab Typ-K-Koeffizienten 
und Tabelle die ich nutze
https://srdata.nist.gov/its90/type_k/kcoefficients.html

E = sum(i=0 to n) c_i t^i + a0 exp(a1 (t - a2)^2).

->

Gleichung: E = c0 + c1*t + c2^2*t + c3^3*t + c4^4*t..... + a0*exp(a1 (t 
- a2)^2)

Wobei E = Spannung, c = Koeffizient, t = Zieltemperatur, a = Koeffizient

Koeffizienten:

range: 0.000, 1372.000, 9

 -0.176004136860E-01

  0.389212049750E-01

  0.185587700320E-04

 -0.994575928740E-07

  0.318409457190E-09

 -0.560728448890E-12

  0.560750590590E-15

 -0.320207200030E-18

  0.971511471520E-22

 -0.121047212750E-25

exponential:

 a0 =  0.118597600000E+00

 a1 = -0.118343200000E-03

 a2 =  0.126968600000E+03

Vielen Dank.

: Bearbeitet durch User
von Schlaumaier (Gast)


Lesenswert?

Gewöhne dir in Excel das ^ Zeichen ab, und nutze die Potenz-Funktion.

Ist 100 x sicherer und sauberer.

von Peter M. (r2d3)


Lesenswert?

Steffen I. schrieb:
> Wäre schön wenn mir jemand zeigen könnte wie die Gleichung korrekt in
> Excel lautet.

Wäre schön, wenn Du Deine bisherigen Lösungsversuche in Excel zeigen 
könntest!

Das darf auch gerne eine minimal besetzte Datei sein.

Du kannst auch mit STRG # die Formelanzeige einschalten und ein 
Bildschirmfoto auf µc.net hochladen.

Sinnvoll zum Debuggen sind auch bekannte Päarchen der Form ( Temperatur 
/ Spannung) im positiven Wertebereich.


Schlaumaier schrieb:
> Gewöhne dir in Excel das ^ Zeichen ab, und nutze die
> Potenz-Funktion.
>
> Ist 100 x sicherer und sauberer.

Sicherer?! Sauberer?!
Mathematische Ausdrücke scheinen Dir fremd zu sein.
Schlaumeier, husch, husch, zurück in's Körbchen!

: Bearbeitet durch User
von Cartman (Gast)


Lesenswert?

> Schlaumeier, husch, husch, zurück in's Körbchen!
Har, har haaaar.

Ich haette aber wohl das Hornerschema zum Rechnen benutzt.
Da braucht es weder ^ noch Potenzfunktionen.

Aber keine Ahnung ob sowas schickes mit Drecksexcel ueberhaupt geht.
Das taugt doch eigentlich nur fuer primitives BWL-Zeug wie 
Stundenzettel.

von Cartman (Gast)


Lesenswert?

> E = c0 + c1*t + c2^2*t + c3^3*t + c4^4*t..... + a0*exp(a1 (t
- a2)^2)

Muesste es nicht:

E = c0 + c1*t + c2*t^2 + c3*t^3 + ...

sein?

von Peter M. (r2d3)


Lesenswert?

Hallo Cartman,

Cartman schrieb:
> Muesste es nicht:
>
> E = c0 + c1*t + c2*t^2 + c3*t^3 + ...
>
> sein?

ja, die Koeffizienten werden nicht potenziert.

von c-hater (Gast)


Lesenswert?

Cartman schrieb:

> Aber keine Ahnung ob sowas schickes mit Drecksexcel ueberhaupt geht.

Excel enthält eine vollständige Programmiersprache (nämlich VBA). Damit 
geht alles, was auf dem Anwendungslevel eines OS grundsätzlich möglich 
ist.

> Das taugt doch eigentlich nur fuer primitives BWL-Zeug wie
> Stundenzettel.

Ein Typ, der nichtmal so grundlegende Excel-Eigenschaften kennt oder gar 
zu nutzen weiss, sollte sich nicht so aufplustern.

Das kommt einigermaßen lächerlich rüber.

von MaWin (Gast)


Lesenswert?

c-hater schrieb:
> Ein Typ, der nichtmal so grundlegende Excel-Eigenschaften kennt oder gar
> zu nutzen weiss, sollte sich nicht so aufplustern.
>
> Das kommt einigermaßen lächerlich rüber.

Darf ich dich zitieren, wenn du das nächste Mal über C herziehst?
Ich würde dann nur das Wort Excel gegen C tauschen.

von Cartman (Gast)


Lesenswert?

> nichtmal so grundlegende Excel-Eigenschaften

Nun, M$ macht in den neuen Versionen auch ein Offlinegeheimnis daraus.
Bei 4.5 GB Installationsmedium reicht es nicht mehr fuer eine
(Offline-)Hilfe.

Sowas kann mir gestohlen bleiben...

Und die ersten Versionen waren ja wohl auch eher Krueppel im
Vergleich mit dem was der "Markt" zu der Zeit sonst so bereit hielt.

Mein alter Liebling: Wingz.
Das kennst du vermutlich nicht mal.

von Schlaumaier (Gast)


Lesenswert?

Cartman schrieb:
> Das taugt doch eigentlich nur fuer primitives BWL-Zeug wie
> Stundenzettel.

Du würdest schwer staunen wenn ich dir erzähle wozu Leute schon alles 
Excel verwendet habe. Inkl. Briefe an der Finanzamt, Angebotserstellung 
an Kunden  etc.
Ich kenne viele Leute die der Meinung sind, Word ist Mist sie machen das 
lieber in Excel.  So viel dazu.

JA das ^ Zeichen ist das selbe wie eine Potenz. Aber wenn man schreibt 
=potenz(5;2) dann kommt auch 25 raus und man kann die Formel viel besser 
lesen als ein ^ was sehr oft ein Tippfehler ist wenn man die 1 treffen 
will.

Und Leute die mir erzählen man sollte Variablen immer genau benennen, 
sollten sich bei so Sachen gepäcklich halten.

Ich habe schon viele Formeln (Tabellen) wegen so einen Kurzmist 
korrigiert. Das ist nach "falscher Deklaration der Zelle" und 
"Leerzeichen an der falschen Stelle" der 3 häufigste Fehler in 
Excel-Tabellen nach meiner Erfahrung. Und die ist so alt wie Excel. Ich 
durfte nämlich schon seinen Vorgänger "genießen".

Und wenn du schon wie ich, Software entwickelt hast, die Fehler in 
Excel-Tabellen beseitigen, dann weißt du wovon ich Rede.

von Rolf M. (rmagnus)


Lesenswert?

Schlaumaier schrieb:
> Cartman schrieb:
>> Das taugt doch eigentlich nur fuer primitives BWL-Zeug wie
>> Stundenzettel.
>
> Du würdest schwer staunen wenn ich dir erzähle wozu Leute schon alles
> Excel verwendet habe.

Ja, es gibt Kreise, in denen Excel praktisch für alles 
verwendet/missbraucht wird.

> Inkl. Briefe an der Finanzamt, Angebotserstellung an Kunden  etc.
> Ich kenne viele Leute die der Meinung sind, Word ist Mist sie machen das
> lieber in Excel.  So viel dazu.

Pest gegen Cholera - was ist besser?

> Und wenn du schon wie ich, Software entwickelt hast, die Fehler in
> Excel-Tabellen beseitigen, dann weißt du wovon ich Rede.

Ich hab schon genug Software geschrieben, um zu versuchen, Daten aus 
Excel-Tabellen zu extrahieren, die da von vorne herein schon nicht 
hätten drin sein sollen.

von udok (Gast)


Angehängte Dateien:

Lesenswert?

Ich finde Excel ziemlich gut.
Zumindest für die Sachen, für die es gebaut wurde.

Die Polynom-Interpolation im Bild habe ich mir als Beweis in 5 Minuten 
zusammengebastelt.
- Eintragen einer Handvoll Werte
- Grafik erstellen
- Polynominterpolation

von ths (Gast)


Lesenswert?

Kann man mit Excel grafisch lösen. Aber wenn du die Koeffizienten der 
Polynome weiter verrechnen möchtest oder z.B. für Thermoelemente 
Polynome 16. Ordnung brauchst, bist du mit der RGP-Funtion besser 
bedient. Nicht für alle Thermoelemente gibt es Umkehrpolynome, hier 
kommt man in VB mit REgula Falsi schnell zum Ziel.

von Programmierer (Gast)


Lesenswert?

udok schrieb:
> Die Polynom-Interpolation im Bild habe ich mir als Beweis in 5 Minuten
> zusammengebastelt.

Das ist aber keine Interpolation, höchstens ein "Fit".

von udok (Gast)


Lesenswert?

Programmierer schrieb:
> Das ist aber keine Interpolation, höchstens ein "Fit".

Und was ist der Unterschied?

von udok (Gast)


Lesenswert?

ths schrieb:
> Kann man mit Excel grafisch lösen. Aber wenn du die Koeffizienten der
> Polynome weiter verrechnen möchtest oder z.B. für Thermoelemente
> Polynome 16. Ordnung brauchst, bist du mit der RGP-Funtion besser
> bedient. Nicht für alle Thermoelemente gibt es Umkehrpolynome, hier
> kommt man in VB mit REgula Falsi schnell zum Ziel.

Danke für den Tipp mit der RGP Funktion.  Die kannte ich nicht.

von Programmierer (Gast)


Lesenswert?

udok schrieb:
> Programmierer schrieb:
>> Das ist aber keine Interpolation, höchstens ein "Fit".
>
> Und was ist der Unterschied?

Ein interpoliertes Polynom geht genau durch alle Stützstellen, und 
i.A. ist der Grad des Polynoms gleich zur Anzahl der Stützstellen-1 
(außer "degenerierte" Fälle). Stützstellen müssen aber alle 
unterschiedliche X-Werte haben.

Ein "Fit" liefert ein Polynom geringen Grades (hier: 3) das ungefähr in 
der Nähe der Stützstellen liegt.

Rolf M. schrieb:
> Ich hab schon genug Software geschrieben, um zu versuchen, Daten aus
> Excel-Tabellen zu extrahieren, die da von vorne herein schon nicht
> hätten drin sein sollen.

DAS kenne ich auch zu Genüge. Am liebsten sind Informationen noch durch 
Hintergrundfarben der Zellen kodiert, die man dann mit auslesen muss. 
Ist Hellrot und Rot das gleiche? Dann gerne noch Zwischen-Überschriften, 
d.h. Zeilen 1-100 sind z.B. Einkauf, dann kommt eine Überschrift, Zeilen 
102-200 sind Verkauf... Super.

von Schlaumaier (Gast)


Lesenswert?

Rolf M. schrieb:
> Ich hab schon genug Software geschrieben, um zu versuchen, Daten aus
> Excel-Tabellen zu extrahieren, die da von vorne herein schon nicht
> hätten drin sein sollen.

Och drin sein ist eine Sache.

Das Problem ist, nur weil eine Zahl aussieht wie eine Zahl muss es keine 
Zahl sein.  Das gilt besonders bei Excel.

Und die Daten dann zu verarbeiten da kommt richtig Freude auf. Glaubs 
mir einfach. Besonders wenn die Excel Tabelle via CSV / SDF Import durch 
eine 3. Software erstellt wurde.

Hat mich mal ne Woche Arbeit gekostet, bis ich einige Mio an Euro 
gefunden habe.

von c-hater (Gast)


Lesenswert?

Schlaumaier schrieb:

> Hat mich mal ne Woche Arbeit gekostet, bis ich einige Mio an Euro
> gefunden habe.

Ist doch kein schlechter Schnitt, einige M€ für eine Woche Arbeit. Das 
würde ich auch machen. Ca. eine Woche lang.

Danach hätte ich besseres zu tun, als hier zu posten ;o)

von Rolf M. (rmagnus)


Lesenswert?

c-hater schrieb:
> Schlaumaier schrieb:
>
>> Hat mich mal ne Woche Arbeit gekostet, bis ich einige Mio an Euro
>> gefunden habe.
>
> Ist doch kein schlechter Schnitt, einige M€ für eine Woche Arbeit.

Naja, sie wurden durch die Arbeit ja nicht generiert, sondern nur 
wiedergefunden, wenn ich das richtig verstehe.

von Peter M. (r2d3)


Lesenswert?

Hallo "Schlaumaier" Münchhausen,

Schlaumaier schrieb:
> Das Problem ist, nur weil eine Zahl aussieht wie eine Zahl muss es keine
> Zahl sein.  Das gilt besonders bei Excel.
>
> Und die Daten dann zu verarbeiten da kommt richtig Freude auf. Glaubs
> mir einfach. Besonders wenn die Excel Tabelle via CSV / SDF Import durch
> eine 3. Software erstellt wurde.
>
> Hat mich mal ne Woche Arbeit gekostet, bis ich einige Mio an Euro
> gefunden habe.

erst durch Deinen Beitrag habe ich gelernt, was ich doch für ein toller 
Hecht bin. Wenn Excel anfängt, Zahlen als Datum oder Zeit zu 
interpretieren, dann gibt es verschiedene Vermeidungs- bzw. 
Umgehungsstrategien.

Eine besteht darin, einen eigenen Importfilter für solche Dateien zu 
schreiben. Der sollte aber nach einem Tag fertig sein.

Das Problem ist analytisch pillepalle gemessen an den Dingen, die 
Elektronikentwickler so leisten.

Vielleicht solltest Du mal Deine Komplexitätsskala neu justieren 
(lassen). Wenn c-hater, Rolf M. und andere Dein konkretes Problem sehen 
würden, machen die sich vor Lachen in die Hose.

Wenn Dich das Problem vor solche Herausforderungen stellt, nun gut. :)

von Schlaumaier (Gast)


Lesenswert?

Peter M. schrieb:
> . Wenn Excel anfängt, Zahlen als Datum oder Zeit zu
> interpretieren, dann gibt es verschiedene Vermeidungs- bzw.
> Umgehungsstrategien.

die kenne ich alle. Aber ich habe nie von Zeit-Feldern geredet.

Mein Problem ist, das in einer Zahlenreihe einige Werte als TEXT 
interpretiert sind. Dazu kommen dann noch punkt/komma 
Übertragungsfehler.
Seltsame Leerzeichen. Die sind übrigens bei Excel Gang und Gebe.

Grundsätzlich liegt das Problem in der falschen Zuweisung der 
Eigenschaften der Zelle. Die steht zwar normal auf Standard. Aber wenn 
Excel Daten aus externen Programmen bekommt kommt es sehr häufig vor, 
das die einige Felder oder auch die ganze Reihe als "TEXT-Feld" 
einstellt.

Die schnellste Methode so was zu erkennen ist, einfach 10 Zellen 
markieren und das Ergebnis im Kopf grob zu zusammen zu rechnen. Und dann 
schauen ob unten bei Summe ein ähnlicher Wert steht.

Wenn der aber von den 10 Zellen nur 3 zusammenrechnet DANN hat man ein 
Problem.

Bei lausigen 10 Zellen macht man das von Hand.

Bei Dateien mit 15 Tabellen , und ja ca. 8.000-12.000 Feldern belegt 
schreibe ich dazu ein Programm.

Und ein punkt-komma Fehler nach deutscher Schreibweise kann locker 
Abweichungen im Millarden-Bereich bringen.  11.000 * 5 = da macht Excel 
dann gerne mal 55 daraus. Viel Spass beim Suchen. Oder es macht ein 
Textfeld daraus. Und wenn die "schlaue" Software dann auch noch die 55 
übergeben hat, anstelle einer Formel kommt richtig Freude auf.

Allein schon diese  Zahlen in Formeln umzuwandeln, ist eine saumäßige 
Arbeit.

Aber wozu habe ich VB ;) nicht VBA, der Mist ist zu unflexible.

von Egon D. (Gast)


Lesenswert?

udok schrieb:

> Programmierer schrieb:
>> Das ist aber keine Interpolation, höchstens ein "Fit".
>
> Und was ist der Unterschied?

Früher, in der Guten Alten Zeit (tm), bevor die
"amerikanischen Wissenschaftler" den "Fit" erfunden
haben, hieß das "Approximation" (="Annäherung").

Die Interpolation ist eine spezielle Spielart; die
Interpolante trifft die Stützstellen EXAKT. (Die
Interpolante muss übrigens nicht zwingend ein Polynom
sein.)
Der Approximationsfehler der Interpolation ist in den
Stützstellen also Null.


Im allgemeinen Fall der Approximation ist der Fehler
in den Stützstellen nicht Null, sondern erreicht nur
ein Minimum; das wird bei überbestimmten Systemen
(mehr Stützstellen als Freiheitsgrade) in der Regel
so sein.

Als Maß für die Güte der Näherung wird bei der
"Gausschen Fehlerquadratmethode" die Summe der Quadrate
aller Einzelfehler minimiert; bei der Tschebyscheff-
Approximation ist es der Betrag des maximalen Fehlers,
der minimiert wird.

Bei Bedarf lassen sich Interpolation und (allgemeine)
Approximation natürlich auch kombinieren; das hat aber
m.E. keinen üblichen eigenen Namen.

HTH

Beitrag #7010729 wurde von einem Moderator gelöscht.
von Elektrofan (Gast)


Lesenswert?

Die Mathe lehrt, dass Polynome, die "viele" (z.B. > 5) Stützstellen
genau treffen (="fit"), zwischen diesen Stellen stark "schwingen".

Zweckmässiger sind oft Polynome mit z.B. 4 als höchster Potenz, die
dann notwenigerweise knapp neben den Stützstellen verlaufen.

von Tobias P. (hubertus)


Lesenswert?

Elektrofan schrieb:
> Die Mathe lehrt, dass Polynome, die "viele" (z.B. > 5)
> Stützstellen
> genau treffen (="fit"), zwischen diesen Stellen stark "schwingen".

Sog. Runge-Phänomen und das Schwingen wird zum Rand hin immer grösser. 
Abhilfe kann sein, die Stützstellen nicht äquidistant zu wählen, sondern 
die Nullstellen der Chebyshev-Polynome als Stützstellen zu verwenden. 
Das Schwingen geht dadurch nicht weg, aber verteilt sich dann 
gleichmässig auf das Intervall und ist überall gleich gross.

von Zeno (Gast)


Lesenswert?

Cartman schrieb:
> Muesste es nicht:
>
> E = c0 + c1*t + c2*t^2 + c3*t^3 + ...

Genau so.

von Zeno (Gast)


Lesenswert?

Schlaumaier schrieb:
> Aber wozu habe ich VB ;) nicht VBA, der Mist ist zu unflexible.
Jo, wenn man keine Ahnung von VBA hat, dann muß man wahrscheinlich VB 
nehmen.
Das ist schon erstaunlich zumal die syntaktischen Unterschiede zwischen 
VB und VBA eher marginal sind.
Ich kenne Leute die haben QDAS qs-Stat mit Excel nachprogrammiert - wie 
die das wohl gemacht haben? VB ham'se da nicht genommen.

von MaWin (Gast)


Lesenswert?

Alles Psychopathen, die Ihre Namen nicht kennen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.