Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

probleme progr

Posté par
aminasmile
08-05-13 à 10:06

mmBonjour,
j'ai besoin d'aide : j'ai une somme partielle  :S_n(x)=\sum_{k=1}^{n} \frac{x^k}{k(k+1)};;
je veux calculer sa somme à l'aide d'une fonction de x et de n notée S_n(x,n),  ( si c"est possible en langage scilab )

Posté par
Nicolas_75 Correcteur
re : probleme progr 09-05-13 à 19:33

Bonjour,

Tu peux essayer de définir la fonction f ainsi :

function [S] = f(n, x)
	S = 0;
	for k = 1:n
		S = S + x^k/k/(k+1);
	end;
endfunction;


Puis tu peux l'appeler par exemple de la façon suivante :
f(10,2)


Nicolas

Posté par
aminasmile
re : probleme progr 10-05-13 à 10:04

merci beaucoup Nicolas ,   c'est gentil de m'avoir répondu !    ^^ oui je l'ai déjà fait mais j'ai un problème dans une autre question : c'est de donner le programme sous scilab de la somme de la série à l'aide d'une fonction de x notée S(x).... merci ^^

Posté par
Nicolas_75 Correcteur
re : probleme progr 10-05-13 à 10:41

D'accord.
Dans la fonction S(x), tu peux additionner les termes de la somme jusqu'à ce que la somme ne "bouge" plus. Plus précisément, jusqu'à ce que la différence entre deux sommes consécutives soit inférieure à 10^-4 ou toute autre précision.

En pseudo-code :

function [S] = f(x)
	Sp = -1; // somme précédente
	S = 0;
	k = 0;
	tant que ( |S-Sp| >= 10^-4 )
		k = k+1;
		Sp = S
		S = S + x^k/k/(k+1);
	end;
endfunction;


Je n'ai pas accès à Scilab maintenant, donc je ne peux pas vérifier.

Nicolas

Posté par
aminasmile
re : probleme progr 10-05-13 à 10:46

je vais le vérifier tout de suite ^^ mercii bcpp Nicolas

Posté par
aminasmile
re : probleme progr 10-05-13 à 11:10


le code  !!

Sp = -1; // somme précédente
S = 0;
k = 0;
while |S-Sp| >= 10^-4
k = k+1;
Sp = S
S = S + x^k/(k*(k+1));
end


Et puis il me donne erreurs comme quoi :

En attente de la fin de la commande.
  


Posté par
Nicolas_75 Correcteur
re : probleme progr 10-05-13 à 11:11

Et si tu remplaces 10^-4 par 0.1 ?

Posté par
aminasmile
re : probleme progr 10-05-13 à 11:13

il reste la même chose ..''En attente de la fin de la commande. ''

Posté par
Nicolas_75 Correcteur
re : probleme progr 10-05-13 à 11:30

OK.
Je ne peux malheureusement pas t'aider plus pour le moment. Je regarderai ce soir.

Posté par
aminasmile
re : probleme progr 10-05-13 à 11:30

il me semble que c'est une boucle infinie nn ???

Posté par
aminasmile
re : probleme progr 10-05-13 à 11:32

ok merci beaucoup et j'attends avec impatience et désole pour le dérangement .. (je vais faire mon mieux pour trouver la solution ) merci ^^

Posté par
Chatof
re : probleme progr 10-05-13 à 20:46

bonsoir,
Sp = S
Manque t-il un ;
Sp = S ;

Posté par
Nicolas_75 Correcteur
re : probleme progr 10-05-13 à 20:50

Bien vu

Posté par
Nicolas_75 Correcteur
re : probleme progr 10-05-13 à 21:29

En fait, la syntaxe de ton programme est inexacte.
La valeur absolue se note abs(...) en Scilab, et non avec des |...|

Chez moi, le programme ci-dessous semble fonctionner.

function [S] = f(x)
	Sp = -1; // somme précédente
	S = 0;
	k = 0;
	while abs(S-Sp) >= 10^-4
		k = k+1
		Sp = S
		S = S + x^k/(k*(k+1))
	end
endfunction;

Posté par
Nicolas_75 Correcteur
re : probleme progr 10-05-13 à 21:38

Remarque : en calculant de manière purement symbolique (sans s'intéresser aux conditions d'existence, etc...), donc pas vraiment rigoureusement...

Somme des termes d'une suite géométrique infinie :
\frac{1}{1-x} = \sum_{k=1}^{\infty}x^{k-1}

On intègre entre 0 et x :
-\ln(1-x) = \sum_{k=1}^{\infty}\frac{x^k}{k}

On intègre entre 0 et x :
x - (x-1)\ln(1-x) = \sum_{k=1}^{\infty}\frac{x^{k+1}}{k(k+1)}

On divise par x :
\boxed{S(x) = 1 - \frac{(x-1)\ln(1-x)}{x}}

Posté par
aminasmile
re : probleme progr 11-05-13 à 01:45

merci beaucoup

Posté par
Nicolas_75 Correcteur
re : probleme progr 11-05-13 à 18:23

Je t'en prie.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !