Aide SCILAB : Suite/Sommes/Fonction
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
seav0
- Messages: 4
- Enregistré le: 06 Sep 2017, 22:20
-
par seav0 » 06 Sep 2017, 22:24
Bonjour, je n'arrive pas coder ce que l'on me demande malgré plusieurs recherches aucune solution n'arrive a bout...
Voila j'ai une suite définie sur N* , par , Un : Somme de 1 à n de 1/(sqrt(k))-2*sqrt(n)
Je dois écrire cette suite en FONCTION de type y=u(n=
Et écrire un script permettant de stocker dans une matrice ligne le vecteur Un n appartenant a 1;1000
Puis représenter le vecteur...
J'ai essayer cela mais rien ne va... !
function y=u(n)
y=zeros(1,n)
for i=1:1000
u(i+1)=1/(1/sqrt(i))-2*sqrt(1000)
end
endfunction
N=0:1000
y=u(1000)
x=0.1:0.1:100
plot(u,y)
-
aviateur
par aviateur » 07 Sep 2017, 06:56
Bonjour
premier problème déjà: l'argument de sortie de ta fonction est y.
Tu déclares y =" vecteur avec des zéros" et rien d'autre. Donc ne t'attend pas à avoir autre chose qu'un vecteur y=0.
-
seav0
- Messages: 4
- Enregistré le: 06 Sep 2017, 22:20
-
par seav0 » 10 Sep 2017, 14:30
Que faire alors?
Cordialement,
-
aviateur
par aviateur » 10 Sep 2017, 19:18
Bonjour
n c'est ce que tu donnes entrée et y en sortie et u c'est le nom de ta fonction. Pour savoir ce qu'il faut faire c'est d'abord comprendre cela.
Il ne faut pas mélanger. C'est y qui va sortir.
Donc ton u qui est dans la boucle qu'il soit correct ou non il ne sera pas retourné.
Déjà tu peux arranger les choses par rapport à cela ensuite on pourra voir.
-
seav0
- Messages: 4
- Enregistré le: 06 Sep 2017, 22:20
-
par seav0 » 12 Sep 2017, 17:00
function y=u(n)
S=1
M=zeros(1,n)
for i=2:n
S=S+(1/sqrt(i))+2*sqrt(n))
M(1,n)=S
end
endfunction
disp(M)
ne marche toujours pas
-
aviateur
par aviateur » 12 Sep 2017, 17:23
Bonjour
As tu compris mon message précédent? Je ne pense pas
y c'est l'argument de sortie? Tu dois sortir un vecteur, tu l'appelles comme tu veux : y cela ne me dérange pas
Entre ton début de fonction (function) et ta fin de fonction (endfunction) tu fais ce que tu veux (pour l'instant)
Mais ce qui va sortit c'est y. Maintenant il n'y a pas de y dans ta fonction. Donc cela ne marche toujours pas. C'est pas étonnant.
Si tu dis à ta femme (ta meuf) que ta fonction (ton travail) ce soir c'est de lui faire des crêpes mais au lieu de cela tu sors ton cric pour mettre des pneus neiges à sa voiture. Et bien ta femme ne mangera pas de crêpes ce soir.
-
seav0
- Messages: 4
- Enregistré le: 06 Sep 2017, 22:20
-
par seav0 » 12 Sep 2017, 21:09
effectivement...
J'ai fait cela mais je n'arrive pas au résultat escompté pour autant...
function y=u(n)
S=1
for i=2:n
S=S+(1/sqrt(i))
end
y=S-2*sqrt(n)
endfunction
disp(M)
Mais vu que ma sommes, inclues -2*sqrt(n) a l'intérieur, pas sur que si je l'enlève de la boucle for cela soit bon
-
aviateur
par aviateur » 12 Sep 2017, 21:41
C'est mieux mais on est loin du compte .
D'abord

c'est bien ?
-2\sqrt{n}?)
Je suppose que c'est cela et je corrige ta fonction (compare bien les modifications j'ai mis du rouge et il y a des lignes dont j'ai changé l'ordre. )
Et je note
)
, notation en concordance avec ta solution.
Donc

function y=u(n)
S
=0;for i=
1:n
S=S+(1/sqrt(i))
;y
(i)=S-2*sqrt(
i)
;
endendfunction
Modifié en dernier par aviateur le 13 Sep 2017, 08:54, modifié 1 fois.
-
aviateur
par aviateur » 12 Sep 2017, 21:47
Donc là j'ai programmé uniquement la fonction u.
C'est à dire que si tu écris
h=u(5) alors h sera un vecteur de taille 5 contenant

Attention ce n'est qu'une partie de ce qui est demandé on demande de représenter
le vecteur h pour n=10000. (le faire avec "plot")
D'ailleurs si on ne demande que cela, je ne vois pas l'intérêt d'avoir créé une fonction. La fonction n'est utile que si on demande de faire cela pour différentes valeurs de n.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 68 invités