Résolution de l'equation de chaleur
Résolu/Fermé
A voir également:
- Résolution de l'equation de chaleur
- Cette resolution n'est pas prise en charge par cette tv modifiez la ✓ - Forum Format et connectique vidéo
- Chaleur cpu - Guide
- Problème résolution écran 1920x1080 - Forum Windows 10
- Écrire un programme qui résout une équation du second degré ✓ - Forum C
- Impossible de charger l'image haute résolution messenger ✓ - Forum Mobile
53 réponses
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
3 juin 2008 à 15:06
3 juin 2008 à 15:06
Salut
J'ai regardé ton code, il y a une erreur pour ta matrice B, il faut que tu lui ajoutes la matrice identité.
Après il faut que t'adaptes la taille des matrices et le vecteur u que tu cherches en fonction des ddl.
*Pour une condition de type périodique, il y a 2*nx degrés de liberté, ton vecteur u est donc de taille 2*nx, la valeur à l'une des extrémités est fixée par la valeur à l'autre extrémité. Tes matrices A et B sont de taille 2*nx x 2*nx.
*Pour une condition de type Dirichlet ou de type Neumann, il y a 2*nx-1 degrés de liberté, ton vecteur u est donc de taille 2*nx-1, les valeurs aux extrémités sont fixées par la condition considérée. Tes matrices A et B sont de taille 2*nx-1 x 2*nx-1.
Relis le message 19, c'est dans le même genre en fait.
A plus
J'ai regardé ton code, il y a une erreur pour ta matrice B, il faut que tu lui ajoutes la matrice identité.
Après il faut que t'adaptes la taille des matrices et le vecteur u que tu cherches en fonction des ddl.
*Pour une condition de type périodique, il y a 2*nx degrés de liberté, ton vecteur u est donc de taille 2*nx, la valeur à l'une des extrémités est fixée par la valeur à l'autre extrémité. Tes matrices A et B sont de taille 2*nx x 2*nx.
*Pour une condition de type Dirichlet ou de type Neumann, il y a 2*nx-1 degrés de liberté, ton vecteur u est donc de taille 2*nx-1, les valeurs aux extrémités sont fixées par la condition considérée. Tes matrices A et B sont de taille 2*nx-1 x 2*nx-1.
Relis le message 19, c'est dans le même genre en fait.
A plus
mirinda
Messages postés
51
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009
38
4 juin 2008 à 13:01
4 juin 2008 à 13:01
salut Sacabouffe
je n'ai pas bien compris, j'ai du mal avec la taile des matrices, taille de vecteur u... Est ce que tu peux m'expliquer ça avec des lignes d'instructions? j'ai ajouté la matrice identité mais le programme n'a pas changé, je reçoit toujours l'erreur suivant :
error u=W*u inconsistent multiplication.
D=inv(A);
W=D*B;
u=W*u;
plotframe([-lg,-0.8,lg,1.6],tics);
plot2d(x,u,[1,1],"100","schema implicite 8")
plot2d(x,u0,[2,2],"100","donnee initiale ")
xtitle('schema implicite 8, cfl=2.',' ',' ');
end
autre question comment je peux vérifier que le schéma obtenue est correct dans ce cas du schéma de Crank-Nicolson?
merci d'avance .
je n'ai pas bien compris, j'ai du mal avec la taile des matrices, taille de vecteur u... Est ce que tu peux m'expliquer ça avec des lignes d'instructions? j'ai ajouté la matrice identité mais le programme n'a pas changé, je reçoit toujours l'erreur suivant :
error u=W*u inconsistent multiplication.
D=inv(A);
W=D*B;
u=W*u;
plotframe([-lg,-0.8,lg,1.6],tics);
plot2d(x,u,[1,1],"100","schema implicite 8")
plot2d(x,u0,[2,2],"100","donnee initiale ")
xtitle('schema implicite 8, cfl=2.',' ',' ');
end
autre question comment je peux vérifier que le schéma obtenue est correct dans ce cas du schéma de Crank-Nicolson?
merci d'avance .
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
5 juin 2008 à 02:24
5 juin 2008 à 02:24
Salut
Il restait une erreur dans la matrice A en fait, j'avais pas vu...
inconsitent multiplication : c'est normal, il faut que u soit un vecteur colonne pour le multiplier par W.
Condition de Dirichlet:
Condition de périodicité:
Qu'est-ce que tu veux dire par vérifier qu'il est correct? Tu peux commencer par vérifier que les résultats obtenus concordent avec ceux des autres schémas.
A plus
Il restait une erreur dans la matrice A en fait, j'avais pas vu...
inconsitent multiplication : c'est normal, il faut que u soit un vecteur colonne pour le multiplier par W.
Condition de Dirichlet:
u=u0.'; mat = 2*dt/(dx*dx)*eye(2*nx-1,2*nx-1)... - dt/(dx*dx)*diag(ones(2nx-2,1),1) ... - dt/(dx*dx)*diag(ones(2*nx-2,1),-1); mat = inv(eye(2*nx-1,2*nx-1)+theta*mat)*(eye(2*nx-1,2*nx-1)-(1-theta)*mat); for n=1:nt u(2:2*nx) = mat*u(2:2*nx); u(1)=0; u(2*nx+1)=0; etc, etc, etc... end
Condition de périodicité:
u=u0.'; mat = 2*dt/(dx*dx)*eye(2*nx,2*nx)... - dt/(dx*dx)*diag(ones(2nx-1,1),1) ... - dt/(dx*dx)*diag(ones(2*nx-1,1),-1); mat(1,2*nx) = - dt/(dx*dx); mat(2*nx,1) = - dt/(dx*dx); mat = inv(eye(2*nx,2*nx)+theta*mat)*(eye(2*nx,2*nx)-(1-theta)*mat); for n=1:nt u(1:2*nx) = mat*u(1:2*nx); u(2*nx+1)=u(1); etc,etc,etc... end
Qu'est-ce que tu veux dire par vérifier qu'il est correct? Tu peux commencer par vérifier que les résultats obtenus concordent avec ceux des autres schémas.
A plus
mirinda
Messages postés
51
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009
38
6 juin 2008 à 16:07
6 juin 2008 à 16:07
salut Sacabouffe
merci beaucoup ,je n'ai pas encore testé ça car je suis occupé par les examens mais comme meme j'ai compris .je veux savoir est ce que c'est obligatoire de traiter les conditions de périodicité car mon problème est donnée seulement avec des conditions de Dirichlet. merci
merci beaucoup ,je n'ai pas encore testé ça car je suis occupé par les examens mais comme meme j'ai compris .je veux savoir est ce que c'est obligatoire de traiter les conditions de périodicité car mon problème est donnée seulement avec des conditions de Dirichlet. merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mirinda
Messages postés
51
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009
38
8 juin 2008 à 17:52
8 juin 2008 à 17:52
salut Sacabouffe
merci beaucoup pour ton aide, j'ai testé ca et ça bien marché.Ce que je veux savoir maintenant c'est comment exprimer la solution exacte pour pouvoir la comparer avec la solution numérique,ce que je sais c'est la solution fondamentale qui est :
p(x,t)=exp(-x**2/(4*a*t))/sqrt(4*%pi*a*t);
et la solution générale qui est donnée par :
u(x,t)=1/racine(4*pi*a*t) * integrale(u0(y)*exp(-(x-y)²/4*a*t)dy (l'integrale sur R)
d'une part, je ne sais pas comment approcher l'integrale par une somme d'une autre part je ne sais pas comment faire la comparaison puisque j'ai deux solutions l'une est fondamentale, l'autre est générale .
je veux aussi savoir comment utiliser la factorisation lu en scilab pour résoudre le système obtenu. merci
l
merci beaucoup pour ton aide, j'ai testé ca et ça bien marché.Ce que je veux savoir maintenant c'est comment exprimer la solution exacte pour pouvoir la comparer avec la solution numérique,ce que je sais c'est la solution fondamentale qui est :
p(x,t)=exp(-x**2/(4*a*t))/sqrt(4*%pi*a*t);
et la solution générale qui est donnée par :
u(x,t)=1/racine(4*pi*a*t) * integrale(u0(y)*exp(-(x-y)²/4*a*t)dy (l'integrale sur R)
d'une part, je ne sais pas comment approcher l'integrale par une somme d'une autre part je ne sais pas comment faire la comparaison puisque j'ai deux solutions l'une est fondamentale, l'autre est générale .
je veux aussi savoir comment utiliser la factorisation lu en scilab pour résoudre le système obtenu. merci
l
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
12 juin 2008 à 01:33
12 juin 2008 à 01:33
Salut
Je savais pas que tu devais faire juste le cas de la condition de Dirichlet. Dans ce cas traite juste cette condition...
La solution fondamentale, tu l'utilises quand tu travailles sur R. Là utilises un développement en série de Fourier, je t'ai déjà donné le lien, c'est ce paragraphe sous Wikipédia:
https://fr.wikipedia.org/wiki/Conduction_thermique#Cas_d.27un_domaine_limit.C3.A9_par_deux_plans_parall.C3.A8les
Pour la factorisation LU, si tu veux l'utiliser pour calculer ta solution numérique, t'as juste à utiliser deux fois un algorithme de substitution. Si ça peut t'aider:
https://dms.umontreal.ca/fr/page-non-trouvee
A plus
Je savais pas que tu devais faire juste le cas de la condition de Dirichlet. Dans ce cas traite juste cette condition...
La solution fondamentale, tu l'utilises quand tu travailles sur R. Là utilises un développement en série de Fourier, je t'ai déjà donné le lien, c'est ce paragraphe sous Wikipédia:
https://fr.wikipedia.org/wiki/Conduction_thermique#Cas_d.27un_domaine_limit.C3.A9_par_deux_plans_parall.C3.A8les
Pour la factorisation LU, si tu veux l'utiliser pour calculer ta solution numérique, t'as juste à utiliser deux fois un algorithme de substitution. Si ça peut t'aider:
https://dms.umontreal.ca/fr/page-non-trouvee
A plus
mirinda
Messages postés
51
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009
38
17 juin 2008 à 13:22
17 juin 2008 à 13:22
salut Sacabouffe
j'ai utilisé une somme sous forme :
uexacte=zeros(1,2*nx+1);
for i=1:2*nx
for j=1:2*nx
uexacte(i)=u0(j)*dx*k((i-j)*dx,nt*dt);
end
end
plot2d(x,uexacte,.....);
avec k(x,t)=exp(-x**2/(4*t))/sqrt(4*%pi*t)
mais ca na pas marché, je ne sais pas pourquoi.
pour la factorisation lu je sais c'est quoi , ce que je veux c'est comment l'appeler par scilab
j'ai un schéma sous forme
Un+1=Un-1 +A Un
qui est un schéma à trois niveaux(n+1,n-1,n), je ne sais pas comment le programmer puisque j'ai c'est trois niveaux.
j'attend ta réponse, merci d'avance.
j'ai utilisé une somme sous forme :
uexacte=zeros(1,2*nx+1);
for i=1:2*nx
for j=1:2*nx
uexacte(i)=u0(j)*dx*k((i-j)*dx,nt*dt);
end
end
plot2d(x,uexacte,.....);
avec k(x,t)=exp(-x**2/(4*t))/sqrt(4*%pi*t)
mais ca na pas marché, je ne sais pas pourquoi.
pour la factorisation lu je sais c'est quoi , ce que je veux c'est comment l'appeler par scilab
j'ai un schéma sous forme
Un+1=Un-1 +A Un
qui est un schéma à trois niveaux(n+1,n-1,n), je ne sais pas comment le programmer puisque j'ai c'est trois niveaux.
j'attend ta réponse, merci d'avance.
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
17 juin 2008 à 19:35
17 juin 2008 à 19:35
Salut
Tu ne travailles pas sur R, tu travailles en domaine borné.
La solution exacte se calcule à l'aide d'une série de Fourier:
https://fr.wikipedia.org/wiki/Conduction_thermique#Cas_d.27un_domaine_limit.C3.A9_par_deux_plans_parall.C3.A8les
Pour calculer la décomposition LU de ta matrice mat, la commande c'est tout simplement:
Tu ne travailles pas sur R, tu travailles en domaine borné.
La solution exacte se calcule à l'aide d'une série de Fourier:
https://fr.wikipedia.org/wiki/Conduction_thermique#Cas_d.27un_domaine_limit.C3.A9_par_deux_plans_parall.C3.A8les
Pour calculer la décomposition LU de ta matrice mat, la commande c'est tout simplement:
[L,U]= lu(mat)A plus
mirinda
Messages postés
51
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009
38
18 juin 2008 à 19:49
18 juin 2008 à 19:49
salut Sacabouffe
merci beaucoup, je n'avais pas fais attention au message 38.
en utilisant le développement en série de fourier , j'obtient u(x,t)=somme sur k (ak*exp(-k²*pi²*c*t)*sin(k*pi*x)
avec ak=2*integrale(u0(x)*sin(k*pi*x)dx sur un intervalle]0,1[*[0,T], ceca n'est ce pas ?
je veux savoir comment programmer ca puisque j'ai un integrale et une somme de k=0 jusqu'à infini.est ce que tu peux m'expliquer juste la démarche à suivre?
comment on peut programmer un schéma à trois niveaux comme celui là (schéma de Richardson) càd ou il y a n, n+1, n-1
Un+1=Un-1 +A Un
merci
merci beaucoup, je n'avais pas fais attention au message 38.
en utilisant le développement en série de fourier , j'obtient u(x,t)=somme sur k (ak*exp(-k²*pi²*c*t)*sin(k*pi*x)
avec ak=2*integrale(u0(x)*sin(k*pi*x)dx sur un intervalle]0,1[*[0,T], ceca n'est ce pas ?
je veux savoir comment programmer ca puisque j'ai un integrale et une somme de k=0 jusqu'à infini.est ce que tu peux m'expliquer juste la démarche à suivre?
comment on peut programmer un schéma à trois niveaux comme celui là (schéma de Richardson) càd ou il y a n, n+1, n-1
Un+1=Un-1 +A Un
merci
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
24 juin 2008 à 14:01
24 juin 2008 à 14:01
Salut
J'y comprends plus rien, les données de ton problème changent au fur et à mesure, les noms de tes constantes aussi...
D'après tes messages précédents, la longueur de ton domaine c'est [-lg,lg] (donc de longueur 2*lg) et ta diffusivité thermique c'est a.
La température initiale que t'as écrite dans tes premiers messages est symétrique par rapport à l'origine donc:
u(x,t)=∑ ak*cos((k*pi*x)/lg)*exp(-a*k²*pi²*t/(2*lg)^2) (somme de 0 à +∞).
L'expression de tes ak est donnée par:
a0=1/(2*lg)*∫u0(x)dx (intégrale prise sur [-lg,lg])
ak=1/lg*∫u0(x)*cos((k*pi*x)/lg)dx pour k≥1 (intégrale prise sur [-lg,lg])
Pour ta somme infinie, tu t'arrêtes à un moment donné.
L'intégrale, tu la calcules en faisant une somme de Riemann.
Si pour ta somme infinie tu t'arrêtes à 100, le calcul des ak donne un truc du genre:
J'y comprends plus rien, les données de ton problème changent au fur et à mesure, les noms de tes constantes aussi...
D'après tes messages précédents, la longueur de ton domaine c'est [-lg,lg] (donc de longueur 2*lg) et ta diffusivité thermique c'est a.
La température initiale que t'as écrite dans tes premiers messages est symétrique par rapport à l'origine donc:
u(x,t)=∑ ak*cos((k*pi*x)/lg)*exp(-a*k²*pi²*t/(2*lg)^2) (somme de 0 à +∞).
L'expression de tes ak est donnée par:
a0=1/(2*lg)*∫u0(x)dx (intégrale prise sur [-lg,lg])
ak=1/lg*∫u0(x)*cos((k*pi*x)/lg)dx pour k≥1 (intégrale prise sur [-lg,lg])
Pour ta somme infinie, tu t'arrêtes à un moment donné.
L'intégrale, tu la calcules en faisant une somme de Riemann.
Si pour ta somme infinie tu t'arrêtes à 100, le calcul des ak donne un truc du genre:
matu0=mtlb_repmat(u0.',1,101); matx=mtlb_repmat(x.',1,101); matk=mtlb_repmat((0:100),2*nx+1,1); matkx=matk.*matx; matcos=cos((%pi*matkx)/lg); ak=sum(1/nx*matu0.*matcos,1); ak(1)=ak(1)/2;A plus
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
24 juin 2008 à 15:08
24 juin 2008 à 15:08
Concernant, le schéma de Richardson: totalement inutile, il est inconditionnellement instable.
Si tu veux un schéma à trois pas de temps, prends plutôt le schéma de Dufort-Frankel, il est inconditionnellement stable mais conditionnellement consistant (dt/dx → 0)
Comme c'est un schéma à trois pas de temps, il te faut un schéma de démarrage, c'est tout...
Si tu veux un schéma à trois pas de temps, prends plutôt le schéma de Dufort-Frankel, il est inconditionnellement stable mais conditionnellement consistant (dt/dx → 0)
Comme c'est un schéma à trois pas de temps, il te faut un schéma de démarrage, c'est tout...
mirinda
Messages postés
51
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009
38
24 juin 2008 à 17:42
24 juin 2008 à 17:42
salut , merci
oui tu as raison à chaque fois je change des paramètres et des noms mais c'est à cause des données chaque fois il me donne des données différents maintenant il me demande de travailler sur un domaine de [0,1] avec une condition initiale sin(pi*x) ou x=j*dx...je doit tester des valeurs pour obtenir les cas stable et instable ...
pour le schéma de Richardson je ne vais pas le faire , j'ai déjà beaucoup de travail
c'est pour cela je t'ai demandé la solution analytique sur [0,1]
oui tu as raison à chaque fois je change des paramètres et des noms mais c'est à cause des données chaque fois il me donne des données différents maintenant il me demande de travailler sur un domaine de [0,1] avec une condition initiale sin(pi*x) ou x=j*dx...je doit tester des valeurs pour obtenir les cas stable et instable ...
pour le schéma de Richardson je ne vais pas le faire , j'ai déjà beaucoup de travail
c'est pour cela je t'ai demandé la solution analytique sur [0,1]
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
24 juin 2008 à 17:50
24 juin 2008 à 17:50
Quoi???
C'est ça ta température initiale???
Mais fallait le dire plus tôt !!!
Dans ce cas ta solution exacte c'est:
u(x,t)=sin(pi*x)*exp(-a*pi²*t)
C'est tout... Pas besoin de chercher midi à quatorze heures !!! :-DDD
C'est ça ta température initiale???
Mais fallait le dire plus tôt !!!
Dans ce cas ta solution exacte c'est:
u(x,t)=sin(pi*x)*exp(-a*pi²*t)
C'est tout... Pas besoin de chercher midi à quatorze heures !!! :-DDD
mirinda
Messages postés
51
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009
38
25 juin 2008 à 10:36
25 juin 2008 à 10:36
salut
merci beaucoup
désolé, il me fallait te dire ça plus tot mais tu sais quelque fois on oublie des choses très important qu'on on est pressé par le temps.je sais que tu as fais un grand effort avec moi ,je n'ai qu'à te remercier mille fois 1000*1000*...
ne t'inquiète pas je vais traité les deux cas.
merci beaucoup
désolé, il me fallait te dire ça plus tot mais tu sais quelque fois on oublie des choses très important qu'on on est pressé par le temps.je sais que tu as fais un grand effort avec moi ,je n'ai qu'à te remercier mille fois 1000*1000*...
ne t'inquiète pas je vais traité les deux cas.
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
25 juin 2008 à 12:17
25 juin 2008 à 12:17
Salut
De rien mirinda, bonne chance pour la suite.
Ciao
De rien mirinda, bonne chance pour la suite.
Ciao
mirinda
Messages postés
51
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
4 mai 2009
38
30 juin 2008 à 17:31
30 juin 2008 à 17:31
Salut
j'ai écrit mon rapport à l'aide de Scientific Word , je veux maintenant créer des diapositives, est ce qu' il ya un logiciel qui permet de créer facilement ces derniers.
merci
j'ai écrit mon rapport à l'aide de Scientific Word , je veux maintenant créer des diapositives, est ce qu' il ya un logiciel qui permet de créer facilement ces derniers.
merci
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
2 juil. 2008 à 20:26
2 juil. 2008 à 20:26
Salut
Fais plutôt un nouveau post pour ça, c'est un problème différent. Je sais pas trop où tu devras mettre ton post. À mon avis ça peut aller dans Logiciels/Pilotes, Bureautique ou Programmation peut-être...
Si t'utilisais LaTeX directement, je t'aurais dit Beamer mais là...
Il me semble qu'il y a la possibilité d'utiliser la classe Beamer avec Scientific Word mais j'en suis pas sûr et j'ai aucune idée de comment ça marche, désolé...
A plus
Fais plutôt un nouveau post pour ça, c'est un problème différent. Je sais pas trop où tu devras mettre ton post. À mon avis ça peut aller dans Logiciels/Pilotes, Bureautique ou Programmation peut-être...
Si t'utilisais LaTeX directement, je t'aurais dit Beamer mais là...
Il me semble qu'il y a la possibilité d'utiliser la classe Beamer avec Scientific Word mais j'en suis pas sûr et j'ai aucune idée de comment ça marche, désolé...
A plus
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
8 juil. 2008 à 02:16
8 juil. 2008 à 02:16
Salut
Je comprends pas... Tracer des courbes 2D en 3D?
Si c'est des courbes 2D je vois pas comment tu veux les tracer en 3D... Tu veux que la troisième dimension des courbes soit relative au temps?
Explique mieux ce que tu veux faire.
A plus
Je comprends pas... Tracer des courbes 2D en 3D?
Si c'est des courbes 2D je vois pas comment tu veux les tracer en 3D... Tu veux que la troisième dimension des courbes soit relative au temps?
Explique mieux ce que tu veux faire.
A plus
la reponse:
ecrire le developpement limité de f(x) jusqu'à l'ordre 4 en x=xindice i et remplacer x par xindice(i+1) dans la premiere fois et 2 xpar xindice(i-1) et faire f(xindice(i+1))+f(xindice(i-1))=-2f(xindice i)+ un erreur d'ordre 4 bonne chance à tout le monde pour plus d'info:elotmany licmath@gmail.com
ecrire le developpement limité de f(x) jusqu'à l'ordre 4 en x=xindice i et remplacer x par xindice(i+1) dans la premiere fois et 2 xpar xindice(i-1) et faire f(xindice(i+1))+f(xindice(i-1))=-2f(xindice i)+ un erreur d'ordre 4 bonne chance à tout le monde pour plus d'info:elotmany licmath@gmail.com
bonjour, en cherchant une solution pour mon problème, j'étais tellement chanceux en tombant par hasard sur ce site et lisant cette discussion fructueuse que vous êtes en train de mener (Mirinda et Sacabouffe) félicitations ^^
ma question et la suivante:
je cherche à résoudre l'équation de la diffusion en dimension 1:
Ut - uxx =0 pour (x,t) dans ]0,1[*R+*
U(x,0)= 2x pour 0=<x=<1/2
U(x,0)= 2(1-x) pour 1/2=<x=<1
U(0,t)=u(1,t)=0 pour t dans R+* condition de Dirichlet
( mais ce qui m'a stoppé c'est que notre cher professeur nous a imposé de résoudre le système linéaire obtenu en utilisant le schéma de Crank- Nicolson par la méthode de résolution du système tridiagonale communément connue sous le nom : méthode de thomas (algorithme)
j ai obtenu l'écriture matricielle suivante:
A* Un+1=B*Un
si j inverse la matrice A j obtenirai une matrice non tridiagonale ce qui m empêchera d'utiliser la méthode de thomas :)
veuillez m'aider SVP
merci d'avance
ma question et la suivante:
je cherche à résoudre l'équation de la diffusion en dimension 1:
Ut - uxx =0 pour (x,t) dans ]0,1[*R+*
U(x,0)= 2x pour 0=<x=<1/2
U(x,0)= 2(1-x) pour 1/2=<x=<1
U(0,t)=u(1,t)=0 pour t dans R+* condition de Dirichlet
( mais ce qui m'a stoppé c'est que notre cher professeur nous a imposé de résoudre le système linéaire obtenu en utilisant le schéma de Crank- Nicolson par la méthode de résolution du système tridiagonale communément connue sous le nom : méthode de thomas (algorithme)
j ai obtenu l'écriture matricielle suivante:
A* Un+1=B*Un
si j inverse la matrice A j obtenirai une matrice non tridiagonale ce qui m empêchera d'utiliser la méthode de thomas :)
veuillez m'aider SVP
merci d'avance