Résolution d'éq différentielle 3me ordre ? [Matlab] - Divers - Programmation
Marsh Posté le 28-09-2007 à 13:43:55
help ode15s ?
Marsh Posté le 28-09-2007 à 13:47:50
hmm...
j'essaie de fouiller les aides et les tutoriaux, mais il y en a tellement, c'est la raison pour laquelle je ne m'en sors pas trop...
je me disais que pt être que quelqu'un avait déjà résolu ce genre d'équations et savais exactement comment faire !
Merci...
Marsh Posté le 28-09-2007 à 13:53:19
je vois pas quels sont tes notations (c'est de la CFD/themique?)
Mais en gros, tu vas devoir ramener ca à une seule équation vectorielle dans le genre:
M d^2X/dt^2 + C dX/dt + K X = F(t)
Avec matlab, t'entres les matrices correspondant à des M, C ou K (ou une combinaison, selon la fonction)
Regardes les fonctions qui commencent par ODE
Marsh Posté le 28-09-2007 à 14:30:09
Merci
Pour les notations, en gros, thêta et phi sont les fonctions, les dérivées sont les indices, ne faites pas attention aux exposants
par exemple, indice "éta-éta" est la dérivée seconde par rapport à éta, etc.
Pour la petite explication, ce sont des équations issues de Navier-Stokes, pour un projet de méca flu, elles concernent les conservations de la quantité de mouvement et de l'énergie.
Je vais chercher en suivant tes conseils, merci !
Marsh Posté le 04-10-2007 à 16:12:12
Re bonjour !
Bon, en fait, le sujet a légèrement changé, les équations ont évolué.
Du coup, à présent, je travaille en stationnaire, ce qui m'arrange, car je n'ai plus que des dérivées par rapport à éta à m'occuper ! Par contre, je me retrouve avec des dérivées par rapport à éta de degré 4 (c'était un oubli dans les équations précédentes !).
Ce qui me pose problème, c'est d'avoir deux fonctions qui dépendent de éta (psi et thêta).
Si je n'avais que psi, j'arriverai à résoudre, mais comment exprimer thêta aussi ? (je sais juste que c'est une fonction de éta, mais je ne connais pas son expression)
Je possède des conditions limites telles que psi(éta=0)=psi(éta=1)=0
et psi'(éta=0)=psi'(éta=1)=0
de même pour thêta...
Sur les tutoriels, je sais comment utiliser ode45 avec un vecteur initial, mais comment faire lorsque ce sont des conditions Limites, et pas Initiales ? j'ai besoin de définir mon vecteur en éta=0, mais aussi en éta=1 !?
Merci de m'éclairer...
Marsh Posté le 04-10-2007 à 16:43:41
Re bonjour MaryAnn,
Ceci t'aide? http://www.fsa.ucl.ac.be/candis_01 [...] b/ode.html
(exemple très con )
J'ai assez vite lu ta question, si ca t'aide pas, je regarderai demain rapidement si j'ai pas un exemple ...
Marsh Posté le 04-10-2007 à 16:53:57
Bonjour ben
Merci pour tes réponses !
En fait, j'avais déjà vu l'exemple, il est pas mal pour réduire à une équation d'ordre 1, mais mon soucis est que j'ai 2 fonctions qui dépendent de ma variable d'intégration (éta), en l'occurence psi et thêta.
Dans l'exemple, ils n'ont que x qui dépend du temps, alors ca ne m'aide pas trop par rapport à comment ajouter une deuxième fonction qui dépend de éta, et donc je ne connais pas l'expression détaillée ?
Marsh Posté le 04-10-2007 à 17:02:27
ah aussi, autre petit problème qui m'embête, c'est le fait que j'ai cru comprendre que matlab résoud avec ode grâce a un vecteur conditions initiales, mais est ce que je peux mettre deux vecteurs, étant donné que j'ai des conditions limites ? (en 0 mais aussi en 1)
Merci
Marsh Posté le 04-10-2007 à 17:07:52
Ok, là, j'ai pas trop le temps, je regardes ce que j'ai sur mon PC ce soir et demain je réponds à tout ca (avec éventuellement un exemple si j'en retrouve un à moi)
Marsh Posté le 04-10-2007 à 17:12:33
arf, j'avais encore oublié une question, au cas ou tu saurais aussi (je suis en train de chercher sur internet là..)
évidemment, je suppose que matlab va me sortir zéro comme solution de l'équation (ça, j'arrive à le trouver aussi, lol) y'a t'il un moyen pour qu'il me donne les autres solutions ?
En tous cas, merci beaucoup !
Marsh Posté le 05-10-2007 à 00:30:20
Coucou,
pour réorienter mes questions, j'ai cru comprendre dans l'aide de matlab que je ne dois pas utiliser ode, mais plutôt bvp4c (à cause du fait que je n'ai pas un problème avec des conditions initiales, mais bien avec des conditions limites)
du coup, j'essaie de me servir de l'exemple de l'aide, mais j'ai toujours le problème de mes 3 fonctions de éta (psi, thêta_zéro et thêta_c), il faut que j'arrive à démultiplier le problème pour pouvoir intégrer mes 3 expressions...
Marsh Posté le 06-10-2007 à 09:02:51
Salut.
Désolé, mais j'ai pas trouvé d'exemple sur mon PC ...
Theta_0, c'est bien une fonction et pas un truc du style Theta_c(0)=Cte ?
Marsh Posté le 07-10-2007 à 14:31:48
MaryAnN a écrit : Re bonjour ! |
Tu peux nous donner les nouvelles équations ? Elles sont faisables "à la main" ?
Marsh Posté le 07-10-2007 à 15:17:07
ben tu balances tous les termes en d /dTau, non?
Marsh Posté le 09-10-2007 à 16:03:09
Bonjour,
voici donc les nouvelles équations :
personnellement, à la main, je ne sais pas faire !
effectivement, en stationnaire, finalement, les termes avec dtau disparaissent, et c'est plus simple.
je pense que j'ai réussi à comprendre l'exemple, et donc calculer en fonction de psi, thêta_c et thêta_0 (qui sont tous les 3 effectivement fonctions de la variable éta). Au moins, le programme compile !
Je ne connais pas l'allure de ma solution, et je n'arrive pas à trouver autre chose que zéro, je suppose que je dois jouer avec les solutions initiales (mat4init) mais je ne trouve pas...
En tous cas, ca s'améliore un peu, j'ai un programme au moins !
Marsh Posté le 28-09-2007 à 00:06:51
Bonjour,
Je suis actuellement en train de réaliser un projet pour lequel j'ai besoin de résoudre un système de 3 équations différentielles, le mieux, sous matlab.
Cependant, je suis complètement débutante, et je n'ai aucune idée d'où chercher, comment m'y prendre !
Voici l'allure de mes équations :
les indices représentant la dérivée, donc, phi, dérivée par rapport à éta, 1 ou 2 fois, et éventuellement par rapport à tô aussi, et il y a thêta comme fonction aussi qui est dérivée par rapport à éta et tô..
Quelqu'un pourrait m'orienter sur la démarche à effectuer ?
Merci d'avance...
Message édité par MaryAnN le 28-09-2007 à 13:51:16