Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#26 Re : Entraide (supérieur) » équation lourde » 12-12-2013 12:48:56
Bonjour geo,
L'équation obtenue est relativement simple. Une piste pour la reformuler :
- Remplacer [tex]a x^{\frac{2}{p}-1}[/tex] par [tex]\frac{a}{x} x^{\frac{2}{p}}[/tex]
- Idem pour [tex]b y^{\frac{2}{q}-1}[/tex]
- Remplacer [tex]\frac{a}{x}[/tex] par [tex]\frac{1}{2}\left( \frac{a}{x} + \frac{b}{y} \right) + \frac{1}{2}\left( \frac{a}{x} - \frac{b}{y} \right)[/tex]
On trouve finalement quelque chose qui ressemble à :
[tex]E = \frac{1}{2}\left( \frac{a}{x} + \frac{b}{y} \right) z^2 + \frac{1}{2}\left( \frac{a}{x} - \frac{b}{y} \right) \left( x^{\frac{2}{p}} - y^{\frac{2}{q}}\right)[/tex]
MathRack
#27 Re : Entraide (supérieur) » calcul sur un cylindre : epaisseur moyenne vu par un rayon lumineux un » 28-11-2013 10:28:59
Bonjour,
Le cylindre est opaque? Si oui, il faut faire varier [tex]\theta[/tex] entre [tex]-\frac{\pi}{2}[/tex] et [tex]\frac{\pi}{2}[/tex] pour un détecteur à l'infini.
Dans le cas d'un détecteur à l'infini, un point à l'angle [tex]\theta[/tex] traverse [tex]\sqrt{(R+D)^2-R^2sin^2(\theta)}-Rcos(\theta)[/tex] (pythagore). On intègre pour z entre 0 et h et pour [tex]\theta[/tex] entre [tex]-\frac{\pi}{2}[/tex] et [tex]\frac{\pi}{2}[/tex].
Vous pouvez ensuite donner l'intégrale à un logiciel de calcul formel comme Maxima. Le site de Wolfram alpha peut également intégrer pour vous...
#28 Re : Entraide (supérieur) » Vecteurs » 19-11-2013 09:50:49
Bonjour David,
Avez-vous exprimé le vecteur [tex]E[/tex] dans la base cylindrique? Pouvez-vous exprimer le vecteur [tex]OM[/tex] dans la base cylindrique?
Une fois que vous l'aurez fait, vous pouvez calculer le produit scalaire entre les vecteur [tex]OM[/tex] et [tex]E[/tex] très facilement. Le lien avec [tex]E_r[/tex] sera alors évident.
De plus, si vous avez [tex]E[/tex] dans la base cylindrique, vous avez [tex]E_r[/tex] dans la base cylindrique, qu'il faut alors exprimer dans la base cartésienne...
Persévérez!!! Bonne chance,
MathRack
#29 Re : Entraide (supérieur) » Vecteurs » 18-11-2013 10:16:53
Bonjour David,
Il y une bijection entre les coordonnées cartésiennes et les coordonnées cylindriques. Vous disposez des relations suivantes :
[tex]x^2+y^2=r^2[/tex]
[tex]x=r cos( \theta )[/tex]
[tex]y=r sin( \theta )[/tex]
Vous pouvez facilement isoler [tex]cos( \theta )[/tex] en divisant la deuxième équation par [tex]r[/tex] puis en injectant la racine carrée de la première équation.
Cordialement,
MathRack
#30 Re : Entraide (supérieur) » Vecteurs » 15-11-2013 14:17:27
Bonjour David,
D'après le lien wikipédia que j'avais posté, nous avons :
[tex]\overrightarrow{E}(r,\theta) = - \partial_r V(r,\theta) \overrightarrow{e_r} - \frac{1}{r} \partial_\theta V(r,\theta) \overrightarrow{e_\theta}[/tex].
Pour exprimer la composante radiale, il faut donc dériver le potentiel V selon la variable r puis multiplier par -1. Et pour avoir la composante angulaire, il faut dériver selon la variable [tex]\theta[/tex] puis diviser par r et multiplier par -1.
Vous aurez alors exprimé le vecteur E. On en déduit facilement la composante radiale...
Cordialement,
Mathrack
#31 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Lissage de données sur l'année » 12-11-2013 10:59:53
Bonjour,
Je pense que la méthode la plus simple et la plus robuste est la suivante :
1 - Relier tous les milieux de mois par des segments (on pourra décréter le 15 de chaque mois comme milieu)
2 - Pour le premier mois, prolonger le segment jusqu'au début du mois
3 - Idem pour le dernier mais prolongement vers la fin
De cette manière, vous évitez un écueil : la valeur choisie pour le premier jour du mois qui était arbitraire.
Si vous souhaitez éviter les ruptures de pente entre les segments, comme indiqué par totomm, il faut remplacer les segments (polynôme d'ordre 1) par des polynômes d'ordre 3.
Je pense que vous pouvez adapter mon fichier excel pour implémenter cette méthode. L'algorithme devrait ressembler à ça :
- Moyenne mois [tex]M_i[/tex]
- Moyenne mois+1 [tex]M_{i+1}[/tex]
- [tex]N_i[/tex] jours entre le 15 du mois [tex]i[/tex] et le 15 du mois [tex]i+1[/tex]
Droite reliant les moyennes : [tex]y_i(x) = \frac{M_{i+1}-M_i}{N_i-1} * (x-1) + M_i[/tex], avec [tex]x[/tex] qui vaut 1 le 15 du premier mois et [tex]N_i[/tex] le 15 du mois suivant. Pour [tex]x \lt 1[/tex], on prolonge le premier mois en amont et pour [tex]x \gt N_i[/tex], on prolonge le dernier mois en aval.
Cordialement, MathRack
EDIT : Josse34, vous pouvez effectivement projeter vos données sur une base de cosinus ou de sinus. Mais il faut être prudent lorsqu'on interpole une fonction, on rencontre parfois des oscillations : http://fr.wikipedia.org/wiki/Ph%C3%A9no … e_de_Runge
#32 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Lissage de données sur l'année » 08-11-2013 16:36:44
J'ai bricolé un truc, ce n'est pas très rigoureux mais a le mérite d'être relativement simple. La série pour l'ensemble des jours est calculée à partir de la valeur entrée pour le premier jour : http://cjoint.com/?0KiqHbBmGw3
Je pense que vous pouvez construire quelque chose de plus précis. D'un point de vue mathématique, c'est simplement un système linéaire à inverser. Je vous invite à vous renseigner sur les splines, il doit y avoir des outils tout préparés qui font ça très bien.
#33 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Lissage de données sur l'année » 08-11-2013 15:03:49
Bonjour,
Ci-dessous un petit raisonnement étalé sur 3 mois, facilement extensible sur une année, basé sur des interpolations linéaires.
Mois : [tex]A, B, C[/tex]
Nombre de jours/mois : [tex]N_a, N_b, N_c[/tex]
Somme mois : [tex]S_a, S_b, S_c[/tex]
Valeur journalières : [tex]A_i, B_i, C_i[/tex], [tex]i \gt 0[/tex]
On a des splines : [tex]A_i=\alpha_a i + \beta_a[/tex], [tex]B_i=\alpha_b i + \beta_b[/tex], [tex]C_i=\alpha_c i + \beta_c[/tex]
On a une contrainte de continuité : [tex]A_{N_a+0.5}=B_{0.5}[/tex] et [tex]B_{N_b+0.5}=C_{0.5}[/tex]
Elles équivalent respectivement à [tex]\alpha_a (N_a+0.5) + \beta_a =0.5 \alpha_b + \beta_b[/tex] et [tex]\alpha_b (N_b+0.5) + \beta_b =0.5 \alpha_c + \beta_c[/tex].
On a également une contrainte sur les sommes : [tex]\alpha_a (N_a) + \beta_a =S_a[/tex], [tex]\alpha_b (N_b) + \beta_b =S_b[/tex], [tex]\alpha_c (N_c) + \beta_c =S_c[/tex].
Par exemple, pour les 3 premiers mois donnés : résoudre système
Vous remarquerez qu'il faut rajouter une condition pour que la solution du système soit unique. On pourra par exemple imposer une valeur fin mars pour y remédier (il suffit d'ajouter une ligne c*(31+0.5)+d=0.5*(130+150) ). Vous pouvez pondérer la valeur en fin de mois par le nombre de jours dans chaque mois...
Dans le lien donné, [tex]x=\alpha_a[/tex], [tex]y=\beta_a[/tex], [tex]a=\alpha_b[/tex], [tex]b=\beta_b[/tex], [tex]c=\alpha_c[/tex] et [tex]d=\beta_c[/tex].
Cordialement, MathRack
EDIT : Excel dispose de fonctions permettant d'inverser des systèmes linéaires. Je ne suis pas spécialiste, mais il me semble que la fonction inversemat peut inverser une matrice et que la fonction produitmat peut calculer un produit matrice-vecteur
#34 Re : Entraide (supérieur) » Vecteurs » 08-11-2013 10:50:32
Bonjour,
Vous pouvez calculer le gradient avec les coordonnées polaires : http://fr.wikipedia.org/wiki/Gradient#C … nt_de_base
La composante radiale du vecteur [tex]E[/tex] est donc [tex]E_r(M) = - \partial_r V(M)[/tex]. Si [tex]q[/tex], [tex]a[/tex] et [tex]E[/tex] utilisés pour définir le potentiel [tex]V[/tex] sont constants, il faut juste dériver [tex]\frac{1}{r^2}[/tex]...
Cordialement,
MathRack
#35 Re : Entraide (supérieur) » Coordonnées cylindrique » 29-10-2013 13:12:24
Bonjour,
Il faut utiliser la relation [tex]x_1 = r cos(\theta)[/tex], [tex]x_2 = r sin(\theta)[/tex] et [tex]u^r(r,z,t) = \sqrt{u_1^2+u_2^2}[/tex]. Par exemple pour développer [tex]\left( \frac{u^r}{r} \right)^2[/tex]
MathRack
#36 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Distributions et intégrales/sommes bizarres » 23-10-2013 09:00:13
Merci pour votre réponse. Je comprends mieux le cas de l'intégrale. Si on définit une base de fonctions test [tex]\phi[/tex] adaptée, l'intégrale ou la limite ci-dessous sera bien définie et on pourra lui associer une valeur?
[tex] \int_0^1 \phi(x) \frac{1}{x^{1.5}(1+x)} dx[/tex]
[tex] \lim_{0} \phi(y) \int_y^1 \frac{1}{x^{1.5}(1+x)} dx[/tex]
Pouvez-vous m'éclairer sur la somme d'entiers?
[tex]1+2+3+... = \lim_{+\infty}\frac{n(n+1)}{2} = -\frac{1}{12}[/tex]
Merci,
MathRack
#37 Enigmes, casse-têtes, curiosités et autres bizarreries » Distributions et intégrales/sommes bizarres » 22-10-2013 08:54:50
- MathRack
- Réponses : 3
Bonjour,
Je suis tombé sur un article un peu bizarre qui, avec des guillemets, indique que l'intégrale d'une fonction positive ou la somme de nombres positifs est négative :
[tex]1+2+3+... = -\frac{1}{12}[/tex]
Le nom de Srinavasa Ramanujan est cité. J'ai cherché des articles accessibles qui détaillent le sujet mais je n'ai pas trouvé grand chose. Avez-vous des liens à la portée d'un néophyte?
Merci,
MathRack
#38 Re : Entraide (supérieur) » Exercice : Espérance du nombre de jets » 06-08-2013 08:52:37
Bonjour mimod,
Dans le cas r=3, pour 3 jets, on a un cas possible qui est bien FFF avec la probabilité [tex]p^3[/tex]
Dans le cas r=2 avec 3 jets, je fais mon mea culpa, tu as raison.
Voici la liste des résultats possible pour 3 jets avec leur probabilité, la somme fait bien 1 :
PPP [tex](1-p)^3[/tex]
FPP [tex]p (1-p)^2[/tex]
PFP [tex]p (1-p)^2[/tex]
PPF [tex]p (1-p)^2[/tex]
FFP [tex]p^2 (1-p)[/tex]
FPF [tex]p^2 (1-p)[/tex]
FFP [tex]p^2 (1-p)[/tex]
FFF [tex]p^3[/tex]
Pour en revenir à la récurrence, ce serait donc :
[tex]P_{r+1} = (1-p) P_r [/tex]
[tex]P_{r+2} = p(1-p)P_r+(1-p) P_{r+1} [/tex]...
#39 Re : Entraide (supérieur) » Exercice : Espérance du nombre de jets » 05-08-2013 17:12:00
Petit retour sur le post 2 : L'espérance de "n'avoir que des pile" est de [tex]\frac{1-p}{p^2}[/tex]. Comment peut-on en déduire l'espérance de "Avoir au moins une fois face"? (ajouter 1 n'est pas très rigoureux)
Pour le cas r=2 :
- 1 jet, probabilité d'avoir 2 face = 0
- 2 jets, probabilité d'avoir 2 face = p² ( cas PP )
- 3 jets, probabilité d'avoir 2 face = probabilité 1 fois pile PUIS 2 fois face = [tex]\frac{(1-p)p^2}{3}[/tex] ( cas FPP )
Le cas PPF ne doit pas intervenir dans la probabilité à 3 jets car il est déjà compté dans la probabilité à 2 jets. Les évènements "obtenir 1 fois pile PUIS 2 fois face" et "obtenir 1 fois pile ET 2 fois face" sont différents et n'ont pas la même probabilité:
P("obtenir 1 fois pile ET 2 fois face") = (1-p)p² ( PFF ou FPF ou FFP )
P("obtenir 1 fois pile PUIS 2 fois face") = (1-p)p² / 3 ( PFF seulement)
Il faut faire attention au vocabulaire. Quel évènement correspond à la "probabilité de 3 jets" pour toi?
MathRack
#40 Re : Entraide (supérieur) » Exercice : Espérance du nombre de jets » 05-08-2013 13:17:19
La probabilité d'avoir l'évènement "une fois face et r fois pile" est [tex](1-p)p^r[/tex]. Cet évènement peut se produire de différentes manières. Exemple avec r=2 :
FPP
PFP
PPF
Si on lance 3 fois la pièce, il y a 3 configurations possibles (et équiprobables) avec l'évènement "1 fois face et 2 fois pile". La probabilité d'avoir "1 fois face ET 2 fois pile" est (1-p)p². Cette probabilité est répartie équitablement entre les 3 configurations ci-dessus. Donc, la probabilité d'avoir "1 fois face PUIS 2 fois pile" est (1-p)p²/3.
Dénombrer les configurations est, en ce qui me concerne, un des pires aspects des statistiques, c'est pourquoi j'ai laissé des points d'interrogation sur les propositions de mon post...
EDIT : L'idéal serait qu'un membre plus chevronné du forum valide ce que j'ai écrit. Considère cela uniquement comme des pistes de réflexion en l'état...
#41 Re : Entraide (supérieur) » Exercice : Espérance du nombre de jets » 05-08-2013 09:24:57
Bonjour,
Il y a peut-être moyen de s'en sortir en se basant sur la définition de l'espérance :
[tex]E(X)=\sum_{i=1}^{\infty} X_i P_i[/tex]
Pour [tex]i \leq r-1 \mbox{, } P_i=0[/tex].
Pour [tex]i=r \mbox{, } P_i = p^r \mbox{ et } X_i=r[/tex]
Ensuite, ça se complique...
Pour [tex]i=r+1 \mbox{, } P_i = \frac{1-p}{r+1} P_r \mbox{ et } X_i=r+1[/tex] ? (si on a 1 face et r pile, il n'y a qu'une configuration sur les r+1 où face tombe avant tous les pile)
Pour [tex]i=r+2 \mbox{, } P_i = \frac{p(1-p)}{2(r+2)(r+1)}P_r+\frac{1-p}{r+2} P_{r+1} \mbox{ et } X_i=r+2[/tex] ?
Il faut peut-être une récurrence sur i pour continuer, c'est pas trivial, le dénominateur a l'air d'un coefficient binomial...
Dans le cas [tex]r=1[/tex], le contraire c'est d'avoir que des tirages face et on retrouve une série entière :
[tex]E(X)=1 + \sum_{n=1}^{\infty} n (1-p)^n = 1 + \frac{1-p}{p^2}[/tex]
MathRack
#42 Entraide (supérieur) » Moyenne, médiane et dérivée » 11-06-2013 16:27:58
- MathRack
- Réponses : 0
Bonjour à tous,
On a [tex]N[/tex] réalisations de la variable aléatoire [tex]f(x,t)[/tex] qu'on note [tex]f_i(x,t)[/tex]. On sait que les réalisations [tex]f_i[/tex] vérifient toutes une équation différentielle classique :
[tex]\partial_t f_i + c \partial_x f_i = 0[/tex]
Si on note [tex]g = \frac{1}{N}\sum_{i=1}^{N}f_i[/tex] la moyenne des [tex]f_i[/tex], on moyenne les EDP et on trouve :
[tex]\partial_t g + c \partial_x g = 0[/tex]
Peut-on avoir une relation similaire sur la médiane des [tex]f_i[/tex]? Savez-vous quelles sont les conditions pour faire commuter médiane et dérivée?
Cordialement,
Mathrack
#43 Re : Entraide (supérieur) » Résonance et valeurs propres » 06-06-2013 09:15:04
Bonjour à tous,
Tout à fait, c'est la dérivée seconde en temps qui amène une pulsation au carré ([tex]-mk^2 \Longleftrightarrow m \partial_t^2[/tex]).
Sur le problème masse-ressort, on peut connecter la pulsation propre à une valeur propre :
[tex]\left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right) \left( \begin{array}{c} \partial_t x \\ \partial_t^2 x \end{array} \right) = \left( \begin{array}{cc} 0 & 1 \\ -\frac{a}{m} & 0 \end{array} \right) \left( \begin{array}{c} x \\ \partial_t x \end{array} \right) + \left( \begin{array}{c} 0 \\ \frac{f(t)}{m} \end{array} \right)[/tex]
On peut regarder les valeurs propres de la matrice de raideur :
[tex]det \left[ \left( \begin{array}{cc} 0 & 1 \\ -\frac{a}{m} & 0 \end{array} \right) - \lambda Id \right] = 0[/tex]
Et on trouve [tex]\lambda ^2 +\frac{a}{m} = 0[/tex]... (La valeur propre est imaginaire pure car le système est un oscillateur sans amortissement)
En général on essaie d'éviter les résonances car ça amène des comportements non-linéaires / instables. L'histoire du pont de Tacoma illustre bien les propos de Yoshi : http://fr.wikipedia.org/wiki/Tacoma_Narrows_Bridge
Cordialement,
MathRack
#44 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Eoliennes » 29-05-2013 15:27:39
Bonjour nerosson,
Je pose mon petit morceau de gravier dans la muraille de chine du raisonnement :
- Une éolienne avec plein de pales qui couvre presque toute la surface du cercle, compte tenu de la taille de l'engin, ça risque de s'envoler quand le vent souffle fort. Ce qui peut être désagréable.
- Si elle tourne vite, elle aura tendance à générer un écoulement turbulent / il y aura plus de pertes d'énergie. J'avais remarqué avec mon vélo qui avait plusieurs vitesses/plateaux que c'était possible de pédaler super vite et d'avancer tout doucement. Il doit être possible de faire le contraire avec l'éolienne :-)
Il y a des éoliennes qui sont "plus pleines" que ce qu'on peut voir la plupart du temps en France : http://www.energies-ecologiques.com/eol … e-aerocam/
Et l'énergie, ça se conserve. Par exemple, quand je m'agite et que je brasse du vent, l'énergie qui est perdue pour moi, est gagnée pour l'air : je le réchauffe :-). Peut-être qu'une éolienne qui tourne lentement s'use moins vite et a une durée de vie plus longue et produit donc finalement plus d'énergie? Car entre l'éolienne qui produit du courant et le vent qui souffle, j'ai ma petite idée sur qui s'arrêtera le premier...
#45 Re : Programmation » [Fortran] Demande de l'aide en fortran » 16-05-2013 12:32:52
Bien entendu : mathrack.bibmath_@_gmail.com
Cordialement,
MathRack
#46 Re : Programmation » [Fortran] Demande de l'aide en fortran » 16-05-2013 09:11:45
Autant pisser dans un violon (et pas sur un vieux lion)... Encore une fois :
1 - Le nombre de points dans l'espace physique est [tex]n+1[/tex] et pas [tex]2n+2[/tex].
2 - Donc le [tex]dx[/tex] que tu utilises est faux.
3 - Le tableau U qui contient la condition initiale doit être affecté en 2 parties, d'abord [tex]\zeta_0[/tex] dans U(1:n+1) puis [tex]u_0[/tex] dans U(n+2:2n+2)
4 - Je te conseille enfin de chercher les solutions de l'EDP du post #13. En choisir une en cos & sin. Adapter [tex]\alpha[/tex], xdeb et xfin dans tes paramètres pour que la solution analytique soit solution numérique. Utiliser le [tex]\zeta[/tex] analytique comme condition initiale [tex]\zeta_0[/tex] avec [tex]u_0=0[/tex]. Et enfin calculer quelques pas de temps pour voir si la solution est bien stationnaire.
Cordialement,
MathRack
#47 Re : Programmation » [Fortran] Demande de l'aide en fortran » 15-05-2013 15:55:40
oui ma condition initiale est bien une gaussienne (c'est le prof qui a imposé cette condition)
Je te confirme que la condition initiale suivante :
...
do i = 1, 2*n+2
abcs = i * dx - l/2.D0
U(i) = 1.D0 / sqrt(2.D0*pi) / sigma * exp(-.5d0 * abcs**2 / sigma**2)
end do
Te donnes un tableau de taille 2n+2 qui est l'enveloppe d'une gaussienne sur [tex][-0.5L,0.5L][/tex].
Mais il faut faire attention car le tableau U est la condition initiale pour les variables [tex]\zeta[/tex] et [tex]u[/tex]. La première moitié du tableau (1 à n+1) correspond à [tex]\zeta[/tex] et la deuxième moitié (n+2 à 2n+2) à [tex]u[/tex]. En utilisant cette condition initiale, tes variables [tex]\zeta[/tex] et [tex]u[/tex] ne sont pas périodiques!!! Je pense que c'est un peu maladroit d'appeler ta condition initiale U car c'est la condition initiale pour tes 2 variables...
#48 Re : Programmation » [Fortran] Demande de l'aide en fortran » 15-05-2013 14:52:06
Remonte au post #7 : il faut remplacer [tex]i \times dx[/tex] par [tex](i-1) \times dx[/tex].
Tu as [tex](i-1) \times dx \in [0,L] [/tex] et donc [tex]abcs \in [- 0.5 L , 0.5 L][/tex]. Comme ta gaussienne est en [tex]abcs^2[/tex], elle est bien périodique.
Pour avoir la condition initiale u=0 et [tex]\zeta=cos(...)[/tex] dans la variable X0 qui est de taille 2n+2 :
do i = 1, n+1
X0(i)=cos(...)
enddo
! u0 = 0
X0(n+2:2*n+2)=0
Es-tu certaine de ta condition initiale en gaussienne? Tu utilises :
...
do i = 1, 2*n+2
abcs = i * dx - l/2.D0
U(i) = 1.D0 / sqrt(2.D0*pi) / sigma * exp(-.5d0 * abcs**2 / sigma**2)
end do
Pour avoir une condition initiale gaussienne sur les variables u et zeta, il faut remplacer par:
...
do i = 1, n+1
abcs = (i-1) * dx - l/2.D0
! zeta gaussienne
U(i) = 1.D0 / sqrt(2.D0*pi) / sigma * exp(-.5d0 * abcs**2 / sigma**2)
! u gaussienne
U(n+1+i) = 1.D0 / sqrt(2.D0*pi) / sigma * exp(-.5d0 * abcs**2 / sigma**2)
end do
Tu dois forcément mettre une condition initiale sur u ET sur zeta...
#49 Re : Programmation » [Fortran] Demande de l'aide en fortran » 15-05-2013 13:08:11
Re,
1 - Dans le programme principal, tu as :
abcs = i * dx - l/2.D0
Tu souhaites donc que la variable abcs couvre un intervalle qui commence après xdeb et termine après xfin?
2 - La gaussienne utilisée comme condition initiale c'est un peu embêtant :
- la fonction est bien périodique, même valeur en x=-5 et x=5 car elle est paire
- la dérivée première n'est pas périodique car elle est impaire
Donc la condition initiale est continue, dérivable mais la dérivée première n'est pas continue. Et dans l'EDP, il y a des dérivées 2 & 3...
3 - Si on pose u=0, la première équation du système montre que [tex]\zeta[/tex] ne va pas dépendre du temps. La deuxième équation du système donne :
[tex]0 = g \partial_x \left( \zeta - \frac{h^2}{3}\left( \alpha - 1 \right) \partial_{xx} \zeta\right)[/tex]
On trouve [tex]\zeta = constante[/tex] si [tex]\alpha=1[/tex]. Si non, en fonction du signe de [tex]\alpha-1[/tex], on trouve des solutions en cos & sin ou cosh & sinh.
Je te conseille d'essayer une condition initiale avec u=0 et un [tex]\zeta[/tex] en cos & sin. Normalement, la solution doit rester constante (aux erreur d'arrondi près). Si ça marche le bloc supérieur gauche des matrices est bien codé. Attention : ton programme doit adapter la longueur du domaine numérique à la période des solutions en cos & sin.
MathRack
#50 Re : Programmation » [Fortran] Demande de l'aide en fortran » 15-05-2013 11:02:29
Bonjour,
Il y a un bon petit volume de code. Je vais jeter un oeil plus tard dans la journée mais ça va me prendre un peu de temps pour te répondre. L'erreur est visible dans la solution finale... Mais l'origine de l'erreur peut être dans nimporte quelle étape du programme!
Concernant les informations dans ton post :
1 - Tu notes X les variables au pas de temps k+1 et Y les variables au pas de temps k?
2 - Ok pour le système à résoudre. Quelles sont les conditions aux limites / conditions initiales?
3 - Le premier schéma numérique me semble OK. Le deuxième c'est vraiment l'usine à gaz...
4 - Dans les matrices décrites, il n'y a jamais les coefficients a1, a2, b1, b2, d1,d2?
5 - La matrice tA est identique à A dans ton post... On parle bien de l'opération de transposition classique ?
6 - La majorité des schémas numériques ont un domaine de stabilité. En dehors de ce domaine de stabilité, le calcul est souvent instable et conduit à une solution fausse. As-tu vérifié l'existence d'un critère de stabilité pour ton schéma numérique? (la condition CFL limite souvent le pas de temps par exemple)
7 - Est-ce que ces équations ont une solution analytique? (par exemple pour tester le programme sur une solution stationnaire...)
Dans le programme principal, tu as :
abcs = i * dx - l/2.D0
Tu souhaites donc que la variable abcs couvre un intervalle qui commence après xdeb et termine après xfin?
Cordialement,
MathRack







