Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

417 commentaire(s) de us_30 sur des sources sur tout CodeS-SourceS

Le : 19/11/2008 13:34:55
Source : RÉSOLUTION DE L'ÉQUATION DE LA CHALEUR
Salut,

On arrive à la même conclusion, à savoir que le plus difficile c'est de définir le ou les objets avec les conditions initiales et limites, dans une interface facile d'emploi.
Le calcul des différences finies n'étant pas très difficile ensuite.
L'autre point épineux, c'est la façon dont on peut récupérer les résultats utiles(et non pas toutes), de manière simple également.

Amicalement,
Us.


Le : 18/11/2008 17:27:37
Source : RÉSOLUTION DE L'ÉQUATION DE LA CHALEUR
Bonjour Arnal88,

Il reste qlq erreurs dû à la référence à Mathematica me semble-t-il, dû au fait que je ne le possède pas. Donc on ne peut pas obtenir la courbe en cloche comme présenté dans l'image ci-dessus. Mais le reste fonctionne.
L'emploi d'images pour définir les conditions initiales et limites, sont assez spéciales à utiliser, mais le résultat de la simulation est esthétiquement pas mal du tout.

Maintenant, perso, je recherche plutôt une possibilité de ressortir des valeurs; mais bon, ton programme est une bonne source d'inspiration.

Amicalement,
Us.


Le : 15/11/2008 23:17:26
Source : RÉSOLUTION DE L'ÉQUATION DE LA CHALEUR
Bonsoir,

J'ai 3 pb sur VB2008 express... Tous en rapport avec Wolfram.NETLink... Cela fait penser au calcul math... Peut-on s'en passer ?

Amicalement,
Us.


Le : 15/11/2008 22:55:18
Source : EQUATION DIFFÉRENTIELLE DE LAPLACE D² T(X,Y) / DX² + D² T(X,Y) / DY² = 0
Salut,

"je pense que dans ce cas, la solution est nécessairement convergente, donc ta première condition devient inutile.."

> Oui, je pense aussi que cela est convergent... mais je n'ai pas lu que la méthode était nécessairement convergente... donc c'est une précaution. Je vois mal faire planter les PC des utilisateurs, parce que je n'ai pas de certitude... et il est difficile de le prouver, même si l'intuition semble correcte.

=

"Autre question : tu tires d'où la formule pour calculer Fin ?"

> Comme dit en 1er réponse, il fallait trouvé une formule donnant un nb d'itération suffisant pour que ce soit la deuxième régle d'arrêt (la précision) qui s'applique. (donc "presque" à coup sur, voir à coup sur, si nos intuitions précedente sur la convergence est juste)
Donc j'ai fait des tests pour observer le nb d'itération nécessaire pour obtenir la précision 0. (et également avec d'autres précisions)... Suite à cela des constats statistiques simples s'imposent :
- Le nb d'itération nécessaire est quasi-constant en fonction du pas de la grille et de la précision,
- Pour la précision 0, évidemment le nb d'itération est le plus fort,
- Le changement des conditions de température, n'a pas d'impact (significatif) sur le nb d'itération.
Par conséquent, j'en ai sorti une équation donnant la limite... car limite semble y avoir...
(=> nota : si ce constat est juste, alors cela implique une convergence certaine -:); )

=

" Au centre, c'est la valeur qui se rapproche de la solution le plus TARD, mais en faisant la différence avec l'itération précédente, c'est la VITESSE de variation que tu évalues. "
" En termes mathématiques, tu trouves la dérivée temporelle (à un coeff près)."

> NON. Je vois bien ce que tu veux dire. Ton raisonnement est subtil, donc difficile à expliciter facilement. En réalité, tu penses qu'en faisant la différence et implicitement en la divisant par le pas de temps, pris ici à 1 à chaque itération, qu'on retrouve la dérivé. Qui dit dérivé, dit vitesse.
Alors, dans un certain sens c'est juste, mais en faisant la différence j'obtiens AUSSI (et simplement) l'écart entre les deux évaluations. Donc, comme tu le dis "c'est la valeur qui se rapproche de la solution le plus TARD". Qui dit le plus tard, dit aussi que la précision (écart) sera obtenu en dernier sur le centre.

=

" Tu dois donc trouver l'endroit où la valeur converge le plus vite, et seulement là comparer à la précision demandée. Car ta condition d'arrêt n'est pas l'écart entre la valeur et la solution exacte, mais une condition sur la dérivée.
(je sais pas si je suis bien clair là...) " [Si... si... l'impératrice...]

> Ici on voit bien notre divergence de raisonnement : Tu dis : " Car ta condition d'arrêt n'est pas l'écart entre la valeur et la solution exacte "
C'est donc exactement l'inverse que je cherche à faire. La précision est la mesure entre la solution exacte et l'évaluation. Et cette dernière convergence le plus lentement vers le centre.

" Enfin réfléchis bien à ça, et dis-moi ce que tu en penses. "
> IL me semble donc par correct de raisonner avec une idée de vitesse, car il est certain que l'arrêt se ferait trop tôt, voir juste après la 1er itération.

Pour preuve ? juste après, ta encore très bonne remarque... étayé par un magnifique contre exemple (apparent) de mes propos. Tu notes que :
" Essaye avec 0°C partout, et 200°C à droite. Tu verras que ça marche pas. Avec ma méthode, ça marcherait. "

Et hélas, oui cela ne marche pas avec 0° sur 3 côtés et 200° sur le 4ième... Bigre ! Ai-je faut ? Et bien, non. Outre le fait que le schéma présente un cas particulier qui met mon critère d'arrêt en défaut, il suffit d'essayer un autre schéma simple... Par exemple, au lieu de 0°, mets 1°C... et tu verras que la convergence s'appliquer parfaitement...

J'ai fait des tests avec 1°C sur 3 côtés et 200°C sur le 4ième. J'ai retiré la règle d'arrêt sur la précision, et mis une borne Fin à 100000 avec sur une grille 10x10. Les résultats obtenus sont donc les solutions exactes (enfin, impossible de faire mieux sur ordi). Puis, j'ai décalé les résultats. J'ai remis mon programme initial. Refait la même chose, avec la précision 0. Puis, la différence entre les résultats.
Ainsi, je compare la meilleur évaluation, avec ma règle d'arrêt. On constate presque aucune différence.

JE t'invite à regarder ce que cela donne.

Mais, reste que le cas particulier de 0°... et qu'on comprend bien pourquoi cela met en défaut ma règle d'arrêt, puisque le temps que les calculs se propagent au centre n'est pas suffisant et comme ensuite on fait 0 moins 0... Je n'ai pas regardé (étant donné qu'il est assez tard), mais en première idée, il faut définir un nombre minimum d'itération avant d'appliquer la règle d'arrêt, ceci pour que les résultats intermédiaires ne soient plus égale à 0, qui représente donc une valeur nulle mettant en défaut la comparaison de la précision à 0...

D'ailleurs, une autre façon de montrer que ton exemple, n'est qu'un cas particulier, c'est tout simplement en mettant une valeur très proche de zéro à la place de zéro... Par 0.001 au lieu de 0... Je l'ai fait, et mon programme est tout à fait concluant.

( Notons aussi, que l'information dans la macro du nombre d'itération est présente uniquement si c'est la règle d'arrêt sur la précision qui s'implique... autrement il n'y a pas de texte... )

=

Par ailleurs, si tu as fait un programme complet, je suis très intéressé... et oui, je bosse dessus même pour le boulot...

=

Amicalement,
Us.


Le : 15/11/2008 17:36:02
Source : EQUATION DIFFÉRENTIELLE DE LAPLACE D² T(X,Y) / DX² + D² T(X,Y) / DY² = 0
Bonjour,

1/ Bonne remarque concernant l'orientation du graphique. Mais si je mets ce que tu proposes, alors ce sont les valeurs du tableur qui n'ont plus la bonne orientation par rapport à la macro.
Donc une meilleure solution consiste à faire une orientation du graphique de 180°, et le tour est joué. Je rajoute :
ActiveChart.Rotation = 180

2/ Le nombre de pas est réglable facilement, libre à tous de mettre ce qu'il veut... J'ai choisi 4, plus en pensant aux premières utilisations de ceux qu'ils veulent voir, afin de ne pas se retrouver avec un grand tableau... J'aurai compris ta remarque si cela était codé en dur, mais là, non.

3/ la condition d'arrêt à 400. Tu as raison, on ne sait pas d'avance combien de fois il faut boucler pour obtenir la précision demandée. Mais... parce que il y a un "mais"... La méthode des différences finies, dans l'absolu, ne converge pas nécessairement. Ce qui explique que je bloque le nombre d'itération, afin de ne pas se retrouver avec une boucle infinie.
Mais... car il y a un "mais"... Tu as tout de même raison de soulever ce problème, car il fait penser aussi, que si on avait choisi un nb de pas très grand, 400 ne serait pas suffisant. Il faut donc définir cette valeur en fonction du nb de pas.

4/ Le test de l'écart ne pose pas de problème, si les températures sont positives, car dans ce cas nécessairement l'écart sera positif. Mais pour plus de généralité, la valeur absolue s'impose effectivement.
Ensuite, je regarde l'erreur qu'au centre, car c'est tout simplement la valeur qui converge la plus lentement... donc inutile de tout tester... Dans le cas où la grille ne possède pas un centre exact, ce sont tj les valeurs centrales qui auront une convergence plus lente...

Merci pour tes bonnes remarques. Je vais mettre à jour.

Amicalement,
Us.


Le : 08/11/2008 21:13:24
Source : GÉNÉRER UN DOCUMENT RTF EN VBA/VB
Je te rassure de suite... On trouve toujours des questions encore plus bêtes... Soit dit en passant, j'ai dû aussi poser une fois cette question sur le forum... alors...

Bonne programmation,

Amicalement,
Us.


Le : 08/11/2008 20:22:41
Source : GÉNÉRER UN DOCUMENT RTF EN VBA/VB
Bonsoir,

Il me semble qu'on peut voter qu'une seule fois, sinon faut demander à un admin. pour faire une correction... Je crois que ce n'est pas la peine de les embêter pour une note... (déjà bonne)... A la prochaine source, je mettrai +1... enfin, 11/10 cela ne sera pas possible... -:);

Amicalement,
Us.


Le : 08/11/2008 19:39:34
Source : GÉNÉRER UN DOCUMENT RTF EN VBA/VB
Salut,

En fait, le bouton "Ouvrir repertoire" fonctionne uniquement sur la feuille Demo1. pour les 2 autres, le lien n'est pas fait. En effet, il manque c'est 2 lignes dans Open :

    ActiveSheet.Hyperlinks.Add Anchor:=Worksheets("Démo2").Shapes("zt1"), Address:=ActiveWorkbook.Path
    ActiveSheet.Hyperlinks.Add Anchor:=Worksheets("Démo3").Shapes("zt1"), Address:=ActiveWorkbook.Path

Amicalement,
Us.


Le : 08/11/2008 18:51:35
Source : GÉNÉRER UN DOCUMENT RTF EN VBA/VB
Bonjour,

9/10.

Aucun pb de cet ordre, pour ma part... juste le bouton "Ouvrir ce repertoire" qui ne pointe pas correctement sur la cible...

Amicalement,
Us.


Le : 05/11/2008 18:35:27
Source : FONCTION SPLIT (DISSOCIER) POUR LES UTILISATEURS DE VB5
Ah ba là ! mon vieux... c'est sur... pourtant normalement Win XP Sp1 ne devrait pas poser de pb... mais bon...
As-tu lis la page : http://download.microsoft.com/download/E/F/7/EF70AE8C-FF6E-46D4-A007-F4ECE1D4D95D/VS2008ExpressReadme.htm
Sinon faire une mise à jour de Windows au près de Microsoft...

Bon courage,
Amicalement,
Us.

PS : Désolé Cacophrène de prendre qlq posts sur ta source, pour cet écart... En espérant de revoir (toujours avec plaisir) ailleurs sur VBF...





Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,078 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.