• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

Formel aus Graph bestimmen

Mitglied seit
11.09.2002
Beiträge
4.988
Reaktionen
410
Also folgendes ist das Problem:

ich habe von einem NTC-Widerstand Werte gegeben für Temperatur und Widerstand.
Sieht in etwa so aus:

25 °C ----> 8200
30 °C ----> 6697,5
35 °C....

bis 150°C
das problem ist, dass es nicht linear ansteigt, sondern wie eine abfallende e-funktion in etwa (Wenn man als x-Achse den Widerstand nimmt)

Ich müsste daraus eine Formel entwickeln, die sehr genau ist. Ich habe es mit Excel probiert,Trendlinie, log. Annäherung. Das kommt schon nah dran, aber noch nicht nah genug. habe so 2 °C Abweichung bisher noch.

Gibt es andere Programme mit denem man soetwas machen kann, und die mehr oder weniger frei verfügbar sind?
Habe zb. Matlab auch da, aber zur zeit keine Idee wie ich damit handeln könnte.
 
Mitglied seit
11.09.2002
Beiträge
4.988
Reaktionen
410
hochladen, ähhh, ich probiers mal ^^


einfach das txt dann wegnehmen
 
Mitglied seit
06.10.2004
Beiträge
48
Reaktionen
0
jo matlab wär ne möglichkeit.

einfach die Temperatur-Werte als Vektor(z.B. T) speichern, und die Widerstandswerte( z.B. R) als anderen Vektor.

dann einfach mit plot(T,R,'*'), die datenpunkte zeichnen lassen. Im Fenster dann Achsen beschriften usw. . Kannst dort auch ne automatische Regression vornehmen (linear, polynom, exponentiell usw.).

Wird dir aber wahrscheinlich auch kein sehr viel besseres Ergebniss als Excel liefern.

Wenn dir langweilig ist kannst du ja das überbestimmte Gleichungssystem lösen :top2:
 
Mitglied seit
14.07.2003
Beiträge
3.128
Reaktionen
0
bin mir net sicher aber für ntc R's gibts ne formel wo du einfach nur parameter einsetzen kannst (aus deinen werten)
 
Mitglied seit
11.09.2002
Beiträge
4.988
Reaktionen
410
Original geschrieben von pApAsChLuMpF4
bin mir net sicher aber für ntc R's gibts ne formel wo du einfach nur parameter einsetzen kannst (aus deinen werten)

jo es gibt ne Formel, die hilft aber nur wenn Parameter a und b gegeben sind, die ich aber nicht habe. Und selber angleichen hab ich versucht, aber das geht auch garnicht
 
Mitglied seit
30.05.2000
Beiträge
543
Reaktionen
0
Also es geht schon besser, allerdings nur, wenn man in die Formel Polynome und sowas mit reinpackt und das entspricht sicher nicht dem, was du als Lösung erwartest. Mit der Struktur deiner Lösung wirst du auch mit anderen Programmen keine "besseren" Ergebnisse erzielen, da die meisten Programme die Regression über least square durchführen.
 

FORYOUITERRA

TROLL
Mitglied seit
22.07.2002
Beiträge
7.725
Reaktionen
921
Website
lifehacker.com
gib mal die formel,
wenn es ne formel gibt, dann ist die schätzung der parameter leicht.

ansonsten meine funktion (schwarz datenpunkte, rot meine geschätzte funktion)

 
Mitglied seit
11.09.2002
Beiträge
4.988
Reaktionen
410
Original geschrieben von ChoseYourWeapon
Also es geht schon besser, allerdings nur, wenn man in die Formel Polynome und sowas mit reinpackt und das entspricht sicher nicht dem, was du als Lösung erwartest. Mit der Struktur deiner Lösung wirst du auch mit anderen Programmen keine "besseren" Ergebnisse erzielen, da die meisten Programme die Regression über least square durchführen.

ähm also wegen mir gerne polynome, das ist egal, ich brauche das eh in nem Programm
Mit Excel geht das ja auch Polynommäßig, wenn man die Temperatur als x-Achse nimmt und Polynom 6. Grades kommt sogar ne 100%ige übereinstimmung. Aber mit Widerstand als X-Achse passt es einerseits nicht, zum anderen sind die Formeln im oberen und unterem Bereich irgendwie unterschiedlich.
Aber wenn es ne Polynomlösung gibt dann: immer her damit ^^
 
Mitglied seit
11.09.2002
Beiträge
4.988
Reaktionen
410
Original geschrieben von MuchO_[SpeeD]
gib mal die formel,
wenn es ne formel gibt, dann ist die schätzung der parameter leicht.

ansonsten meine funktion (schwarz datenpunkte, rot meine geschätzte funktion)


das sieht doch schon verdammt geil aus, wenn du mir davon die Formel geben könntest wärs noch geiler ;) wie haste das gemacht ? mit Matlab ?
Wenn ja kannst du mir evtl das programm geben, oder einen Ansatz davon ?
 
Mitglied seit
30.05.2000
Beiträge
543
Reaktionen
0
Aso wenns auf die formel nicht ankommt nimm die von Mucho, ist dann noch genauer. Meine war einfach mit nem Polynom zweiten Grades die hier :

341.654 + 0.00830011*x - (4.40959E-7)*x^2- 46.0632*log(0.276094*x)
 
Mitglied seit
11.09.2002
Beiträge
4.988
Reaktionen
410
Original geschrieben von ChoseYourWeapon
Aso wenns auf die formel nicht ankommt nimm die von Mucho, ist dann noch genauer. Meine war einfach mit nem Polynom zweiten Grades die hier :

341.654 + 0.00830011*x - (4.40959E-7)*x^2- 46.0632*log(0.276094*x)

ähh also bei der Formel kommt bei mir bei Excel nur werte von 225° - 258° C
oder rundet excel da irgendwie falsch ?

ahhh edit !!: habs gefunden, LOG war wohl als LN gemeint ;)
also die Formel ist schonmal _deutlich_ besser als die von Excel, wie haste das gemacht nu ?
 
Mitglied seit
30.05.2000
Beiträge
543
Reaktionen
0
log in ln ändern

Sorry ganz vergessen bei Gnuplot steht log für den natürlichen Logarithmus.

edit : geht einfach so bei Gnuplot, dass man sich ne Fkt definiert, z.b. f(x) = a*x + b*x^2 +c * log (d*x) +e

und dann eine Regression über die Parameter a,b,c,d,e fitten lässt. Nimmt man noch höhere Polynome rein, wirds noch genauer.
 

FORYOUITERRA

TROLL
Mitglied seit
22.07.2002
Beiträge
7.725
Reaktionen
921
Website
lifehacker.com
da es eine theoretische formel gibt würde ich diese gerne wissen - ohne modell keine parametrisierung.
mein gedöhns ist eine spline regression und oh wunder: nichtparametrischer natur.
 
Mitglied seit
11.09.2002
Beiträge
4.988
Reaktionen
410
also erstmal vielen dank fürs Helfen
dann: was meint ihr mit dem Modell und der Formel ?

Also mir wurden diese Werte gegeben, es gibt ganz sicher zu dem NTC auf dem Datenblatt Formeln dazu, die ich leider nicht habe ^^

Da ich heute schon etwas mit Excel probiert habe wart ihr quasi meine vorerst letzte Rettung, morgen hätt ich mich sonst an Matlab rangesetzt, was ich aber nur zuhause habe. Und ganz ehrlich, mit solchen dingen war ich noch nie der beste :)

nochmals Danke

es gibt normal für NTC´s ne Formel, siehe Wikipedia, aber da muss man mehrere Parameter wissen. Denke die würden auf dem Datenblatt stehen.

edit: Ich muss den NTC natürlich messen, um daraus die anliegende Temperatur zu bestimmen.
 

FORYOUITERRA

TROLL
Mitglied seit
22.07.2002
Beiträge
7.725
Reaktionen
921
Website
lifehacker.com
warum hast du das datenblatt nicht?
ich wette du kannst die größen, welche auf wikipedia in den formeln noch fehlen per hand bestimmen...
meine spline regression gibt dir, wie du unschwer auf der graphik erkennst, die werte zwischen 250 und 8200 relativ exakt wieder. eine vorhersage außerhalb dieser range wird nur linear approximiert (mit der steigung des letzten stückes) und somit umso genauer, umso näher du an den intervallgrenzen bist.

das ganze ist ein vierzeiler in R (nach daten einlesen erste spalte=temp, zweite spalte= wider).

library(stats)
plot(wider,temp)
ss<-smooth.spline(wider,temp)
lines(ss,col="red")
predict(ss,c(x1,x2, ... halt alle deine widerstandswerte, für die du die temperatur suchst))
 
Mitglied seit
11.09.2002
Beiträge
4.988
Reaktionen
410
Original geschrieben von MuchO_[SpeeD]
warum hast du das datenblatt nicht?
ich wette du kannst die größen, welche auf wikipedia in den formeln noch fehlen per hand bestimmen...
meine spline regression gibt dir, wie du unschwer auf der graphik erkennst, die werte zwischen 250 und 8200 relativ exakt wieder. eine vorhersage außerhalb dieser range wird nur linear approximiert (mit der steigung des letzten stückes) und somit umso genauer, umso näher du an den intervallgrenzen bist.

das ganze ist ein vierzeiler in R (nach daten einlesen erste spalte=temp, zweite spalte= wider).

library(stats)
plot(wider,temp)
ss<-smooth.spline(wider,temp)
lines(ss,col="red")
predict(ss,c(x1,x2, ... halt alle deine widerstandswerte, für die du die temperatur suchst))

Das datenblatt habe ich nicht weil diese Widerstände auf einem Modul verbaut sind, und die Tabelle alles war was mein Betreuer mir gegeben hat.
Ich könnte bestimmt irgendwie an das Datenblatt kommen, nur müsste ich da von a nach b nach c rennen, und mit 10 Leuten telefonieren....
dauert alles um da dranzukommen irgendwie. Von daher erschien es mir so doch einfacher.
Da ich die Temperatur erstmal nur bis 110° brauche, schlimmstenfalls bis 140° mal irgendwann, ist die genauigkeit so schon auf jeden fall gut. Bei meinem versuchen hatte ich entweder im mittleren bereich um 90 ° oder im oberen bereich bei 135 ° zu große abweichungen dann.

Wenn ich das Programm so sehe, wärs mit Matlab wohl auch so ähnlich gegangen, aber ich hätte ungleich länger dran gesessen.
Nochmals vielen dank, wenn ich mal mit E-Technik aushelfen kann dafür, einfach melden :)
 
Mitglied seit
11.09.2002
Beiträge
4.988
Reaktionen
410
Original geschrieben von MuchO_[SpeeD]
dann solltest du widerstand auf temperatur wohl regressen und nicht wie hier?

ähhh was willst du mir nu sagen ?

Also um mein Problem mal zu beschreiben: Ich habe bauteile im Ofen, aber die erhitzen sich auch selber durch den Strom der durchgeht, also muss ich die Temperatur überwachen, daher dann sorum den widerstand messen damit ich die temperatur am Bauteil habe und nicht vom Ofen.

da ich deine Frage nicht verstanden habe hoffe ich mal das hat es erklärt ^^
 

voelkerballtier

Coverage, Staff, Coding
Mitglied seit
01.12.2003
Beiträge
1.603
Reaktionen
0
laut wikipedia ist wird das Widerstand-Temperatur-Verhalten durch folgende Gleichung beschrieben:
ab2d58b97acfcf458c2c3b2c7cdf6f7a.png

Am besten plottest du also ln R auf der y-Achse gegen 1/T auf der x-Achse. Das sollte in etwa eine Gerade sein. Dann misst du den Anstieg (sollte positiv sein) der Geraden und nennst selbigen b. Desweiteren sollte eine Nullstelle vorhanden sein. Der entsprechende x-Wert ist abzulesen und mit 1/T0 zu bezeichnen. Aus b und 1/T0 bilden wir einen Parameter A wie folgt:
A = exp(-b/T0).
Die Temperaturabhängigkeit deines Widerstands lässt sich nun mit Hilfe der berechneten Konstanen so darstellen:
R = A*exp(b/T)
Zur Überprüfung kannst du ja nochmal die Messwerte und die erhaltene Kurve in einem normalen R-T-Diagramm auftragen.
 
Oben