Vecteurs sous Scilab
Bonjour,
j'ai un petit souci avec les vecteurs de Scilab, problème que les nombreux manuels et documentation sur le net éludent.
J'aimerais calculer $\displaystyle \sum_{k=1}^n f(k)$ lorsque n est un lui-même un vecteur, autrement dit, si n prend toutes les valeurs entre 1 et p, je voudrais obtenir le vecteur $\displaystyle \Bigg[ \sum_{k=1}^1 f(k) , ..., \sum_{k=1}^p f(k) \Bigg]$ Les boucles for ne permettent pas de prendre en compte un vecteur comme borne supérieure...
Merci pour vos suggestions...
j'ai un petit souci avec les vecteurs de Scilab, problème que les nombreux manuels et documentation sur le net éludent.
J'aimerais calculer $\displaystyle \sum_{k=1}^n f(k)$ lorsque n est un lui-même un vecteur, autrement dit, si n prend toutes les valeurs entre 1 et p, je voudrais obtenir le vecteur $\displaystyle \Bigg[ \sum_{k=1}^1 f(k) , ..., \sum_{k=1}^p f(k) \Bigg]$ Les boucles for ne permettent pas de prendre en compte un vecteur comme borne supérieure...
Merci pour vos suggestions...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
n est un vecteur ???? je n'arrive pas à comprendre ....
Paul
En revanche, la réponse de H répond à ma question mais je crois avoir mal posé ma question ^^
Je vais donc vous tacher d'exposer tout mon problème.
Je voudrais obtenir le graphe de $$\ln \Bigg| \int_0^1 f(x) \mathrm{d}x - \dfrac{1}{n}\sum_{k=1}^n f(\frac{k}{n})\Bigg|$$ en fonction de $\ln(n)$
pour n variant de 1 à 10 ou 100 ou 1000 peu importe...f fonction continue sur [0;1]...
Pour cela, j'entre en abscisse log(X) où X=1:1:10 (le vecteur [1;...;10]) et en ordonnée, j'aurais besoin de l'image du vecteur X par la fonction $$n \mapsto \Bigg| \int_0^1 f(x) \mathrm{d}x - \dfrac{1}{n}\sum_{k=1}^n f(\frac{k}{n})\Bigg|$$. J'ai donc en réalité simplement besoin de l'image de X par $$n \mapsto \sum_{k=1}^n \dfrac1n f(\frac{k}{n})$$
Sauf erreur de ma part (je ne connais pas encore très bien Scilab), si je fais une boucle for de borne supérieure n pour calculer la somme, je ne peux pas après demander à Scilab de remplacer n entier par un vecteur d'entiers. Je ne vois pas en quoi la fonction cumsum peut m'aider puisqu'il y a aussi du $n$ dans ma somme, chose que j'avais complètement oubliée dans mon premier post..
Voilà, j'espère que ma requête vous paraîtra plus claire...Merci pour vos réponses !
Le plus simple me semble être de procéder dans l'autre sens. Par exemple pour la fonction carrée et pour n de 1 à 10 :
for n=1:10
y=abs(mean([1:n^(-1):1].^2)-3^(-1));
end;
http://www.ilemaths.net/img/forum_img/0599/forum_599908_1.gif
Quelque chose comme
pas=(b-a)/n;
y=pas*sum(f([0:n-1]*pas+a+pas/2));
Du coup, les fonctions élémentaires de chaque méthodes ne me servent plus alors qu'elles font parties des questions du TP... Je suppose que ça n'a pas d'importance. Merci beaucoup en tout cas !
J'ai donc peur que cela devienne très indigeste à calculer et encore plus à taper en Scilab sans erreur (bon Scilab identifie les parenthèses qui s'ouvre et se ferment mais bon...)