• Aucun résultat trouvé

4 Définition d’une fonction en Scilab

N/A
N/A
Protected

Academic year: 2022

Partager "4 Définition d’une fonction en Scilab"

Copied!
3
0
0

Texte intégral

(1)

Formulaire Scilab

1 Nombres et opérations élémentaires

• Constantes prédéfinies :%pipourπet%epoure.

• Les nombres décimaux se notent avec unpointet non une virgule.

• Fonctions usuelles :

La commandelog(x)calcule ln(x).

La commandeexp(x)calcule ex.

La commandefloor(x)calculebxc, la partie entière dexqui est l’entier notébxcqui vérifie :bxc6x< bxc +1.

La commandeabs(x)calcule|x|, la valeur absolue dex. La commandesqrt(x)calculep

x.

• Opérations arithmétiques : bien penser à utiliser les symboles suivants et à mettre les parenthèses nécessaires.

Addition„ soustraction, multiplication, division :+,-,*,/et puissance :ˆ.

• Opérateurs de comparaisons pour les tests :

Test d’égalité :==(à ne pas confondre avec l’affection d’une variablex=3).

Test de différence :<>.

Tests de comparaison : <,<=,>,>=.

Commandesandetorpour les tests logiques.

2 Structures syntaxiques

2.1 Structure conditionnelle

• Structureif: if .... then end ....

• Structureif else: if .... then

....

else....

end

2.2 Boucles

• Bouclefor:

for i=1:n do ....

end

• Bouclewhile: while .... do end ....

-1-

3 Interaction avec l’utilisateur

• La commandex=input(’message’)écrit le message à l’écran, attends la réponse de l’utilisateur et stocke cette réponse dans la variablex.

• La commandedisp(’message’)écrit le message (entre guillemets) à l’écran.

La commandedisp(u)écrit à l’écran la valeur de la variableu.

4 Définition d’une fonction en Scilab

• Fonction d’une variable réelle : dans les exemples suivants, la variableyest muette et doit contenir le résultat du calcul de la fonction.

Pour définir la fonctionf(x)=x2e−xen Scilab, on procède de la manière suivante.

function y=f(x) y=x^2*exp(-x) endfunction

Pour définir la fonctiong(x)=

(e−x six>0

0 six60en Scilab, on procède de la manière suivante.

function y=g(x) if x>0 then y=exp(-x) else

end y=0 endfunction

• Fonction de deux variables réelles : dans l’exemple suivant, la variablezest muette et doit contenir le résultat du calcul de la fonction.

Pour définir la fonctionh(x,y)=x y2l n(x) en Scilab, on procède de la manière suivante.

function z=h(x,y) z=x*y^2*log(x) endfunction

• Une fois la fonction définie, on l’appelle par son nom pour l’utiliser : Par exemple, la commandef(1)renvoie e−1. 4.1 Graphe d’une fonction d’une variable

• La commandeplot(x,y)ouplot2d(x,y)(avecxetydeux vecteurs de même taille) trace une courbe reliant les points de coordonnée (x,y), ((x,y) parcourant les vecteursxety).

La commandeplot2d(x,y,-0)(avec l’option-0) trace les points de coordonnée (x,y) sans les relier entre eux (pour tracer les termes d’une suite par exemple).

Par exemple, une première méthode pour tracer la courbe de la fonctionf(x)=x2exsur l’intervalle [0; 2] : x=0:.1:2

y=(x.^2).*(exp(-x)) // penser au . pour la multiplication terme à terme plot(x,y) // ou plot2d(x,y)

• La commandeplot(x,f )oufplot2d(x,f )(avecfune fonction définie en Scilab etxun vecteur pour les abscisses) trace le graphe de la fonctionf.

Par exemple, une deuxième méthode pour tracer la courbe de la fonctionf(x)=x2exsur l’intervalle [0; 2] : function y=f(x)

y=x^2*exp(-x) endfunction x=0:.1:2

plot(x,f) // ou fplot2d(x,f) -2-

(2)

4.2 Graphe d’une fonction de deux variables

• La commandefplot3d(x,y,h)(avechune fonction définie en Scilab etxetydeux vecteurs) trace le graphe de la fonction de deux variablesh.

• La commandecontour(x,y,h,a :pas :b)trace les lignes de niveau de la fonctionhcorrespondant aux valeurs du vecteura :pas :b.

Par exemple, la commandecontour(x,y,h,0 :0.1 :1)trace les lignes 11 de niveau de la fonctionhpour les valeurs {0, 0.1, 0.2, . . . , 0.9, 1}.

5 Matrices

5.1 Création de vecteurs et de matrices

• Vecteur ligne : les éléments sont séparés par des espaces ou des virgules.

La commandeL=[1 -2 3.5] ou L=[1, -2, 3.5] crée le vecteur ligne¡

1 −2 3, 5¢

et l’affecte dans la variableL.

• Vecteur colonne : les éléments sont séparés par des points virgules.

La commandeC=[1 ; -2 ; 3.5]crée le vecteur colonne

 1

−2 3, 5

et l’affecte dans la variableC.

• Matrice : les lignes sont séparées par des points virgules.

La commandeA=[1, 0, 1 ; 3, -2, 4 ; 6, 3.5, 7] crée la matrice

1 0 1

3 −2 4 6 3, 5 7

et l’affecte dans la variableA.

• Matrices prédéfinies :

La commandezeros(n,p)renvoie une matrice de taillen×premplie de 0.

La commandezeros(2,3)renvoie la matrice µ0 0 0

0 0 0

La commandeones(n,p)renvoie une matrice de taillen×premplie de 1.

La commandeones(3,3)renvoie la matrice

1 1 1

1 1 1

1 1 1

La commandeeye(n,p)renvoie une matrice de taillen×pavec des 1 sur la "diagonale" et des 0 ailleurs.

La commandeeye(3,4)renvoie la matrice

1 0 0 0

0 1 0 0

0 0 1 0

.

La commandeeye(3,3)renvoieI3

• Création automatiques de vecteurs lignes (utile pour les graphiques) :

La commandea :p :brenvoie un vecteur ligne contenant toutes les valeurs deaàbespacées dep.

La commandex=0 :0.2 :1crée le vecteur¡

0 0.2 0.4 0.6 0.8 1¢

et l’affecte dans la variablex.

La commandea :brenvoie un vecteur ligne contenant toutes les valeurs deaàbespacées de 1.

La commandey=1 :6crée le vecteur¡

1 2 3 4 5 6¢

et l’affecte dans la variabley.

La commandelinspace(a,b,n)renvoie un vecteur ligne contenantnvaleurs équirépartie entreaetb.

La commandez=linspace(0,10,5)crée le vecteur¡

0. 2.5 5. 7.5 10.¢

et l’affecte dans la variablez.

5.2 Opérations sur les matrices

• La commandelength(x)renvoie la taille du vecteurx.

• La commanderank(A)renvoie le rang de la matriceA.

• La commandeinv(A)renvoie l’inverse de la matriceA.

• La commandeA’renvoie la transposée de la matriceA.

• Calculs :

-3-

Une fonction appliquée à une matrice ou un vecteur est effectuée sur tous ses éléments.

La commandex=[1 -2 3]affecte le vecteur ligne¡ 1 −2 3¢

dans la variablex.

La commande3x+1renvoie le vecteur ligne¡

4 −5 10¢ .

Les commandesA+B,A-B,A*B,Aˆ ntraduisent les opérations connues sur les matrices.

Les commandesA.*B,A./B,A.ˆ n(avec le point) sont des opérations composantes par composantes.

SiA= µ0. 1

3 2

¶ etB=

µ2 2 4 4

, la commandeA.*Brenvoie µ0. 2

12 8

• Extraction d’éléments :

La commandeA(i,j)renvoie le coefficientai,j(i-ième ligne etj-ième colonne) de la matriceA.

La commandeA(i, :)renvoie lai-ième ligne de la matriceA.

La commandeA( :,j)renvoie laj-ième colonne de la matriceA.

• Ajout d’éléments :

Sixest un vecteur déjà défini, la commandex=[x, u]rajoute l’élémentuà la fin du vecteurx. Cela permet de construire un vecteur pas à pas (utile pour les suites).

• Réduction d’un matrice :

La commandespec(A)renvoie les valeurs propres deAdans un vecteur colonne.

La commande[P,D]=spec(A)renvoie une matrice diagonaleDcontenant les valeurs propres deAet une matricePcontenant les vecteurs propres associés.

6 Statistiques

6.1 Données statistiques

• La commandelength(x)renvoie la taille du vecteurx.

• La commandemean(x)renvoie la moyenne du vecteurx.

Six=[1 2 3 4],mean(x)renvoie 2.5.

• La commandesum(x)renvoie la somme du vecteurx.

Six=[1 2 3 4],sum(x)renvoie 10.

• La commandecumsum(x)renvoie les sommes cumulées croissantes du vecteurx.

Six=[1 2 3 4],cumsum(x)renvoie[1 3 6 10].

• La commandecumprod(x)renvoie les produits cumulés du vecteurx.

Six=[1 2 3 4],cumprod(x)renvoie[1 2 6 24](utile pour calculer une factorielle).

• Les commandesmin(x)etmax(x)renvoient le minimum et le maximum du vecteurx.

• La commandecorr(x,y,1): renvoie la covariance des séries statistiquesxety.

• La commandecorr(x,x,1): renvoie la variance de la série statistiquex.

6.2 Diagrammes et histogrammes

• La commandebar(x,y)(avecxetydeux vecteurs) trace un diagramme en bâtons avecxen abscisses etyen ordonnées.

• La commandehistplot(x,y)(avecxetydeux vecteurs) dessine un histogramme des données contenues dans le vecteuryen utilisant les classesx.

La commandehistplot(n,y)(avecnun entier etyun vecteur) dessine un histogramme des données contenues dans le vecteuryennclasses équiréparties.

La commandehistplotpeut être utilisée en probabilité pour "reconnaitre" des lois de variables aléatoires connues (discrètes ou à densité)

-4-

(3)

7 Probabilités

7.1 Simulation de lois uniformes continue et discrète

• La commanderand()simule une variable aléatoire suivant la loi uniforme sur [0; 1].

Ainsi, l’appel à la fonctionrand()renvoie un nombre aléatoire entre 0 et 1.

• La commanderand(n,m)renvoie une matricen×mdont chaque terme est un nombre aléatoire entre 0 et 1.

• La commandefloor(n*rand())simule la loi uniforme surJ0;n−1K. La commandefloor(n*rand())+1simule la loi uniforme surJ1;nK. 7.2 Simulation d’une probabilité égale àp

• Les instructions suivantes permettent de simuler des évènements de probabilitép(et 1−p).

if rand()<p then

.... // réalisé avec probabilité p else.... // réalisé avec probabilité 1-p end

• La commanderand()simule une variable aléatoire suivant la loi uniforme sur [0; 1].

Ainsi, l’appel à la fonctionrand()renvoie un nombre aléatoire entre 0 et 1.

• La commanderand(n,m)renvoie une matricen×mdont chaque terme est un nombre aléatoire entre 0 et 1.

• La commandefloor(n*rand())simule la loi uniforme surJ0;n−1K. La commandefloor(n*rand())+1simule la loi uniforme surJ1;nK. 7.3 Simulation de variables usuelles

• La fonctiongrand(n, m, "nom", parametres)renvoie une matrice de taillen×mde réels représentant des simu- lations de la loi usuelle précisée dans les paramètres. Les paramètres de lois possibles sont :

La fonctiongrand(n, m, "unf", a, b)renvoie une matrice de taillen×mde réels représentant des simulations de la loi uniforme sur l’intervalle réel [a;b[.

La fonctiongrand(n, m, "uin", a, b)renvoie une matrice de taillen×mde réels représentant des simulations de la loi uniforme sur l’intervalle d’entiers [a;b].

La fonctiongrand(n, m, "bin", N, p)renvoie une matrice de taillen×mde réels représentant des simulations de la loi binomiale de paramètresNetp.

La fonctiongrand(n, m, "geom", p)renvoie une matrice de taillen×mde réels représentant des simulations de la loi géométrique de paramètresp.

La fonctiongrand(n, m, "poi",mu)renvoie une matrice de taillen×mde réels représentant des simulations de la loi de Poisson de paramètresmu.

La fonctiongrand(n, m, "exp",1

λ)renvoie une matrice de taillen×mde réels représentant des simulations de la loi exponentielle de paramètresλ.Attention au paramètre : il s’agit de l’espérance de la loi.

La fonctiongrand(n, m, "nor",µ,σ)renvoie une matrice de taillen×mde réels représentant des simulations de la loi normale de paramètresµetσ2.

La fonctiongrand(n, "markov", A’, X0)renvoienétats successifs de la chaine de Markov de matrice de tran- sitionAet d’état initialX0.

-5-

8 Fonction de répartition de la loi normale

On noteΦm,s2la fonction de répartition de la loi normaleN(m,s2) etΦla fonction de répartition de la loi normale centrée réduite.

• La commande Scilabcdfnor("PQ",x,m,s)renvoie la valeur de la fonction de répartition de la variable aléatoire X,→N(m,s2) calculée au pointx, à savoirΦm,s2(x).

cdfnor("PQ",0,0,1)renvoieΦ(0)=0.5 etcdfnor("PQ",1,0,1)renvoieΦ(1)≈0.8413.

cdfnor("PQ",3,2,1)renvoie 0.8413 (pourquoi ?).

• La commande Scilabcdfnor("X",m,s,p,q)renvoie l’antécédent parΦm,s2dep, à savoir l’unique valeur dexpour laquelleΦm,s2(x)=p.

cdfnor("X",0,1,0.975,0.025)renvoie≈1.96.Résultat utile pour l’obtention d’intervalles de confiance.

-6-

Références

Documents relatifs

[r]

Comme elle est minorée par a, elle converge vers un réel x.. Par unicité de la limite, on en déduit que x est un point fixe

Le rang de M est égal au rang d’une matrice échelonnée comportant

Un psychanalyste est un professionnel [1] , généralement et de plus en plus, un psychiatre ou un psychologue qui a lui-même été en cure psychanalytique puis qui a été agréé

(Indication : par exemple, en utilisant les formules de Cramer) Tourner la

Dans cet exercice, on considère le rectangle ABCD ci-contre tel que son périmètre soit égal à 31cm. Si un tel rectangle à pour longueur 10 cm, quel est sa largeur ? b. On appelle

Soient f et g deux fonctions définies et dérivables sur un intervalle I, et telles que leurs dérivées f ′ et g′ soient continues sur I... Primitive définie par

On reprend la définition de la fonction d’une variable aléatoire à densité donnée dans le chapitre précédent. X est une variable aléatoire qui suit la loi uniforme sur [a ; b].