Si les points ne sont pas uni-réparti ça ne change rien : La demande concerne une régression linéaire entre 2 bornes.
-----
Si les points ne sont pas uni-réparti ça ne change rien : La demande concerne une régression linéaire entre 2 bornes.
Salut,
@OBI
Bon, peut-être que je vais jeter un oeil à QTIplot. Mais quand je vois parler de "if", ça veut dire programmer, à moins que =SI(x;y) comme XL/OO. Or je disais au début du fil "sans VBA/XL4". D'autre part, je voudrais que ce que j'aurai, XL/OO, soit compris d'autres personnes sans avoir à ajouter un soft.
@Dudulle
Enfin, je vois "variation de la résistance". Il me semble bien que c'est ce que je disais. Précision relative, mais pas absolue.
Avoir un tableau avec les temp et rés, j'en ai plein les placards... Et mon interpolation est effectivement entre deux bornes proches, mais de proche en proche ?!?
Grosso modo, je linéarise de -25 à 75 °C avec un résultat à 0.1°C, avec une quinzaine de segments. Bien sûr ma CTN est étalonnée dans la gamme.
Donc j'ai un tableau T/R que je pose par exemple en colonnes 2 et 3. En première colonne, je pose des "bornes" à la main (des 0 ou des ?) pour mes limites de segments. Je veux qu'XL/OO trouve les bornes et sorte ax+b pour chaque segment.
Je crois que je suis un peu plus clair. J'essaierai de faire un fichier XL/OO clarifié et annoté, mais pas trop le temps.
Merci à vous,
Thom's
Précision relative et absolue ; si on peut effectuer une calibration avec une source à une température connue (c'est d'ailleurs toute la difficulté), car même si la variation n'est pas très précise pour une même CTN elle a une très bonne répétabilité.
Je te faire un exemple sur une feuille Excel, et tu pourra facilement l'adapter à ton besoin en suivant la logique de la feuille.
@Dudulle,
Je crois qu'on dit la même chose, peut-être différemment : je disais dans mon post #20 "Donc la précision de la CTN, à moins d'avoir été extrèmement bien calibrée, ne permettrait que de donner une différence de température." Ce n'est pas ce que tu viens de dire ?
@OBI
Je viens d'installer QTIplot Démo. Faut être rapide ! 10 min de session, c'est short. Même pas le temps de regarder les menus. C'est vraiment freeware ?
@+
Thom's
En fait qtiplot n'est un freeware qu'en version non compilée sur windows, mais en cherchant un peu tu arrives à trouver une version compilée (et légale).
Voici un fichier exemple, tu me dira si c'est bien ce que tu voulais.
regression par segments.zip
Salut,
@OBI:
Pas encore eu le temps pour qtiplot : plus intéressé à tenter d'essayer de me dépatouiller avec mon pote XL
Euh... Régression linéaire -> droite d'ajustement -> interpolation. Non ? Enfin, moi j'ai un peu tendance à travailler comme ça.
@Dudulle:
Bon, quand on me donne un fichier XL, je ne peux pas m'empêcher ... Donc tu trouveras ci-joint le fichier modifié: J'ai pas trop l'habitude, je verrai si c'est joint.
Évidemment, mon besoin était dans l'autre sens : T=f(Rctn), donc j'ai ajouté la colonne qui va bien dans l'encadré de tes calculs initiaux. Une courbe d'erreur sur cette gamme 10-15° apparaît dans le graphe d'erreur et dans celui qui ne représente que les 3 courbes de 10-15°. Note la différence.
Comme tu le verras, mes bornes ne sont pas sur des valeurs consécutives, mais plutôt disposées manuellement là où je veux, de façon à réduire l'erreur au mieux.
J'ai augmenté la table vers les négatifs, en supposant que les données proviennent bien d'une CTN B25/85=3450.
Ces calculs sont basés sur 6 segments, ce qui donne déjà +/- 2°C d'erreur.
Comment tu vois ça ?
@+
Thom's
Edit: je suis mûr : j'ai fait les calculs sur la résistance au lieu de la tension résultante du conditionnement ... Bon, je vois ça demain. ã toute.
Re,
non, pas besoin d'interpolation pour faire une regression linéaire
\o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/
OBI,
Sûr, mais de la régression linéaire pour faire une interpolation, y doit y en avoir besoin !
Sinon, on interpole entre deux bornes comme Dudulle on on obtient une erreur qui est soit sup soit inf à la courbe.
Avec une régression, on a une moyenne, donc la droite servant à l'interpolation est à cheval sur la courbe.
Au besoin jette un oeil sur mon fichier posté hier soir. Même s'il comporte quelques (petites) erreurs que j'ai vues après. Je suis entrain de le revoir.
Thom's
Je viens de refaire le fichier selon tes besoins avec 2 variantes :
Équation de la droite calculées d’après les point des 2 bornes (comme sur mon 1er fichier), et équation calculée sur la base de la régression linéaire de tous les points compris entre les 2 bornes.
Pour modifier les segments considérés il suffit d'entrer le n° du segment dans la colonne la plus à gauche (les points pris en compte vont de ce n° jusqu'au suivant).
J'ai donné la possibilité de créer 10 segments, mais on peut facilement modifier la feuille pour en ajouter d'autres.
regression par segmentsV2.zip
Dudulle,
Pas moyen de DL (Pièce jointe spécifié(e) non valide.)
Il faut attendre qu'un modérateur la valide.
J'espère qu'ils pas tous !
Après, je suis hors ligne pour plusieurs jours.
Sinon donne moi ton adresse mail en message privé et je t'envoie directement le fichier.
Je regardais justement si on pouvait mettre PJ dans message privé. Ok, mon email arrive.
Merci,
Thom's
Bonne et heureuse année 2013 à tous !
Salut Dudulle,
Bon, de retour. J'ai regardé ton fichier : intéressant; si ce n'était pas prémédité, c'est du vite bien pensé et appliqué.
Quelques petites choses:
- tu calcules la Rctn en fonction de la temp, alors que justement on cherche généralement l'inverse : on pose une Rctn pour avoir la température, alors que dans ton fichier, tu cherches plutôt à calibrer une CTN. J'ai donc inversé les données pour avoir mon résultat.
- si on part de la base que j'avais donnée (16 segments), on arrive à un tableau gigantesque. Il ne faut surtout pas se mettre sur certaines cases et chercher les dépendants ... (essayer sur J2 et cliquer 2 fois sur les dépendants)
- je pense qu'on peut le faire en matricielle avec DECALER, INDEX, ... J'essaie, mais je ne suis pas trés à l'aise.
Donc, avec 16 segments de -25 à +130 °C, j'arrive à +/- 0.3 °C sur la gamme. MAIS en mesurant simplement la résistance, c'est à dire sans pré-conditionnement : je vais refaire un peu le tableau en insérant une résistance série. Je pense arriver à mieux que 0.1 sur la gamme. Je sais, ça ne sert pas à grand'chose, mais on est au plus prés de la courbe théorique. Et ça m'amuse de faire comme ça.
Au fait, je t'ai lu sur un autre fil : je crois que ce n'est pas la peine d'essayer de mesurer -127 °C avec une CTN, à moins de l'avoir calibrée dans la gamme. C'est un composant soit semi-conducteur soit à oxydes métalliques liés : le deux ont des limites hautes et basses "relativement" serrées, peut-être -50 à +150 °C. Dans ce cas, rien ne vaut le thermocouple (pas cher, pas simple à conditionner) ou la PT100 ou PT1000 ( chère mais simple à conditionner).
Merci pour ton temps,
Thom's
Je reviens un peu tard
Ben non, si on fait une régression linéaire on a une forme analytique de la droite qui satisfait les critères exigés (type les moindres carrés). Pas besoin d'interpolation ni de if ensuite...
\o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/
Salut OBI,
Oui, bien sûr, je me suis mal exprimé. Je compte justement sur les coeff de la droite pour calculer les valeurs intermédiaires.
J'aurai bien dit "bref, je me comprends". Mais si les autres ne comprennent pas, ça l'fait pas !
Dudulle
Bon, je l'ai ! Grâce à ton astuce d'identification des segments et à qlq chose que j'avais tenté par ailleurs, j'ai trouvé le truc.
Donc, ci-joint mon fichier. Ce n'est sans doute pas optimisé, mais ça marche trés bien. Enfin presque. Encore des problèmes de raccordement de segments, mais ça vient.
J'ai "un peu" modifié ton fichier pour entrer n'importe quoi pour délimiter les segments, plus pratique.
Je n'ai pas essayé de parfaire la linéarisation, mais, visiblement, on peut obtenir mieux que 0.1 °C sur la gamme.
Merci pour l'aide de tous.
Thom's
PS : je considère le sujet clos, à moins que des questions subsistent.