begin process at 2012 05 30 15:16:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Repérer des valeurs dans une matrice


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Repérer des valeurs dans une matrice

mercredi 22 mars 2006 à 10:59:32 | Repérer des valeurs dans une matrice

badboy38

Bonjour,

Avant de vous exposer mon problème, je tiens à préciser que je ne demande pas de code, mais juste des pistes à suivre pour résoudre mon problème (en gros je ne demande pas qu'on me fasse le boulot, juste qu'on me dise comment je peux faire...)

Je dois retrouver dans la matrice float T[100][100]  qui contient la température des points d'une plaque les valeurs identiques pour ensuite tracer les isothermes. J'ai beau me casser le cerveau, j'ai aucune idée de la façon de faire ça... si quelqu'un a une idée...

Merci!


P.S. je code en C sous linux...

BadBoy38


--==OPEN.SOURCES.FREE.FR==--
mercredi 22 mars 2006 à 11:41:57 | Re : Repérer des valeurs dans une matrice

Tekila48

Je peux te proposer une solution, mais à ce genre de problème il y autant de solutions que de personnes qui cherchent.

Déjà, déterminer ce qu'on cherche : une isotherme, c'est une ligne, donc un tableau de coordonnées. Si tu en as plusieurs, c'est un tableau à deux dimensions de coordonnées :

struct SPOINT {float x, float short y} Isothermes[10][10000]; //pour 10 isothermes de 10000 points (10000 = 100*100)

Une isotherme est définie par une valeur, donc on aura aussi un tableau de températures : float IsoTemp[10];    //A remplir avec les valeurs d'isothermes recherchées

ensuite, il faut balayer le tableau et pour chaque point, déterminer si une des isothermes passe entre ce point et un de ses voisins

Par exemple, pour le points (X,Y)=383K, (X,Y+1) = 421K et IsoTemp[0] = 400K : if(Val[X][Y] < IsoTemp[0] && Val[X][Y+1] > IsoTemp[0])

Alors dans ce cas il faut enregistrer le point (2,2.5) dans Isotherme[0][i] : Isotherme[0][i].x = X; Isotherme[0][i].y = Y+0.5

J'ai mis 2.5 car l'isotherme passe entre le point 2,2 et 2,3. Il y a extremement peu de chances que l'isotherme tombe sur un point mesuré.
Ca tombe bien, x et y sont des float, il n'y a donc pas de problème pour enregistrer 2,2.5

Ensuite, faire de même avec les points X-1,Y; X+1,Y; X,Y+1; X,Y-1.

Voilà, j'espère avoir pû t'aider.

Tekila48
mercredi 22 mars 2006 à 23:04:47 | Re : Repérer des valeurs dans une matrice

luhtor

Bon je propose autre chose.
Avec ma soluce, tu devrais pouvoir obtenir des résultats propres, mais pas exactement exact :) mais je pense pas qu'à vue d'oeil, on puisse voir la différence.

Donc ce que je ferais:
- utiliser des bspline pour interpoler tous tes points de température par une surface définie mathématiquement. C'est la qu'on fait une approximation en disant que la surface C2 (deux fois dérivable) obtenue par les bsplines reflètent bien l'évolution de température entre les points discrets. C'est l'interet des bsplines. Des lors en fait, la température se voit mieux comme une altitude :) mais ca, ca change rien.
Tu pourras donc aussi avoir la dérivée première et seconde en tout point par une relation mathématique.

Apres il faut trouver une méthode de résolution qui te donne les points de meme altitude.
Tu pourrais calculer le gradient en tout point, ce qui te donnera la ligne de plus grande pente. En fait le gradient est ici orthogonale au isotherme (il me semble). En faisant le produit vectoriel entre le gradient avec le vecteur normal à la courbe (obtenu facilement avec les dérivées), tu auras un espèce de champ de vecteur, où en fait, la direction de chaque vecteur correspondera a la tangeante à l'isotherme en ce point. C'est pas les isothermes, mais presque :) en tout cas, ca donne une bonne idée de leur forme.
Sinon dans l'immédiat je vois pas comment avoir exactement les isothermes.
Ya surement des trucs à tester, comme:
- tu pars d'une altitude quelconque, tu avances selon le vecteur orthogonale au gradient mais dans le plan tangeant a la surface, ca te donne un point a tout petit peu plus loin (très peu, plus la distance est faible, meilleur sera le résultat), puis tu regardes la valeur de la température en ce point. Si c'est inférieur, tu montes selon le gradient, et inversement. Et tu procèdes ensuite par une espèce de dicotomie en essayant de te rapprocher de la température voulue. Puis apres tu recommences avec ce nouveau point. etc ....

Bon voila ce qui me vient en tete pour le moment.




Cette discussion est classée dans : problème, valeurs, demande, matrice, repérer


Répondre à ce message

Sujets en rapport avec ce message

valeurs propres et vecteurs associés [ par GUARMAH ] Bonjour,je cherche un code source qui prend en entrée une matrice réelle plein qcq et qui donne TOUTES les valeurs propres ainsi que les vecteurs prop Décomposition d'une matrice en valeurs singuileres [ par MetalDwarf ] Bonjour, je cherche à mettre en place un algorithme pour obtenir (numeriquement) les valeurs singulieres d'une matrice carree, methode connue aussi so matrice, valeurs propres et vecteurs propres [ par SMarmotte ] Bonjour,je cherche un algo ou un code source qui prend en entrée une matrices (de double) et qui donne TOUTES les valeurs propres ainsi que les vecteu HELP!!!!!!!!!!!!!!!!!!!!!!!!!! [ par badboy38 ] Bonjour, J'ai vraiment besoin d'aide!!!! Je dois rendre un projet info en C pour mes cours, mais j'ai un petit problème: je voudrais amélioré le pro SCANF ALONE [ par deck_bsd ] Bonjour, J'ai honte de poser cette question, mais la je trouve pas :s. Voila j'expose mon problème lors d'un programme sous linux (mandriva 2006 Free Utilisation d'une DLL dans Excel et Matrices [ par magnetosergio ] Bonjour à tous,Voilà, je vous expose mon problème.Je débute en C++, j'ai appris plutôt rapidement les notions importantes (siteduzero) et je dois main Matrice associé à une image [ par njo80 ] J'ai un problème assez simple à comprendre mais difficille à faire.Ce n'et pas vraiment en C. Bien que cela me permettra de détecter les collisions su Produit matriciel en c renvoit des valeurs complètement fausses [ par bilel59 ] Bonjout à tous, je sollicite votre aide pour la raison indiquée dans le titre, en effet le produif matriciel que j'effectue renvoit des valeurs vraime VALEURS PROPRES MATRICE 5*5 [ par mg2x ] Bonjour à tous, j'aimerais trouvé les valeurs propres d'une matrice 5*5 Matrix(5, 5, {(1, 1) = a11, (1, 2) = a12, (1, 3) = 0, (1, 4) = a14, (1, 5) = demande d'aide [ par ahmedabdi ] bonne jour mes amies je vs demande l'aide à mon pb qui est comment programmer un objet matrice en java et comment presenter un graphe en utilisant cet


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales