Inscription / Connexion Nouveau Sujet

1 2 +


Niveau Maths sup
Partager :

jai besoin d'un outil mathematique

Posté par
Remib34
07-10-14 à 15:43

Bonjour, dans le cadre de mon projet, je dois déterminer la position du soleil via un capteur en demi-sphère sur lequel se trouve 22 photodiodes.
j'ai une première lignes neufs de photodiodes espacés de 40° a 30° a partir de la base de la demi-sphère, une deuxième identique a 50° une troisième ligne de 3 photodiodes a 70° puis la photodiode du sommet a 90° (voir le fichier).
je reçois les 22 tension de mes photodiodes, j'ai fait un premier programme qui récupère ces tensions et qui me donne une position vraiment peu précise ( calcul de proportion vraiment simple) .
je voudrai savoir si un outil mathématique efficace existerait pour que je puisse avoir une position précise (interpolation de Lagrange,.... je ne sait pas et je trouve rien)

jai besoin d\'un outil mathematique

Posté par
LeDino
re : jai besoin d'un outil mathematique 07-10-14 à 23:28

Tu tries les tensions et tu gardes les trois plus fortes : l'angle cherché est à l'intérieur du triangle formé par ces capteurs.
C'est à partir de ces trois tensions que tu vas trianguler.
Pour cela tu appliques le modèle physique approprié (quelque chose du genre tension proportionnelle au flux, donc proportionnelle au cosinus de l'angle incident).
Tu obtiens 3 équations associant 2 inconnues angulaires (quand on connait deux angles, on peut déduire le troisième) et une inconnue d'intensité globale (tu ne sais pas quelle est l'intensité maximale lorsque le rayonnement est à angle droit).

Tu résous.
Si tu es consciencieux tu vérifies une fois l'angle trouvé, si les tensions des autres capteurs sont cohérentes avec la solution.

Logiquement, la répartition des capteurs fait que les 3 mieux placés ne sont pas très inclinés par rapport à l'angle solaire cherché.
Du coup, il y a probablement possibilité d'appliquer un DL sur les cosinus pour simplifier la résolution si besoin.

Il y a pas mal de calculs, alors bon courage ...

Posté par
LeDino
re : jai besoin d'un outil mathematique 08-10-14 à 02:08

O  est le centre de la sphère portant les diodes.
R  est son rayon.
Les points portant les diodes sont notés  A_i  de coordonnées  (x_i, y_i, z_i)  connues.

On cherche le point  M  de coordonnées  (x, y, z)  correspondant à l'énergie lumineuse maximale reçue, donc indiquant la position solaire.

Le modèle physique est logiquement celui-ci :   U_i = V.\cos x_i
U_i :  tension sur la diode i
x_i :  angle entre  OM_i  et  OM
V :  est la tension maximale théorique (inconnue), qui serait reçue si une diode était placée au point M.

Pour toute diode  i  :    \boxed {  \cos x_i = \dfrac {A_i.M}{R^2} = \dfrac {x_i.x + y_i.y + z_i.z}{R^2} = \dfrac {U_i}{V}  }    ::  (E_i)

Donc pour tout couple de diodes  i,j  en divisant  (E_i)/(E_j)  et en simplifiant :

 U_j(x_i.x + y_i.y + z_i.z) = U_i(x_j.x + y_j.y + z_j.z)

 \implies \boxed {  (U_j.x_i - U_i.x_j).x  +  (U_j.y_i - U_i.y_j).y  + (U_j.z_i - U_i.z_j).z  =  e_i_j  \simeq  0  }

En introduisant des termes d'erreur  e_i_j  on prend en compte l'imperfection des mesures faites par les capteurs.
De ce fait, le problème revient à rechercher  M(x, y , z)  qui minimise la somme quadratique des erreurs, ce qui revient à une régression linéaire dont les coefficients sont  (x, y, z).

Il semble préférable de ne pas introduire tous les points diodes.
Ceux qui sont les mieux orientés sont probablement plus pertinents.
On pourra par exemple trier les tensions et ne garder que les  n  meilleures.
En testant le dispositif et le modèle on doit pouvoir vérifier qu'on trouve une erreur quadratique faible, et qu'on arrive à bien positionner le soleil.
On pourra ainsi repérer le nombre  n  de diodes à garder dans le calcul de régression.
En principe on doit également vérifier que  x^2 + y^2 + z^2 = R^2

Posté par Profil Dlzlogicre : jai besoin d'un outil mathematique 08-10-14 à 15:01

Bonjour,
D'accord avec LeDino sur le principe, mais pourquoi se limiter à 3 diodes, si on reçoit 22 tensions, il me parait important de tenir compte de toutes, naturellement, chacune avec un poids correspondant (probablement) à l'angle d'incidence.
  

Posté par
LeDino
re : jai besoin d'un outil mathematique 08-10-14 à 19:58

Bonjour Dlzlogic,

Tu soulèves une bonne question sur le nombre de diodes à conserver pour le calcul. J'y ai en partie répondu : d'abord je ne l'ai pas limité à trois si tu lis attentivement ma deuxième intervention (je parle clairement de garder les  n  meilleures), et ensuite c'est à mon sens l'expérimentation qui pourra fournir la réponse sur le nombre de diodes le plus adapté.

Je pressens que les diodes les mieux orientées (c'est-à dire "dans l'axe", donc avec les intensités les plus fortes) sont celles dont l'exploitation des mesures est la plus pertinente pour diverses raisons techniques, à commencer par le fait que les flux plus "latéraux" capteront des intensités moindres et peut-être plus susceptibles d'être influencés par diverses "pollutions" (réflexions et réfractions diverses, notamment).

Mais quoi qu'il en soit, l'expérimentation permettra de trancher.

Posté par Profil Dlzlogicre : jai besoin d'un outil mathematique 08-10-14 à 20:13

Bonjour LeDino,
Oui, j'ai lu ensuite que on pouvait prendre plus de 3 cellules.
Ce que je voulais dire est que sauf si une valeur est aberrante, il n'y a pas de raison de ne pas la prendre en compte.
Naturellement, il sera peut-être nécessaire de pondérer les 22 mesures de tension. Mais comme ni la méthode, ni le calcul ne sont précisés, on ne peut actuellement rien dire de plus. Imagine pas exemple que les cellules soient sous la forme d'une petite sphère, alors l'angle d'incidence est sans importance.
Ce genre de calcul de mesure de position su soleil se fait actuellement, à ma connaissance, avec des appareils ultra-précis et les angles sont lus avec une précision de 1/10000 de grade.  

Posté par
LeDino
re : jai besoin d'un outil mathematique 08-10-14 à 20:21

Qui peut le plus peut le moins...
... mais parfois le mieux est l'ennemi du bien .

Prendre plus de diode apporte probablement de la "stabilité" (notamment en cas de défaillance ou de salissure d'un capteur...).
En prendre trop peut introduire de la variance inutile.

Quoi qu'il en soit : l'expérimentation est le meilleur juge.

Posté par
LeDino
re : jai besoin d'un outil mathematique 08-10-14 à 20:23

Citation :
Imagine pas exemple que les cellules soient sous la forme d'une petite sphère, alors l'angle d'incidence est sans importance...
Ce n'est pas faux, mais ça ne serait alors pas bien malin compte tenu du but recherché .
Je préfère donc imaginer un dispositif plus intelligent.

Posté par
DOMOREA
jai besoin d'un outil mathematique 08-10-14 à 20:25

Bonjour,
Je n'ai pas l'intention d'intervenir sur Les calculs fournis par LeDino qui a surement plus réfléchi que moi sur le Pb.
Je pose simplement la question mathématique sans faire intervenir l'aspect physique avec toutes les incertitudes propres à toute expérimentation

L'impact d'un rayon sur la diode est lié à l'angle d'incidence.
En supposant des étalonnages précis de cet impact,lié sans doute à l'intensité du rayon ne peut-on pas considérer que pour une diode di particulière L'impact nous donne un cône d'axe ODi et d'angle \alpha_i
Si l'on dispose de 3 diodes non alignées,(par exemple d'impact maximum) on doit donc déterminer l'intersection de 3 cônes, ce qui doit dans l'absolu nous fournir un axe unique.
L'intersection de deux cônes donne 2 axes et le troisième cône permet de choisir l'un des deux.
En choisissant les 3 diodes qui reçoivent le plus d'impact, ne peut-on pas dire que 3 diodes suffisent.

Il m'a semblé LeDino que tu revenais sur l'idée que 3 suffisaient , Qu'en penses-tu ?

Posté par
LeDino
re : jai besoin d'un outil mathematique 08-10-14 à 20:32

Citation :
En choisissant les 3 diodes qui reçoivent le plus d'impact, ne peut-on pas dire que 3 diodes suffisent ?

Bonsoir DOMOREA,

Je partage complètement ton analyse.
A la limite deux cônes suffisent, et le troisième ne sert qu'à indiquer de quel côté se situe l'intersection.

On peut aussi raisonner comme en triangulation : on considère la zone délimitée par les trois cônes...
Dans l'idéal, s'il n'y a pas d'incertitude de mesure, l'intersection des trois donnera un point.
A défaut : le centre de cette zone commune sera un bon candidat pour la mesure, et l'amplitude de la zone donnera une indication de l'incertitude...

Cela étant dit, je trouve l'approche par régression plus prometteuse car elle exploite mieux toute l'information disponible.

Posté par
Remib34
re : jai besoin d'un outil mathematique 12-10-14 à 17:29

Bonjour a tous,
Merci pour votre participation, j'apprécie que vous ayez pris du temps pour me répondre.
Je vais commencer à analyser les données que vous m'avez communiquer et essayer d'arriver à bout de ce projet

Merci et vive les maths !!!!

Remib34.

Posté par
Remib34
re : jai besoin d'un outil mathematique 21-10-14 à 17:30

LeDino!!
jai la position de mes diodes dans l'espace de ma demi-shpere!! mon niveau de mathematitien bloque , je ne comprend pas comment resoudre et trouver mon point max ;/

Posté par
Remib34
re : jai besoin d'un outil mathematique 21-10-14 à 17:36

la triangulation linéaire me laisse perplexe ^^

Posté par
LeDino
re : jai besoin d'un outil mathematique 21-10-14 à 19:04

Bonjour Remi,

Tu as 22 diodes, avec 22 tensions.
Tu commences par trier tes diodes par tensions décroissantes.
Tu ne retiens que les  n  plus fortes tensions.

C'est l'expérimentation qui t'indiquera ensuite quel est le meilleur  N  à retenir pour une meilleure fiabilité et précision du processus.
La justification de ne pas retenir l'intégralité des 22 diodes vient de ce que les tensions trop faibles sont probablement moins significatives, et SURTOUT elles peuvent correspondre à des cas où le modèle physique retenu (énergie lumineuse proportionnelle au cosinus...) est mis en défaut pour des raisons d'optique (par exemple, diodes "dans l'ombre de la sphère...).

Pour chaque couple i,j de diodes prises parmi les N retenues, on a la propriété :

 (E_i_j) :  \boxed {  (U_j.x_i - U_i.x_j).x  +  (U_j.y_i - U_i.y_j).y  + (U_j.z_i - U_i.z_j).z  =  e_i_j  \simeq  0  }

Chaque couple de diodes  i,j  fournit donc une équation  (E_i_j).

En théorie, les  e_i_j  devraient être nuls.
En pratique ils ne le seront pas en raison des diverses imperfections du procédé.

Ton but sera donc de rechercher les coefficients (x,y,z) qui minimisent la somme quadratique des erreurs.
Le triplet de points (x,y,z) ainsi trouvé correspond au point théorique de tension maximale.

Tu considères la matrice [A] comprenant P lignes et 3 colonnes.
Chaque ligne est indicée par  p = 1 à P,  qui correspond à un couple (i,j) de diodes.
Chaque colonne est indicée par k = 1 à 3,  qui correspond aux coordonnées spatiales.

Ligne p=(i,j) de la matrice A :
a_p_1 = U_j.x_i - U_i.x_j    a_p_2 = U_j.y_i - U_i.y_j    a_p_3 = U_j.z_i - U_i.z_j

Allure de la matrice :

U_2.x_1 - U_1.x_2    U_2.y_1 - U_1.y_2    U_2.z_1 - U_1.z_2
U_3.x_1 - U_1.x_3    U_3.y_1 - U_1.y_3    U_3.z_1 - U_1.z_3
...
U_N.x_1 - U_1.x_N    U_N.y_1 - U_1.y_N    U_N.z_1 - U_1.z_N

U_3.x_2 - U_2.x_3    U_3.y_2 - U_2.y_3    U_3.z_2 - U_2.z_3
U_4.x_2 - U_2.x_4    U_4.y_2 - U_2.y_4    U_4.z_2 - U_2.z_4
...
U_N.x_2 - U_2.x_N    U_N.y_2 - U_2.y_N    U_N.z_2 - U_2.z_N

...

Et le problème devient :

Trouver X = (x,y,z) tel que :  A.X = E  est de norme minimale.

Posté par
LeDino
re : jai besoin d'un outil mathematique 21-10-14 à 19:10

Sinon, si c'est trop compliqué à réaliser pour toi, il y a une variante assez proche :

On a ordonné les diodes par tensions U décroissantes.
U1 est donc la tension la plus forte trouvée.
UN est la tension la plus faible retenue.

Considérer le triplet des 3 meilleurs couples de diodes.
Résoudre le système de 3 équations (E_i_j).
Recommencer avec d'autres triplets.
Calculer le point moyen des différentes solutions trouvées.
Calculer la dispersion pour en déduire la précision...

Posté par
LeDino
re : jai besoin d'un outil mathematique 21-10-14 à 19:14

NB : Résoudre A.X = Epsilon
Revient à faire une régression linéaire multiple dont le terme constant B est nul :  A.X + B = Epsilon,  minimiser la norme de Epsilon...

Posté par
Remib34
re : jai besoin d'un outil mathematique 27-10-14 à 14:49

je crois que je comprend, les math m'impressionneront tout le temps, quel outil puissant quand on le maîtrise

je choisis 4 diodes, j'aurais donc 1 matrice (assez conséquente) a résoudre, cela me donnera 1 position (x,y,z)

X=E/A^ (Matlab mon ami le fera très bien^^) cependant E est de norme minimale signifie qu'il est nul? ou que c egal a E=(1;1;1)

Posté par
LeDino
re : jai besoin d'un outil mathematique 27-10-14 à 19:03

Citation :
je choisis 4 diodes, j'aurais donc 1 matrice (assez conséquente) a résoudre,
Pas vraiment "conséquente", puisque tu auras C4,2 = 6 couples possibles de diodes, donc 6 équations, donc 6 lignes dans ta matrice.
En plus je n'en suis pas certain mais il se peut qu'il y ait de la "colinéarité"...
... ce qui revient à dire que une fois que tu as incorporé le couple 1-2 et le couple 1-3, je me demande si le couple 2-3 apporte vraiment de l'information... (à creuser et tester éventuellement).

Cela dit, tu peux commencer avec 4 diodes, soit 6 équations (ou seulement 3 si tu ne gardes que  1-2  1-3  1-4)...
Et ensuite tu testes avec 5 diodes, pour voir si ça marche toujours et si éventuellement ça améliore...

Citation :
cela me donnera 1 position (x,y,z)
En principe oui, sauf données vraiment "sales"...

Citation :
X=E/A^ (Matlab mon ami le fera très bien^^) cependant E est de norme minimale signifie qu'il est nul? ou que c egal a E=(1;1;1)
Cela veut dire que sa norme est aussi petite que possible.
Comme elle est positive, cela veut dire que tu la cherches la plus proche possible de zéro.

Regarde comment faire une régression linéaire multiple, avec ordonnée à l'origine forcée à 0.

Et n'oublies pas de vérifier à la fin que le point MAX trouvé est sur la sphère (ou tout proche). C'est une preuve de l'efficacité du procédé... ça et le fait de trouver des résidus effectivement petits...

Posté par
LeDino
re : jai besoin d'un outil mathematique 27-10-14 à 19:06

Quoique tu trouves, n'hésite pas à en parler ici :
Comme l'a dit DLZLOGIC ton sujet est extrêmement intéressant.
Et tout retour d'expérience sur ce genre de sujet est susceptible d'enseigner quelque chose d'important.

Posté par
LeDino
re : jai besoin d'un outil mathematique 27-10-14 à 19:07

Si tu as un jeu de données et que tu galères, tu peux également tenter de le poster ici.
Tu recevras peut-être de l'aide. Par exemple quelqu'un pourrait refaire les calculs de son côté pour recouper les tiens...

Posté par
Remib34
re : jai besoin d'un outil mathematique 28-10-14 à 10:41

A =

   -5.7871    5.3911   -0.1750
    0.4040    0.9754   -4.1691
   -3.9378    4.8646   -4.3691
    5.2707   -3.5974   -3.9010
    0.8632    0.3575   -4.1010
   -3.6467    3.3108   -0.3064

les valeurs de la matrice A sont calculés a partir de tension rentrées manuellement pour pouvoir vérifier le résultats. par rapport a mon origine, l'angle devrait être compris entre 30 et 60° et l'azimut entre 30 et 50°


A.^-1=
   -0.1728    0.1855   -5.7143
    2.4752    1.0253   -0.2399
   -0.2539    0.2056   -0.2289
    0.1897   -0.2780   -0.2563
    1.1585    2.7969   -0.2438
   -0.2742    0.3020   -3.2635

A.^-1 est la matrice inverse

X=
     x
     y
     z

X est le vecteur qui devrait me donner ma position dans l'espace que je devrait ensuite transformer en angle sur ma sphère

d'après ce que j'ai compris mon vecteur E doit être le plus petit possible,cependant j'ai un réel problème sur sa dimension


E=
    0
    0
    .
    .
    .
    .
    .

ou

E= 0 . . . . . . . . . .


en faisant  X=A.^-1*E je me retrouve avec des conflit de dimension j'ai beau retourner ça dans tout les sens, je m'embrouille^^


    

Posté par
Remib34
re : jai besoin d'un outil mathematique 28-10-14 à 10:42

bon je sais que mon E ne sera pas que des 0 , c'était pour l'exemple je vais voir ce que cete regression linéaire peut m'apporter

Posté par Profil Dlzlogicre : jai besoin d'un outil mathematique 28-10-14 à 11:53

Bonjour Rémi,
Je pense que ce dont parlait LeDino, à propos de "jeu de données", c'était la tension mesurée à chaque diode, avec leur position sur la sphère, par exemple avec une vue de dessus.

Posté par
LeDino
re : jai besoin d'un outil mathematique 28-10-14 à 13:30

Il faut surtout donner le rayon R de la sphère.

Je n'ai pas le temps de regarder aujourd'hui, mais je rappelle que X,Y,Z est sur la sphère.
Donc X² + Y² + Z² = R²
Sinon, une solution triviale de  A.U = E ~0  serait  U=(0,0,0)

Une solution "simpliste" mais facile à mettre en œuvre et à comprendre dans un premier temps :
Faire varier X et Y entre -R et +R avec des pas dX et dY petits, dans une feuille EXCEL par exemple.
Calculer l'Erreur pour chaque couple X,Y (Z étant pris égal à racine de R²-X²-Y²).
Garder le triplet X,Y,Z ayant une Erreur minimale.
L'erreur serait ici la somme des carrés des epsilon (la matrice A appliquée à U(X,Y,Z) donne un vecteur Epsilon dont on calcule la norme a carré... qu'on veut minimiser).

Ce n'est pas une régression comme je l'avais indiqué, mais pour commencer c'est une piste facile à tester.

Posté par
Remib34
re : jai besoin d'un outil mathematique 30-10-14 à 15:42

bonjour,
je suis arriver a un point ou je me perd dans ma réflexion,
vous voulez que je fasse varié mon X et mon Y, cependant pour que la relation  X² + Y² + Z² = R² fonctionne il faut faire varié X et Y de façon intelligente (et c'est la que je beugue)

si mon X varie de 5 a -5 avec un pas de 0,1: 5, 4.9,  .....-5
mon Y va varier de 5 a -5 d'un pas différent que 0.1 et de manière décalé par rapport a X
de plus la variation en Z impose une variation en X et Y
je m'embrouille.....

pour 1 tours

X    Y     Z

5    0  
.
.
0    5
.
.
-5   0
.
.
0   -5
.
.
5    0
je sais que mon probleme est que je resonne que sur un plan et non pas dans l'espace, j'ai du mal a visualiser tout ça breff!!


en ce qui concerne les matrices, j'ai compris le principe mais j'ai du mal a trouver le bon résultat.
sous matlab mes variable sont de la sorte: (il y a finalement 2 rangées (30° et 50°) de  8 diodes espacées de 45 degrés) (une troisième composé de 4 diode espacées de 90° a 70°d'angle) et le diode du sommet.

tensionPhotodiodeL1 =[2.42  ,2.35  ,0  ,0   ,0   ,0   ,0   ,1.11]; // tension imposées pour la rangée 1
azimutPhotodiodeL1  =[22.5 67.5 112.5 157.5 202.5 247.5 292.5 337.5 ];
anglePhotodiodeL1   =[30 30 30 30 30 30 30 30];
coordx1=zeros(8,1);
coordy1=zeros(8,1);
coordz1=zeros(8,1);
tensionPhotodiodeL2 =[2.04  ,1.96  ,0  ,0   ,0   ,0   ,0   ,1.31]; // tension imposées pour la rangée2
azimutPhotodiodeL2  =[22.5 67.5 112.5 157.5 202.5 247.5 292.5 337.5 ];
anglePhotodiodeL2   =[50 ,50 ,50 ,50  ,50  ,50   ,50  ,50  ,50];
coordx2=zeros(8,1);
coordy2=zeros(8,1);
coordz2=zeros(8,1);
tensionPhotodiodeL3 =[1.78  ,0    ,1.4 ,0]; // tension imposées pour la rangée
azimutPhotodiodeL3  =[45 135 225 315];
anglePhotodiodeL3   =[70 70 70 70];
coordx3=zeros(4,1);
coordy3=zeros(4,1);
coordz3=zeros(4,1);
tensionPhotodiodeL4 =1.08; // tension de la diode du sommet
azimutPhotodiodeL4  =0;
anglePhotodiodeL4   =90;
coordx4=0;
coordy4=0;
coordz4=0;

j'ai trouver sans trop de difficulté mes position de diodes en (x,y,et z ) que j'ai ranger dans les tableaux coordxN coordyN coordzN

ensuite je trouve egalement mes quatres tension les plus fortes avec leurs angle et azimut , leurs cordonées et toutes les information dont j'ai besoin pour pouvoir faire ce calcul du maximas solaire, que je range dans des variables:

indice4Tensions=zeros(4,1);
mem4Tensions=zeros(4,1);
mem4X=zeros(4,1);
mem4Y=zeros(4,1);
mem4Z=zeros(4,1);.....

grâce a ces tableau, remplir ma matrice A est juste une formalité.


%% MATRICE
%x
A(1,1)=(mem4Tensions(2)*mem4X(1))-(mem4Tensions(1)*mem4X(2));
A(2,1)=(mem4Tensions(3)*mem4X(1))-(mem4Tensions(1)*mem4X(3));
A(3,1)=(mem4Tensions(4)*mem4X(1))-(mem4Tensions(1)*mem4X(4));
A(4,1)=(mem4Tensions(3)*mem4X(2))-(mem4Tensions(2)*mem4X(3));
A(5,1)=(mem4Tensions(4)*mem4X(2))-(mem4Tensions(2)*mem4X(4));
A(6,1)=(mem4Tensions(4)*mem4X(3))-(mem4Tensions(3)*mem4X(4));

%y
A(1,2)=(mem4Tensions(2)*mem4Y(1))-(mem4Tensions(1)*mem4Y(2));
A(2,2)=(mem4Tensions(3)*mem4Y(1))-(mem4Tensions(1)*mem4Y(3));
A(3,2)=(mem4Tensions(4)*mem4Y(1))-(mem4Tensions(1)*mem4Y(4));
A(4,2)=(mem4Tensions(3)*mem4Y(2))-(mem4Tensions(2)*mem4Y(3));
A(5,2)=(mem4Tensions(4)*mem4Y(2))-(mem4Tensions(2)*mem4Y(4));
A(6,2)=(mem4Tensions(4)*mem4Y(3))-(mem4Tensions(3)*mem4Y(4));

  %z
A(1,3)=(mem4Tensions(2)*mem4Z(1))-(mem4Tensions(1)*mem4Z(2));
A(2,3)=(mem4Tensions(3)*mem4Z(1))-(mem4Tensions(1)*mem4Z(3));
A(3,3)=(mem4Tensions(4)*mem4Z(1))-(mem4Tensions(1)*mem4Z(4));
A(4,3)=(mem4Tensions(3)*mem4Z(2))-(mem4Tensions(2)*mem4Z(3));
A(5,3)=(mem4Tensions(4)*mem4Z(2))-(mem4Tensions(2)*mem4Z(4));
A(6,3)=(mem4Tensions(4)*mem4Z(3))-(mem4Tensions(3)*mem4Z(4));

pour obtenir la matrice A
A =

   -5.7871    5.3911   -0.1750
    0.4040    0.9754   -4.1691
   -3.9378    4.8646   -4.3691
    5.2707   -3.5974   -3.9010
    0.8632    0.3575   -4.1010
   -3.6467    3.3108   -0.3064

et le flou artistique commence!! je vous enverrez bien mon fichier .m mais je sais pas si c possible, je sais que j'en suis pas loin mais pourtant quelque chose bloque ma totale compréhension  . ^^

Posté par
LeDino
re : jai besoin d'un outil mathematique 31-10-14 à 13:04

Bonjour Remib34,

Je suis vraiment désolé d'être aussi absent ces jours-ci et de ne pouvoir mieux t'aider. J'aurai peut-être plus de temps ce week-end, en tout cas je l'espère...

En principe, lorsqu'on a mis un tel problème sous forme matricielle, le plus dur est fait mathématiquement... Mais c'est vrai que la résolution pratique peut soulever des difficultés, surtout si on n'est pas habitué.

Sous la forme que j'ai donnée, il faut rechercher le point  M(X,Y,Z)  tel que :
|E|² soit minimale, avec  A.U = E
... A étant définie par les formules données plus haut.
Ce n'est pas une simple régression linéaire comme je l'ai dit plus haut, mais un problème d'optimisation sous contrainte (le point M est sur la sphère de rayon R). Lorsqu'on est habitué, on utilise un solveur pour résoudre ce genre de problème. On désigne les paramètres qui peuvent varier (X et Y par exemple) et on donne l'expression de E² qui dépend de X et Y  (qui dépend aussi de A mais qui est constante et de Z qui dépend lui-même de X et Y). Du coup l'expression de E² est un peu complexe. La facilité de résolution dépendra des outils que tu utilises et de ton expérience.

Une fois trouvée la méthode de résolution, il se peut qu'il y ait d'autres obstacles :

1. Le choix des couples de diodes qui constituent les lignes de la matrice A est probablement important. Il est possible que de garder par exemple le couple 2-3 dans les lignes de la matrice A soit redondant en information avec les couples 1-2 et 1-3. Ce n'est pas forcément bloquant, mais c'est à vérifier.

2. Comme l'a fait remarquer Dlzlogic, les cosinus sont très proches de 1 à l'ordre 2, lorsque les diodes sont au voisinage du point max. De ce fait, les diodes à tension maximale sont un peu comme "saturées" de lumière... Pour peu qu'il y ait de l'incertitude de mesure, les tensions proches du maximum ne sont peut-être pas les plus intéressantes en définitives pour calculer la position max, ce qui est un peu paradoxal... Les diodes de tension max indiquent approximativement la région où se situe la position max, région dans laquelle il faut chercher... Mais pour le calcul de la position, il est peut-être souhaitable d'inclure pas mal de points plus éloignés de la position max.

3. La fonction à minimiser peut admettre des minimums locaux. Ce qui peut ajouter une difficulté supplémentaire.

---
En résumé : si tu veux résoudre le problème sous forme de minimum sous contrainte, il faut que tu disposes des outils appropriés (de type SOLVEUR) et que tu saches les utiliser.

A défaut, le plan B est de résoudre les équations deux par deux : auquel cas tu devrais trouver une paire de points M pour chaque couple de diodes correspondant aux intersections des cônes d'égalité des cosinus avec la sphère... En principe en observant ces différents points M, tu dois constater une concentration qui indique la localisation du M* optimal.

Posté par
LeDino
re : jai besoin d'un outil mathematique 31-10-14 à 13:05

Zut je voulais écrire A.M = E

Posté par
LeDino
re : jai besoin d'un outil mathematique 31-10-14 à 13:12

Pour les données du problème, elles ne sont pas indispensables :
On peut constituer un jeu d'essai facilement.
Sur tableur par exemple ça se fait sans problème.
On se donne R (=1) et Umax (=100).
On calcule les coordonnées des diodes (c'est facile avec les angles que tu as donnés).
Puis on se donne une position M* arbitraire et on calcule les tensions (Umax multiplié par le cosinus, plus un bruit paramétrable, normal par exemple), puis la matrice A.

Reste à décrire E² en fonction de ces éléments puis à appliquer le SOLVEUR pour retrouver la position de M*.

Posté par Profil Dlzlogicre : jai besoin d'un outil mathematique 31-10-14 à 13:25

Bonjour LeDino,
Une réponse très courte.
A mon avis, ce calcul est une utilisation très intéressante de la méthode des moindres carrés. Le principe de base est assez simple : on écrit que le somme des carrés des écarts à une "valeur moyenne" est minimum.
On calcule les dérivées partielles et on les annule.
Il reste dont un système de N équations à N inconnues. En l'occurrence, il n'y en a que 2, la hauteur zénithale et l'azimut.
Je ne comprends pourquoi tu parles de coordonnées cartésiennes, et pourquoi tu as besoin du rayon.
Cordialement.  

Posté par
Remib34
re : jai besoin d'un outil mathematique 31-10-14 à 15:29

je vais analyser tout ce que vous m'avez dit ca va me prendre un certain temps
j'ai oublié de préciser que j'utilisais Matlab pour concevoir un code qui me permettrai de trouver le max solaire  pour le moment,
il faudra ensuite que j'adapte ce code sur une carte electronique avec pic, mux ...
matlab me permet de mieux comprendre ce que je fais , et est plus pratique pour une premiere approche.
es que ce que vous me proposez n'est pas trop compliqué pour un petit pic tout gentil? ^^ je vous parle de ça pour ça !

Posté par
LeDino
re : jai besoin d'un outil mathematique 31-10-14 à 18:40

Bonsoir Remib34,

J'ai jeté un coup d'œil à ton problème sur des données simulées.
En définitive, les craintes que je pouvais avoir sur la colinéarité ou d'éventuelles "instabilités" ne semblent pas fondées : la méthode fonctionne et on trouve très bien l'optimum sur plusieurs cas que j'ai testés, y compris en augmentant la variance sur les mesures de tension.

Si tu n'as pas accès à un SOLVEUR ou que tu ne sais pas l'utiliser, ou que tu n'en disposeras pas pour ta solution "embarquée", il est possible d'écrire un algorithme relativement simple, de type "steepest descent", ou si tu préfères "méthode du gradient" ou encore "ligne de plus grande pente".

En voici une variante "naïve" très simple qui devrait bien fonctionner :
Tu pars de la solution de base, qui est donnée par la diode de tension la plus élevées parmi celles disponibles.
Cette solution de base permet d'initialiser le "point courant" M de l'algorithme.

Tu prends un "pas" h=0.1 par exemple.
Tu calcules 4 points voisins autour de M.
Ces points voisins sont situés à + ou - h selon x ou selon y :
M(x,y)   -->   (x+h,y)   (x-h,y)   (x,y+h)   (x,y-h)

Tu calcules l'erreur E = racine(E²) pour chaque point voisin.
Tu retiens M' le point voisin qui a le meilleur E (le plus faible, donc).
Si E a diminué, la vie est belle et tu itères en adoptant ce point M' comme nouveau point courant M, et en gardant le même pas h.
Sinon, tu conserves le point M et tu diminues le pas h, par exemple en le divisant par 2...
... il y aura forcément un moment ou le pas sera assez petit pour qu'un point voisin diminue l'erreur E.
Et sinon, c'est que tu as trouvé un minimum !

NB: En principe, il peut s'agir d'un "minimum local", donc méfiance...
Mais en pratique, vu la configuration du problème, je pense que la "surface" le long de laquelle tu vas te déplacer est régulière (je parle de E = F(X,Y), que tu explores pas à pas), et que le dispositif de diodes semble assez "robuste" pour toujours te fournir un M de départ plutôt bien positionné...

Donc à mon avis ça va très bien converger...
Faire des essais pour t'en assurer.

NB : ne pas prendre les diodes qui ont une tension trop faible (voire négative, cela est possible pour les diodes "masquées")...
Mais de toutes façons en gardant les diodes ayant les tensions les plus fortes, ça règle cette question.

Bon courage !

Posté par
LeDino
re : jai besoin d'un outil mathematique 31-10-14 à 19:00

Citation :
A mon avis, ce calcul est une utilisation très intéressante de la méthode des moindres carrés.
C'est juste.

Citation :
Le principe de base est assez simple : on écrit que le somme des carrés des écarts à une "valeur moyenne" est minimum.
C'est plutôt la somme des carrés des écarts entre un idéal (équation exactement respectée) et la réalité observée. L'epsilon qu'on cherche à minimiser ici, c'est en quelque sorte la "mesure du respect de l'ensemble des équations" que devraient satisfaire les couples de diodes, s'il n'y avait aucune erreur de mesure.

Citation :
On calcule les dérivées partielles et on les annule.
Oui, une fois exhibée la fonction d'erreur E, on peut envisager de procéder comme ça.
Mais la fonction E ici est complexe. Donc je doute que ta démarche soit facilement applicable.
A moins de lui trouver une forme plus simple que celle que j'ai trouvée en fonction de X et de Y (par un changement de variable peut-être...).
Pour ma part, la voie que j'ai choisie permet de conclure, donc je ne chercherai pas d'autre variante.
Mais tu peux tout à fait essayer de ton côté et proposer ta solution pour voir ce que ça donne.
La comparaison sera toujours intéressante...

Citation :
Il reste dont un système de N équations à N inconnues. En l'occurrence, il n'y en a que 2, la hauteur zénithale et l'azimut.
Pas très clair...

Citation :
Je ne comprends pourquoi tu parles de coordonnées cartésiennes, et pourquoi tu as besoin du rayon.
Le rayon permet de calculer Z quand on connaît X et Y, dans mon formalisme.
Et j'ai choisi de travailler en cartésiennes parce que l'expression de la matrice A et donc du calcul de l'erreur E me parait abordable sous cette forme.
Mais une variante en coordonnées sphériques peut s'avérer intéressante, si le cœur t'en dit d'en faire le calcul : c'est quand tu veux .

Posté par Profil Dlzlogicre : jai besoin d'un outil mathematique 31-10-14 à 19:27

Bonsoir LeDino,
Bon, d'abord, cette technique de la méthode des moindres carrés, je la pratique depuis très très longtemps. Si j'ai fait des raccourcis qui empêchent la compréhension, c'est une erreur de ma part.
Bien-sûr, je suis prêt à faire des essais, c'est la raison pour laquelle j'aurais bien aimé avoir les données. Il faut en plus une information fondamentale : la fonction qui donne l'angle d'incidence en fonction de la tension.
Bien-sûr, on peut toujours simuler une demi-sphère, calculer exactement l'angle théorique pour chaque diode, arrondir les résultats pour simuler une observation réelle, et faire le calcul. Mais, vois-tu, pour faire cela il faut une certaine motivation plutôt qu'une contradiction systématique.  
  

Posté par
LeDino
re : jai besoin d'un outil mathematique 01-11-14 à 14:34

Citation :
Bien-sûr, on peut toujours simuler une demi-sphère, calculer exactement l'angle théorique pour chaque diode, arrondir les résultats pour simuler une observation réelle, et faire le calcul. Mais, vois-tu, pour faire cela il faut une certaine motivation plutôt qu'une contradiction systématique.
Je ne comprends pas où tu vois une "contradiction systématique"... mais peu importe.

L'intérêt de disposer d'une simulation du système à modéliser, c'est de pouvoir tester l'algorithme à volonté pour vérifier qu'il permet de retrouver un point optimum qu'on fixe soi même... Cela permet de valider l'algorithme pour toute position d'éclairage. Cela permet également de le mettre à l'épreuve et de quantifier sa précision même avec une variance importante sur les tensions mesurées par les diodes.

Ce n'est pas très long à faire avec les indications données.

Pour Remib34, quelques explications...
Voici ce qu'on obtient par exemple sur Excel (mais ça se fait aussi facilement avec n'importe quel outil de programmation ou logiciel de calcul mathématique) :

jai besoin d\'un outil mathematique

On fixe le rayon R. J'ai choisi arbitrairement R=1 (le problème étant homogène, R est neutre).
On choisit la longitude thêta* et la co-latitude phi* du point M* optimum réel.
Les coordonnées de m*(X*,Y*,Z*) s'en déduisent directement.
On fixe une tension max U*, prise à 100 ici (problème homogène, ce choix est neutre également).
Et enfin on paramètre un indicateur de dispersion, ici, l'écart-type.
Dans cet exemple, je l'ai positionné à 1, ce qui représente une fluctuation de la tension d'amplitude de l'ordre de 1% de la tension max.

Dans le tableau qui suit, on retrouve alors les 22 Diodes (D0 est au sommet de la sphère...) avec leurs coordonnées sphériques, leurs coordonnées cartésiennes, et leur tension théorique (si le modèle théorique physique était parfaitement respecté).
La tension U simulée est alors égale à la tension théorique Uth, à laquelle j'ai ajouté un bruit normal centré et d'écart-type sigmaU paramétrable (ici égal à 1).

jai besoin d\'un outil mathematique

Au passage on observe des tensions négatives... qui confirment que le modèle théorique (tension proportionnelle au cosinus de l'angle incident) a ses limites. En pratique il ne faudrait pas considérer les diodes ayant une tension inférieure à un certain seuil, par exemple, la moitié ou le tiers de la "top tension" trouvée sur les 22 diodes. Ou choisir le top N des diodes, ce qui revient à peu près au même.

Dans la suite , je sélectionnerai les 8 meilleures diodes qui semblent suffisantes pour résoudre le problème (choix arbitraire, à confirmer par l'expérience).

Posté par
LeDino
re : jai besoin d'un outil mathematique 02-11-14 à 00:49

@Remib34:

Je confirme après l'avoir testé sur Excel, que l'algorithme simplifié que j'ai donné le 31-10-14 à 18:40 fonctionne très bien.

Il est ultra simple à programmer une fois qu'on sait calculer E pour un M(X,Y) donné (ce qui est possible quand on a la matrice A).

Il converge en quelques dizaines d'itérations sur tous les cas que j'ai testés.
L'écart dM* de position entre le M* simulé et le M* calculé est très faible. Il est quasi nul si sigmaU* est quasi nul, preuve que l'algorithme converge vers la bonne valeur.

Et dM*/R est à peu près homogène avec dU/U.
Donc l'erreur finale est cohérente avec l'erreur de mesure des tensions.

Posté par
LeDino
re : jai besoin d'un outil mathematique 02-11-14 à 01:10

Autre hypothèse que j'ai pu vérifier et qui semble respecter la logique : lorsqu'on augmente le nombre de diodes, on améliore la précision.
Je n'ai pas testé toutes les variantes, mais je suis passé de 3 diodes à 8 et la précision relative dM*/R s'améliore significativement.

En toute logique, il semble que se baser sur un plus grand nombre de mesures revient à "diluer" l'erreur.

Si cela n'alourdit pas trop la programmation (en principe ça ne devrait pas...), je préconise donc de garder le plus grand nombre de diodes ne présentant pas une incidence trop faible, donc toutes celles ayant une valeur de tension égale à une certaine fraction de la top tension. U au moins égal à 50% de la top tension semble raisonnable.

Posté par Profil Dlzlogicre : jai besoin d'un outil mathematique 02-11-14 à 13:11

Bonjour LeDino

Je te recommande une lecture attentive de ce document.
http://fr.scribd.com/doc/14819165/Regressions-coniques-quadriques-circulaire-spherique

Posté par
LeDino
re : jai besoin d'un outil mathematique 03-11-14 à 00:15

Bonsoir Dlzlogic,

J'ai survolé l'article que tu cites.
Il se trouve que je l'ai déjà consulté par le passé alors qu'un ilien s'intéressait à l'ajustement d'un nuage de points par un cercle.

Pour ce qui est du problème posé par Remib34, la surface qu'il faut ajuster n'est pas la sphère où se situent les diodes, mais la surface formée par la fonction d'erreur E(X,Y) lorsque le point M(X,Y) cherché parcourt la sphère. Je ne vois donc pas trop ce que l'article que tu cites apporte de nouveau dans ce contexte.

Quoi qu'il en soit, pour ma part le problème est résolu.
Il l'est sous forme mathématique.
Et il l'est au plan de l'algorithme de calcul, y compris avec la contrainte d'un code source embarqué qui doit être relativement "léger" si j'ai bien compris le contexte d'utilisation posé par Remib34.

L'algorithme simplifié que j'ai proposé fonctionne très bien, notamment parce qu'en cas d'erreurs faibles, la surface est probablement très régulière, voire carrément convexe, et parce qu'il y a toujours une diode assez bien placée pour constituer un excellent point de départ de la recherche pas à pas. D'où l'absence de minimum local qui aurait pu constituer un obstacle.

Maintenant si tu trouves une solution plus efficace tu es le bienvenu pour la présenter .
En attendant, pour moi le sujet est réglé (sauf questions de Remib34)...

Posté par Profil Dlzlogicre : jai besoin d'un outil mathematique 03-11-14 à 00:57

Bonsoir LeDino,
J'ai cité ce document dans le seul but de montrer que ce type de problème avec des valeurs en surnombre se résolvait généralement, voire toujours, par des solutions rigoureuses.
Si tu veux que je t'explique la solution que j'ai calculée, tu peux me contacter directement via mon site. Si tu as un peu suivi les derniers échanges tu comprendras que je ne tiens pas à m'appesantir sur le sujet.

Posté par
LeDino
re : jai besoin d'un outil mathematique 03-11-14 à 01:18

Citation :
J'ai cité ce document dans le seul but de montrer que ce type de problème avec des valeurs en surnombre se résolvait généralement, voire toujours, par des solutions rigoureuses.
Je ne vois pas pourquoi tu te donnes la peine de m'expliquer des choses que je sais déjà. J'ai expliqué bien avant toi dans ce post qu'il fallait appliquer une méthode de régression par moindres carrés, dont j'ai à plusieurs reprises expliqué les avantages ici.
L'impression que ça donne, c'est que tu n'as pas lu ce que j'ai écrit ou que tu ne l'as pas compris...

Tu parles de solution rigoureuse... mais la formulation mathématique que j'ai proposée est PARFAITEMENT rigoureuse et elle fournit la solution à coup sûr.

De ton côté, tu fais des commentaires souvent décalés, et tu ne proposes RIEN de concret... tu cites des articles hors sujet, et quand on t'invite à montrer ce que tu à trouvé par toi même, tu esquives...

Citation :
Si tu veux que je t'explique la solution que j'ai calculée, tu peux me contacter directement via mon site.
Ton site je l'ai déjà visité et il ne contient à mon avis pas la solution au problème posé par Remib34 en tant que tel. J'ai par ailleurs un sérieux doute sur le fait que tu aies réellement compris le problème et que tu saches le résoudre.

Citation :
Si tu as un peu suivi les derniers échanges tu comprendras que je ne tiens pas à m'appesantir sur le sujet.
J'ai suivi les échanges, et je ne vois absolument pas en quoi ils t'empêchent de fournir des réponses CONCRETES.

Si tu as une solution, dis-le clairement.
Si tu penses qu'elle fonctionne dis-le simplement, et je te donnerai un ou plusieurs cas numériques simulés, pour voir si tu es en mesure de trouver l'optimum cherché.

A toi de voir...

Posté par
Remib34
re : jai besoin d'un outil mathematique 03-11-14 à 11:32

Avant tout, merci pour votre aide, je vois que vous prenez sur votre temps pour m'aider et ça me va droit au coeur.
vous aurez compris que dans ma relation A.X=E (ayant ma matrice A [6,3] et mon X(x;y;z)) je n'arive pas a comprendre comment serai E.
si pour résoudre cela j'ai besoin d'un solveur je serai embêté car j'utilise matlab et apres j'implementerai mon code sous arduino. ( systeme qui a ses limites.
Ledino , ta variante que tu propose a la place ne me fait pas utiliser cette matrice A? c'est une autre solution? c'est ça. je vais essayer de mieux comprendre

j'aurai bien aimer poursuivre avec la resolution matricielle mais es qu'il serai possible de mieux m'expliquer ce vecteur E  j'ai l'impression de tourner en rond dans ma tete^^
Comprenez que pour comprendre et analyser tout ce que vous dites il va me falloir du temps ^^
tu pourrais me donner un bref récapitulatif post matrice A si ça te dérange pas ? la methode de resolution 2 par 2 semble me convenir sauf que vu que je ne sais pas a quoi les equation sont egale (vecteur E) je suis egalement bloqué!

je suis dessolé d'être aussi moyen en math mais je fait de mon maximum^^

Posté par
Remib34
re : jai besoin d'un outil mathematique 03-11-14 à 11:52

pour ta deuxieme solution , je prend ma diode pax et je fait varier d'un pas h mes coordonnées?
donc dans l'equation

(E_i_j) :   (U_j.x_i - U_i.x_j).x  +  (U_j.y_i - U_i.y_j).y  + (U_j.z_i - U_i.z_j).z  =  e_i_j  

je calcule mon E pour la position de ma diode max,
je fait varié les position jusqu'à trouver un E min,
(es que je garde les meme tension en fesant varié ma position?)
tres simple a réaliser ,(juste une boucle) je pense donc que j'ai mal compris^^

Posté par
LeDino
re : jai besoin d'un outil mathematique 03-11-14 à 14:13

Citation :
Pour ta deuxieme solution , je prend ma diode max et je fait varier d'un pas h mes coordonnées ?
Oui, c'est bien ça. C'est ce que j'ai appelé une démarche "pas à pas".

Tu pars de M0 qui correspond à la diode de tension maximale observée.
Puis tu vas construire un point voisin M1 sur la sphère en te déplaçant de plus ou moins h selon une des directions x ou y.
Pour chacun des 4 déplacements ainsi réalisables, tu calcules la fonction d'erreur E.
Tu retiendras alors le "meilleur déplacement", c'est à dire celui qui a l'erreur la plus faible.
Si jamais ce meilleur déplacement n'améliore pas l'erreur, c'est que le pas h est trop grand.
Dans ce cas tu le divises par 2, jusqu'à ce que le meilleur déplacement améliore l'erreur.
A ce stade, tu disposes donc d'un nouveau point qu'on peut appeler M1, qui sera voisin de M0 et qui aura une erreur plus faible.

Il suffit alors de recommencer le processus. Ainsi, de proche en proche, tu vas construire une suite de points M0, M1, M2... Mn, qui se rapprocheront de l'optimum M* cherché.
Lorsque le pas h devient vraiment très petit (disons 10 puissance -12 par exemple) cela signifie que tu es très près de l'optimum, et qu'il ne sert à rien de continuer.

Citation :
(Est-ce que je garde les memes tensions en faisant varier ma position ?)
La matrice A ne dépend que des positions des diodes (qui sont fixes) et de la position du soleil qui est supposée fixée le temps du calcul. Donc la matrice A ne change pas. Tout ce que tu as à faire, c'est recalculer la fonction d'erreur pour chaque nouveau point Mn.
Pour cela, il suffit de calculer le produit A.M où M est le vecteur position de coordonnées (X,Y,Z), puis de calculer la norme du vecteur qui en résulte. Cette norme c'est la fonction d'erreur à minimiser.

Citation :
tres simple a réaliser ,(juste une boucle) je pense donc que j'ai mal compris^^
C'est effectivement très simple à réaliser.
La seule difficulté est de programmer correctement la fonction d'erreur.

Posté par
LeDino
re : jai besoin d'un outil mathematique 03-11-14 à 14:56

Citation :
A.M = E   ayant ma matrice A [6,3]...
Si tu pars d'une matrice A [6,3] c'est que tu as choisi de retenir 6 équations correspondant à des couples de diodes.
La première chose à bien comprendre, c'est que cette matrice A dépend des couples de diodes que tu choisis.
Et qu'il y a plusieurs manières de procéder pour cela.
Celle que je te recommande consiste à faire apparaître chaque diode retenue un minimum de fois, de façon à diluer le risque d'erreur qui pèse sur  chaque mesure de tension. Si on utilise une diode trop de fois et que celle ci présente une erreur importante sur sa tension alors le calcul sera plus impacté...

Pour éviter ce défaut, après avoir retenu les 6 meilleures diodes triées par ordre décroissant de tension (et numérotées dans cet ordre), je recommande de choisir par exemple les couples suivants :
D1-D2
D2-D3
D3-D4
D4-D5
D5-D6
D6-D1
De cette manière, chaque diode n'est utilisée que deux fois et l'erreur éventuelle sur sa tension ne pèsera pas trop.

Citation :
A.M = E  et mon M(X,Y,Z) je n'arrive pas a comprendre comment serait E.
A :  matrice 6 lignes 3 colonnes de terme ai,j
M :  vecteur (x, y, z)
E :  vecteur (e1, e2, e3, e4, e5, e6)

Pour chaque ligne i allant de 1 à 6 :  ei = ai,1*x + ai,2*y + ai,3*z

Une fois obtenus les 6 termes e1 à e6, il suffit de les élever au carré et de les ajouter pour trouver E² qui est la norme au carré du vecteur E... la racine carrée de cette quantité donne la norme de E, qui est la fonction d'erreur qu'on veut minimiser.

Citation :
si pour résoudre cela j'ai besoin d'un solveur je serai embêté car j'utilise matlab et apres j'implémenterai mon code sous arduino (systeme qui a ses limites.
J'ai bien compris.
C'est pour ça qu'après avoir vérifié qu'un solveur trouve la solution, j'ai cherché une variante de calcul facile à programmer par soi même.
Cette variante s'avère efficace car les caractéristiques de ton problème sont favorables : 22 diodes pour être sûr d'en avoir au moins une très bien placée et quelques unes suffisamment bien placées pour permettre un calcul convergent et fiable.

Citation :
Ledino , ta variante que tu propose a la place ne me fait pas utiliser cette matrice A ? C'est une autre solution ? C'est ça. je vais essayer de mieux comprendre...
Ma variante utilise forcément la matrice A...
... Parce que le problème que tu dois résoudre, c'est fondamentalement celui que j'ai donné depuis le début :
Minimiser la fonction d'erreur qui est la norme de E = A.M

Mon algorithme n'est pas une variante mathématique, mais une variante de calcul pour trouver l'optimum.
Cet algorithme ne nécessite pas d'inversion de matrice et il est extrêmement simple.
Malgré cette simplicité, il converge rapidement vers l'optimum du problème mathématique.
Et il trouve la même solution que celle que trouverait un solveur.

Citation :
j'aurai bien aimer poursuivre avec la resolution matricielle mais es qu'il serai possible de mieux m'expliquer ce vecteur E  j'ai l'impression de tourner en rond dans ma tete^^
J'espère que les explication ci-dessus suffiront.
Sinon dis ce que tu ne comprends pas.

Posté par
Remib34
re : jai besoin d'un outil mathematique 04-11-14 à 09:44

Donc
je fait ma matrice A avec mes 4 tension les plus grande, et je commence a faire le calcul avec les coordonées de le diode la plus forte ok!
A =

   -5.7871    5.3911   -0.1750                
    0.4040    0.9754   -4.1691
   -3.9378    4.8646   -4.3691
    5.2707   -3.5974   -3.9010
    0.8632    0.3575   -4.1010
   -3.6467    3.3108   -0.3064
*

X =

    1.6571 // coordonées de ma diode MAX
    4.0005
    2.5000
=

E =

   11.5398
   -5.8514
    2.0126
  -15.4099
   -7.3919
    6.4357

alors première zone d'ombre, il faut que toutes les lignes du vecteur E soient petites pour pouvoir dire que je suis en position max ou il faut que je me concentre sur un terme en particulier?  c'est peut être a ce moment la que je doit l'élever au carré mais j'aurai toujours 6 termes.


Citation :
Puis tu vas construire un point voisin M1 sur la sphère en te déplaçant de plus ou moins h selon une des directions x ou y.


pourquoi je ne fait pas varié en "z"?


Citation :
Pour chacun des 4 déplacements ainsi réalisables, tu calcules la fonction d'erreur E.


es qu'il y aurait pas plus que 4 déplacements ? même si je pense que ça dépend du pas que je vais choisir il me semble que je peux partir dans toutes les direction a partir du "cercle " représentant ma diode max.


je pense que ce sont les seul points qui reste a éclaircir pour que je puisse comprendre . merci beaucoup

Posté par
Remib34
re : jai besoin d'un outil mathematique 04-11-14 à 10:17

ahh en fait je fait varié x et y et mon z je dit que c'est égal a racine de (R²-x²-y²) enfin je crois ^^

Posté par
LeDino
re : jai besoin d'un outil mathematique 04-11-14 à 12:20

Citation :
je fait ma matrice A avec mes 4 tension les plus grande, et je commence a faire le calcul avec les coordonées de le diode la plus forte ok!
A =

   -5.7871    5.3911   -0.1750                
    0.4040    0.9754   -4.1691
   -3.9378    4.8646   -4.3691
    5.2707   -3.5974   -3.9010
    0.8632    0.3575   -4.1010
   -3.6467    3.3108   -0.3064
Je suppose donc que tu prends les équations découlant des couples suivants :
D1-D2
D1-D3
D1-D4
D2-D3
D2-D4
D3-D4

Est-ce bien ça ? Si oui, je te conseille plutôt de prendre les 6 meilleures diodes plutôt que les 4 meilleures. Et de les combiner comme suit :
D1-D2
D2-D3
D3-D4
D4-D5
D5-D6
D6-D1

Par ailleurs, si tu me donnes les coordonnées des diodes (ou leurs angles si c'est plus simple) je pourrai vérifier si ta matrice A est bonne.

Citation :
M0 =
    1.6571
    4.0005
    2.5000
Je reprends mes dernières notations, et note M0 le point de départ de la marche pas à pas.
Au passage, je déduis de ces coordonnées que le rayon R vaut 5 (cm probablement).

Citation :
alors première zone d'ombre, il faut que toutes les lignes du vecteur E soient petites pour pouvoir dire que je suis en position max ou il faut que je me concentre sur un terme en particulier?  c'est peut être a ce moment la que je doit l'élever au carré mais j'aurai toujours 6 termes.
Tu élèves chaque terme au carré, et tu les ajoutes. Tu obtiens la norme au carré de E notée E².
Puis tu prends la racine carrée pour avoir la norme |E| qui te donne l'Erreur quadratique. C'est un simple nombre. Il mesure la longueur du vecteur E. C'est ce nombre qu'il faut minimiser.

J'ai vérifié ton E à partir de ta matrice A : il est bon.
Mais je ne peux pas vérifier ta matrice A sans les tensions et les positions précises des diodes.

Le calcul de |E| = Erreur donne 22.679 pour ton point M0 de départ.

Citation :
pourquoi je ne fait pas varier en "z"?
Tu vas implicitement faire varier en Z, car Z est lié à X et Y.
Tu as deux degrés de liberté : X et Y.
Z s'en déduit par :  Z = racine(R² - X² - Y²).
C'est un choix arbitraire... On aurait pu faire varier les angles et calculer X,Y,Z : cela aurait été équivalent...

Citation :
Est-ce qu'il y aurait pas plus que 4 déplacements ? même si je pense que ça dépend du pas que je vais choisir il me semble que je peux partir dans toutes les direction a partir du "cercle " représentant ma diode max
Excellente remarque .
En théorie tu as raison : la vraie ligne de plus grande pente ne suit pas l'axe des x OU l'axe des y mais "un mélange des deux"...
Mais en pratique ici, cela revient au même : si la direction idéale est à mi direction entre x+h et y+h, l'algorithme va le trouver tout seul et faire deux pas successifs : l'un en x+h puis l'autre en y+h (ou l'inverse peu importe). Il va donc faire deux pas au lieu de 1, mais il fonctionnera à coup sûr et il est beaucoup plus simple à programmer.

Citation :
ahh en fait je fait varié x et y et mon z je dit que c'est égal a racine de (R²-x²-y²) enfin je crois ^^


---
J'ai testé mon algorithme avec ton M0 de départ et ta matrice A (non vérifiée, mais je te fais confiance).

L'algorithme converge vers un minimum d'Erreur à 4.12
Le point M* est trouvé avec une précision de plus de 6 chiffres après la virgule en 60 itérations.
J'ai pris un pas h initial proportionnel au rayon : R/10 = 0.5

M*(X*,Y*,Z*) = (1,5163 ; 1,6434 ; 4,4721)

En sphériques :  phi* = 26,6°  thêta* = 47,3°

Posté par
LeDino
re : jai besoin d'un outil mathematique 04-11-14 à 12:51

Le principe de la marche pas à pas selon X ou Y améliorant l'erreur à chaque itération :

jai besoin d\'un outil mathematique

En pratique, vue la disposition des diodes, M0 (meilleure tension) ne peut pas être très éloigné de M* (optimum théorique).

Le pas de marche h, s'adapte en se réduisant au fur et à mesure, de façon à permettre une amélioration de l'erreur.
Lorsque le pas devient très faible, c'est qu'on est tout proche de l'optimum.

Posté par
LeDino
re : jai besoin d'un outil mathematique 04-11-14 à 15:01

Une remarque en passant :

Lorsqu'on calcule les 4 déplacements suite à un pas + ou - h dans le sens X ou Y, il faut s'assurer qu'on ne sort pas du disque :  X²+Y² < R²

Si c'est le cas, il ne faut pas retenir ce déplacement (il suffit d'un simple test pour l'écarter).
Et alors soit l'algorithme trouvera une autre direction qui améliore l'erreur, soit il diminuera h, ce qui permettra tôt ou tard de trouver une meilleure position... sans sortir du disque.

A signaler qu'en adaptant l'algorithme en faisant varier phi et thêta au lieu de X et Y (facile à faire), on éviterait ce petit inconvénient.

Posté par
Remib34
re : jai besoin d'un outil mathematique 25-11-14 à 11:40

j'y suis arrivé !! enfin!!! merci beaucoup a tous!! ledino merci pour ta patience

1 2 +




Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1674 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !