Une série

Discutez d'informatique ici !
MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

une série

par MacManus » 26 Aoû 2010, 00:00

Bonsoir.

J'aimerais coder sous Matlab la série numérique suivante :
pour calculer qq termes de cette série (convergente).

Quelqu'un peut-il m'aider svp ? Merci bcp.



MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 00:08

j'ai tenté qqchose, ms ça ne donne rien...

----------------------------------
function serie(N)
serie = zeros(100,1);
n=1;
while(n ~= 16)
for i = 1:N
f = ((-1)^i) / (i - 4*sqrt(i));
serie(i) = serie(i) + f;
end
n = n+1;
end
-----------------------------------

:zen:

MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 00:39

J'ai bien tenté un truc ms ça ne donne rien...

gol_di_grosso
Membre Irrationnel
Messages: 1402
Enregistré le: 22 Sep 2007, 12:28

par gol_di_grosso » 26 Aoû 2010, 09:05

Bonjour,
Ben par exemple une boucle for plus un if pour savoir si on est à 16, non ?

Mathusalem
Membre Irrationnel
Messages: 1837
Enregistré le: 14 Sep 2008, 04:41

par Mathusalem » 26 Aoû 2010, 10:10

Dans Matlab, ça serait :

Symsum(-1^n/(n-4sqrt(n)), n, 1, 15)
Symsum(-1^n/(n-4sqrt(n)), n, 15, inf)

Sauf erreur.

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 26 Aoû 2010, 10:19

moyennant le (-1) et les 4*sqrt :happy2:
la vie est une fête :)

Mathusalem
Membre Irrationnel
Messages: 1837
Enregistré le: 14 Sep 2008, 04:41

par Mathusalem » 26 Aoû 2010, 10:48

fatal_error a écrit:moyennant le (-1) et les 4*sqrt :happy2:


Tu sais, la syntaxe et moi ... :)

MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 11:23

gol_di_grosso a écrit:Bonjour,
Ben par exemple une boucle for plus un if pour savoir si on est à 16, non ?


C'est ce que j'avais essayé de faire mais ça ne me donne rien... du style :

function serie(N)
s = zeros(N,1);
for n = 1:N
if n ~= 16
f = ((-1)^(n)) / (n - 4*sqrt(n));
s = s + f;
elseif n==16
disp('erreur');
end
end

MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 11:27

Mathusalem a écrit:Dans Matlab, ça serait :

Symsum(-1^n/(n-4sqrt(n)), n, 1, 15)
Symsum(-1^n/(n-4sqrt(n)), n, 15, inf)

Sauf erreur.


Même en moyennant, il n'y a pas moyen ! :pc:
Il me dit que la variable n n'est pas définie !

MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 11:28

merci pour vos réponses en tout cas. Je vais continuer à chercher.

MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 12:02

J'ai essayé ça aussi mais pas de réponses...

function serie(N)
s = zeros(N,1);
n=1;
while(n ~= 16 && n f = ((-1)^(n))/(n - 4*sqrt(n));
s = s + f;
n = n + 1;
end

gol_di_grosso
Membre Irrationnel
Messages: 1402
Enregistré le: 22 Sep 2007, 12:28

par gol_di_grosso » 26 Aoû 2010, 12:30

MacManus a écrit:J'ai essayé ça aussi mais pas de réponses...

function serie(N)
s = zeros(N,1);
n=1;
while(n ~= 16 && n<N)
f = ((-1)^(n))/(n - 4*sqrt(n));
s = s + f;
n = n + 1;
end

J'ai pas matlab d'installer mais déjà la condition du while ne va pas, il va s'arreter à n=16. Et je sais plus trop mais s=s+f va ajouter f à toute les composantes du vecteur s ?

Si tu veux récuperer ça dans un vecteur ça doit-être un truc dans le genre :

function serie(N)
s = zeros(N,1);
n=1;
cum=0; // pour faire la somme de la série
while( n<N )
if (n~=16) then
cum = cum + ((-1)^(n))/(n - 4*sqrt(n));
s(n) = cum;
end
n = n + 1;
end

MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 12:59

En fait j'avais oublier que pour voir le résultat, il faut enlever le " ; " à la fin de la ligne s(n) = cum;

cool! merci beaucoup !!

abcd22
Membre Complexe
Messages: 2426
Enregistré le: 13 Jan 2006, 15:36

par abcd22 » 26 Aoû 2010, 15:29

Bonjour,
gol_di_grosso a écrit:cum=0; // pour faire la somme de la série
while( n<N )
if (n~=16) then
cum = cum + ((-1)^(n))/(n - 4*sqrt(n));
s(n) = cum;

Juste un détail sans grande importance: si vous devez montrer le code à des anglophones n'utilisez pas cum comme nom de variable pour la somme cumulée, ça a un sens complètement différent en anglais.

MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 15:42

oui et je crois savoir lequel...
personellement je m'étais borné à "s" pour série :happy3:

MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 15:53

J'ai autre question :
Si l'on avait souhaité calculer la somme de cette série (convergente) "à la main" ? sans Matlab ,en pleine montagne par exemple ?

Nightmare
Membre Légendaire
Messages: 13817
Enregistré le: 19 Juil 2005, 18:30

par Nightmare » 26 Aoû 2010, 16:40

Salut,



Je ne vois pas trop comment calculer :s

MacManus
Membre Irrationnel
Messages: 1365
Enregistré le: 28 Avr 2008, 15:41

par MacManus » 26 Aoû 2010, 17:03

Salut.

Ce qui est sûr, c'est qu'elle n'est pas absolument convergente. Mais elle est convergente d'après le critère des séries alternées non ? (elle serait donc semi-convergente).

Le lien wiki donne un exemple avec qqchose qui y ressemble :
ici(utilisation d'un grand O)

gol_di_grosso
Membre Irrationnel
Messages: 1402
Enregistré le: 22 Sep 2007, 12:28

par gol_di_grosso » 26 Aoû 2010, 19:03

abcd22 a écrit:Juste un détail sans grande importance: si vous devez montrer le code à des anglophones n'utilisez pas cum comme nom de variable pour la somme cumulée, ça a un sens complètement différent en anglais.

oui je pensais à cumsum mais maintenant que vous me le dites...

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 26 Aoû 2010, 21:19

Mais c'est carrément bien cum!

c'est un peu comme les pointeurs qui s'appelent q.

Faut savoir etre joker un ptit peu!
la vie est une fête :)

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite