1
Sommes et produits en Scilab
1. Opérations arithmétiques pointées
Opérations effectuées élément par élément des matrices en présence Multiplication d’éléments 2 à 2 : A.*B
Division d’éléments 2 à 2 : A./B (les éléments de B étant non nuls) Puissance de chaque élément : A.^B
--> A=[1,2;3,0],B=[1,2;2,1],C=A.*B,D=A./B,E=A.^2
A = 1. 2.
3. 0.
B = 1. 2.
2. 1.
C = 1. 4.
6. 0.
D = 1. 1.
1.5 0.
E = 1. 4.
9. 0.
2 2. Sommes usuelles
𝟏
𝒏 𝒌!𝟏
=1+1+⋯+1= 1 1 … 1 . 1 1
… 1
=𝑛 En Scilab : ones(1,n)*ones(n,1)
𝒌
𝒏 𝒌!𝟏
=1+2+⋯+𝑛= 1 2 … 𝑛 . 1 1
… 1
=𝑛(𝑛+1) 2
3 instructions possibles en Scilab :
• k=1:n ; k*ones(n,1)
• k=1:n ; sum(k)
• n=input('Entrez n : ');s=0;for k=1:n do s=s+k ; end , s
𝒌𝟐
𝒏 𝒌!𝟏
=1!+2!+⋯+𝑛!= 1! 2! … 𝑛! . 1 1
… 1
=𝑛(𝑛+1)(2𝑛+1) 6
3 instructions possibles en Scilab :
• k=1:n ; k^2*ones(n,1)
• k=1:n ; sum(k^2)
• n=input('Entrez n : ');s=0;for k=1:n do s=s+k^2;end,s Exemple :
𝑘!
!
!!!
=1!+2!+3!=1+4+9=14
En Scilab :
--> k=1:3 ; k^2 ; k^2*ones(3,1) k =
1. 2. 3.
ans =
1. 4. 9.
ans = 14.
3 𝒌𝟑
𝒏 𝒌!𝟏
=1!+2!+⋯+𝑛!= 1! 2! … 𝑛! . 1 1
… 1
=𝑛²(𝑛+1)² 4
3 instructions possibles en Scilab : k=1:n ; k^3*ones(n,1) k=1:n ; sum(k^3)
n=input('Entrez n : '); s=0; for k=1:n do s=s+k^3 ; end ,s
𝟏 𝒌
𝒏 𝒌!𝟏
=𝟏 𝟏+𝟏
𝟐+⋯+𝟏
𝒏−𝐥𝐧 𝒏 = 1!! 2!! … 𝑛!! . 1 1
… 1
−ln (𝑛)
3 instructions possibles en Scilab :
• k=1:n ; k^-1*ones(n,1)-log(n)
• k=1:n ; ones(1,n)./k*ones(n,1)-log(n)
• n=input('Entrez n : ');s=0;for k=1:n do s=s+1/k;end,s=s-log(n) Exemple :
1 𝑘
!.!!!
!!!
=1 1+1
2+⋯+ 1
1.000−ln 1.000 3 instructions possibles en Scilab :
--> k=1:1000;k^-1*ones(1000,1)-log(1000) ans =
0.5777156
-> k=1:1000;ones(1,1000)./k*ones(1000,1)-log(1000) ans =
0.5777156
--> n=input('Entrez n:');s=0;for k=1:n do s=s+1/k;end,s=s-log(n) Entrez la valeur de n : 1000
s =
0.5777156
On reconnaît la constante γ d’Euler.
4 𝟏
𝒌²
𝒏 𝒌!𝟏
= 𝟏 𝟏²+ 𝟏
𝟐²+⋯+ 𝟏
𝒏𝟐 = 1!! 2!! … 𝑛!! . 1 1
… 1 3 instructions possibles en Scilab :
3 instructions possibles en Scilab :
• k=1:n ; k^-2*ones(n,1)
• k=1:n ; ones(1,n)./k^2*ones(n,1)
• n=input('Entrez n : ');s=0;for k=1:n do s=s+1/k^2;end,s Exemple :
1 𝑘²
!".!!!
!!!
= 1 1²+ 1
2²+⋯+ 1
10.000!= 1!! 2!! … 10.000!! . 1 1
… 1 --> k=1:10000;k^-2*ones(10000,1)
ans = 1.6448341
--> k=1:10000;ones(1,10000)./k^2*ones(10000,1) ans =
1.6448341
--> n=input('Entrez la valeur de n : ');s=0;for k=1:n do s=s+1/k^2;end,s
Entrez la valeur de n : 10000 s =
1.6448341
Vérification par utilisation du résultat (hors programme) : 1
𝑘²
!".!!!
!!!
=𝜋! 6
--> %pi^2/6 ans = 1.6449341
5
3. Détermination du plus petit entier n tel qu’une somme >𝒂∈𝑹 Exemple 1 : déterminer 𝒏 ∈𝑵 tel que :
𝟏 𝒌>𝟏𝟎
𝒏
𝒌!𝟏
--> n=1;s=1;while s<=10 do n=n+1;s=s+1/n;end;disp(n,'n=') n=
12367.
Exemple 1 : déterminer 𝒏 ∈𝑵 tel que : 𝟏
𝒌𝟐 >𝟏
𝒏 𝒌!𝟏
,𝟔
--> n=1;s=1;while s<=1.6 do n=n+1;s=s+1/n^2;end;disp(n,'n=') n=
22.
4. Factorielle
𝒏!=𝟏.𝟐…𝒏
2 instructions possible en Scilab :
• k=1:n ; prod(k)
• n=input('Entrez n : ');p=1;for k=1:n do p=p*k ; end, p
Exemple : 4! = 1 x 2 x 3 x 4 --> k=1:4 , prod(k) k =
1. 2. 3. 4.
ans = 24.
--> n=input('Entrez la valeur de n : ');p=1;for k=1:n do p=p*k;end,p
Entrez la valeur de n : 4 p =
24.
6 5. Sommes de Riemann
a. Rappels des formules 𝑓 𝑥 𝑑𝑥
!
! = lim
!→!
𝑏−𝑎
𝑛 𝑓 𝑎+𝑘𝑏−𝑎
𝑛 = lim
!→!
𝑏−𝑎
𝑛 𝑓 𝑎+𝑘𝑏−𝑎 𝑛
!
!!!
!!!
!!!
Pour 𝑎 =0 et 𝑏=1 : 𝑓 𝑥 𝑑𝑥
!
!
= lim
!→!
1
𝑛 𝑓 𝑘
𝑛 = lim
!→!
1
𝑛 𝑓 𝑘 𝑛
!
!!!
!!!
!!!
Ainsi, une valeur approchée de l’intégrale est fournie par : 𝑓 𝑥 𝑑𝑥
!
! ≈𝑆!+𝑇! 2 Avec :
𝑆!= 1
𝑛 𝑓 𝑘 𝑛
!!!
!!!
𝑇!=1
𝑛 𝑓 𝑘 𝑛
!
!!!
et n suffisamment grand
b. Exemple
𝐼= 𝑑𝑥
1+𝑥!
!
!
--> n=input('entrez la valeur de n :') entrez la valeur de n :1000
n = 1000.
--> u=(1:n)/n;v=(0:n-1)/n;
--> s=sum(ones(1,n)./(1+u^2))/n;
--> t=sum(ones(1,n)./(1+v^2))/n;
--> disp((s+t)/2, 'valeur approchée de I :') valeur approchée de I :
0.7853981
7 Vérification
--> function [y]=f(x),y=1/(1+x^2),endfunction;intg(0,1,f) ans =
0.7853982