Bonjour,
J'aimerais programmer cette fonction T= sum (de 1 à infini)[cos(n*pi)*exp(-n²pi²a*t/e²)
j'ai commencé à le faire et à essayer de la tracer mais ça ne marche pas.
Cdt
vitroze
Bonjour,
J'aimerais programmer cette fonction T= sum (de 1 à infini)[cos(n*pi)*exp(-n²pi²a*t/e²)
j'ai commencé à le faire et à essayer de la tracer mais ça ne marche pas.
Cdt
vitroze
tu as fait quoi jusqu'à présent ?
la seule difficulté est de déterminer le pas d'intégration à chaque moment.
Il y a des méthodes bourrin et d'autres plus sophistiquées tout dépend de ce que tu as besoin.
C'est dans la vraie vie ton problème ? ou dans tes études ?
"La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.
j'ai tapé ça:
j'ai utilisé un vecteur mais le problème à la sortie je n'ai pas de vecteur (y) et donc mon tracer ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function [y]=fct(e,a,x,N,tps) dt=0.01; %pas de temps tps=dt*tps; % vecteur temps n=1:1:N; y=zeros(0,tps); for t=0:dt:tps y=sum((cos((n.*pi.*x)./e)).*(exp((-(n.^2.*pi^2.*a.*t))./e^2))); end end plot(t,y);
y c'est l'intégrale selon t.
plusieurs valeurs de t -> une valeur de y
"La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.
Normalement, si je le calcul à la main pour un t donné, je calcule l'expression (cos*exp) pour tt les n, puis je fais la somme de tous les cos*exp . Et je recommence pour un autre t donné. Mais à la fin j'ai un y pour un t. Ainsi, j'aimerais tracer y en fonction de t.
Mais, j'aimerais savoir si mon code matlab est bon, car ça me semble bizarre que je n'ai pas de tracer.
Je me demande si à chaque itération mon y est écrasé par le nouveau t de la nouvelle itération.
envoie un code "jouable", que je puisses faire "run" et voir une de tes courbes (ou pas)
"La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.
Pour modéliser cette équation: T(t)= sum (de n=1 à infini)[cos(n*pi)*exp(-n²pi²a*t/e²)
J'ai fait
J'ai modifié le code de tout à l'heure, pour essayer de le tracer en direct et y est incrémenter à chaque boucle. Mais on peut mettre t sous une boucle et n sous la forme d'un vecteur???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 clear all close all e=0.005; dt=1; t=0; N=140; Y=0; for n=0:N t=t+dt; for j=1:N y(j)=cos((j*pi*x))*(exp((-(j^2*pi^2*t)/e^2)); end Y=Y+sum(y); figure(1) plot(t,Y,'*'); end
ton code ne marche pas. erreurs en pagaille. merci d'envoyer des codes au moins débuggés et testés pour qu'on puisse t'aider dessus.
"La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.
Désoé, je viens de voir des coquilles. Voici un code correct
J'aimerais savoir si ce code correspond à la formule
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 clear all a=1e-5; e=0.005; dt=1; t=0; N=140; Y=0; for n=1:N t=t+dt; for j=1:N y(j)=cos((j*pi/e)*(exp((-(j^2*pi^2*a*t)/e^2))); end Y(n)=sum(y); figure(1) plot(t,Y,'*'); end
Dans l'équation, je calcule pour T(t=1), la somme des cos(n)exp(n..) pour tous les n et je stocke la somme dans un case du tableau du vecteur y, et de même pour T(t=2).
Puis, je trace y en fonction de t.
C'est bon, je viens juste de le reprendre et ça marche correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for t=1:1:1000 j=1:10; y(t)=sum((cos((j.*pi)./e).*(exp((-(j.^2*pi^2*a*t)./e^2)); end plot(y);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager