Syntaxe Matlab Description clear a Efface les données a. pi Nombre

publicité
Syntaxe Matlab
clear a
pi
cos(a) sin(a) tan(a)
acos(a) asin(a) atan(a)
log(a) log10(a) log2(a)
exp(a) sqrt(a)
format long
format short
char=’blabla’
char(i:j)
char=num2str(n,k)
Description
E↵ace les données a.
Nombre pi
Cosinus, Sinus, Tangente. Argument en radians.
Arcosinus, Arcsinus, Arctangente. Retourne une valeur en en radians.
Logarithme népérien (”ln”), logarithme de base 10, logarithme de base 2.
Fonction exponentielle, racine carrée
Pour afficher un plus grand nombre de chi↵res au terminal.
Pour revenir au format par défaut (moins de chi↵res affichés).
Définit une chaı̂ne de caractères.
Sélectionne les caractères i à j (blancs compris)
Converti le nombre n en caractères, en prenant k chi↵res (+ la virgule) et
en arrondissant le nombre ; Défaut : 7 chi↵res
strcat(char1,char2,...) Met bout à bout les chaı̂nes de caractères char1, char2, etc.
disp([char1,char2,...]) Affiche au terminal un message composé des ch. de car. char1, char2, etc.
a=input(char)
Pour communiquer avec l’utilisateur. char est une ch. de car. et a prend la
valeur tapée au terminal (nombre, matrice, ch. de car., ...).
function y=g(x1,x2,...) Crée une fonction g dont les variables sont x1, x2, etc. Dans cet exemple, y
y=zeros(2,1);
est un vecteur à 2 composantes, mais toutes les configurations sont possibles.
y(1)=...
Ce bloc de code doit être séparé du reste du programme principal et on
y(2)=...
l’enregistre sous le nom de la fonction (ici, ça sera donc ”g.m”).
end
Pour faire appel à la fonction dans le programme principal, on écrit g(...)
fun=@g
g est définie comme dans le cadre ci-dessus.
x=fzero(fun,x0)
Calcule les racines de la fonction g autour du point/de l’intervalle x0.
g=@(x1,x2,...) [...]
Crée une fonction g dont les variables sont x1, x2, etc. L’expression de la
fonction s’écrit souvent entre crochets (+ cfr notations matricielles) et elle
peut faire partie du programme principal. ATTENTION : Ce type de
code est moins général que le précédent. Ne pas utiliser pour la résolution
d’EDO, entre autres.
x=fzero(g,x0)
Calcule les racines de la fonction g autour du point/de l’intervalle x0. g est
définie comme dans le cadre ci-dessus.
zeros(n,m) eye(n,n)
Matrice nulle n lignes et m colonnes - Matrice identité nxn.
v=[10 9 8 7 6 5 4 3]
Définit un vecteur v de 1 ligne et 8 colonnes.
v(7)=43
Donne la valeur 43 à la 7ème composante.
[xmax,I]=max(x)
xmax est le maximum du vecteur x et I donne l’indice de ce max dans x.
[xmin,I]=min(x)
xmin est le minimum du vecteur x et I donne l’indice de ce min dans x.
A=[10 9 8 7 ; 5 4 3 2]
Définit une matrice A de 2 lignes et 4 colonnes.
A(2,3)=43
Donne la valeur 43 à l’élément (2,3) de la matrice A.
A(:,2) A(1,:)
Deuxième colonne de A - Première ligne de A.
B.^2
Met toutes les composantes de B au carré.
B+C B-C
Addition/Soustraction pour deux matrices de même taille.
B.*C B./C
Multiplication/Division, terme à terme, pour deux matrices de même taille.
B’
Transpose B.
B*D
Multiplication matricielle (sous conditions).
det(B)
Déterminant de la matrice B (sous conditions).
inv(B) B^-1
Inverse de la matrice B (sous conditions). Deux notations possibles.
size(B)
Taille de B.
Soit le système linéaire non-homogène écrit sous forme matricielle : Ax = b.
y=null(A)
Base du syst. homogène (chaque colonne de y contient un vecteur de base).
yp=pinv(A)*b
Solution particulière du système linéaire non-homogène.
A\b inv(A)*b pinv(A)*b
Façon de faire quand on s’attend à une solution unique. Trois choix possibles.
[V,D]=eig(A)
Les vecteurs propres de A sont dans les colonnes de V, et D est la matrice
diagonale avec les valeurs propres de A.
2
Résolution du système d’EDO dont les équations se
trouvent dans le fichier ”fun.m”. Ce fichier doit commencer par l’instruction function (cfr ci-dessus pour
plus de détails). Le système doit être du premier ordre
et sous forme réduite et le fichier ”fun.m” contient l’expression des dérivées premières. La solution est calculée
sur l’intervalle [t1 t2] (avec intervalle irrégulier, adaptatif, calculé automatiquement par matlab) et les conditions initiales (i.e. en t1) sont [C1 C2 ...]. Le graphe
de la solution du système s’affiche automatiquement.
Idem excepté que le graphe ne s’affiche pas automatiquement. La solution est stockée dans t, valeurs dans
l’intervalle [t1 t2] pour lesquelles la solution y est calculée, et y. t est un vecteur et y une matrice dont le
nombre de colonnes est égal à la dimension du système.
Chaque colonne de y donne la solution d’une équation
du système.
ode45(@fun,[t1 t2],[C1 C2 ...])
[t,y]=ode45(@fun,[t1 t2],[C1 C2 ...])
Graphe d’une fonction à une variable : Exemple
f=@(x) x.^2-2.*x+3;
x=-10:0.01:10;
Intervalle sur lequel on va évaluer f et pas de temps.
plot(x,f(x),’b’,3,f(3),’r*’)
Première courbe tracée en bleu (’b’), trait continu (défaut),
et point (3,f(3)) en rouge (’r’), avec motif *.
text(3,f(3)+3,’mypoint’)
Affiche le texte ’mypoint’ sur le graphe au point de coordonnées (3,f(3)+3).
grid on
Ajoute une grille. Défaut : grid off.
axis([1 5 0 20])
Change les bornes des axes. xmin=1 xmax=5 ymin=0
ymax=20.
title(’f(x)’)
Donne un titre au graphe.
Graphe des solutions d’une EDO : Exemple
[t,x]=ode45(@ex9,[0 30],[10 10]);
figure(9)
hold on
plot(t,x(:,1),’g-o’)
plot(t,x(:,2),’c--^’)
xlabel(’temps (h)’)
ylabel(’masse (g)’)
legend(’Subst. 1’,’Subst. 2’)
Numérote la figure (à faire quand plusieurs figures à la suite).
Pour superposer plusieurs plot dans la même figure.
’b-o’ signifie : vert, ligne continue et cercles aux points de t.
’c--^’ signifie : cyan, ligne en pointillés et triangles.
Nomme l’axe X.
Nomme l’axe Y.
Légende (dans l’ordre d’apparition des courbes dans le code).
Graphes d’une fonction à deux variables : Exemple
[X,Y]=meshgrid(-pi:0.05:pi);
Définit le domaine sur lequel on trace la fonction.
Z=sin(X.^2+Y.^2);
Définit la fonction de 2 variables.
figure(1)
surfc(X,Y,Z)
Graphe de la surface, dans un repère (X,Y,Z) et courbes de
niveau dans le plan (X,Y).
xlabel(’x’)
Nomme l’axe X. On peut faire de même pour Y et Z.
colormap hsv
Choix du dégradé de couleur (autres : winter, hot, ...).
shading interp
Pour ”lisser” le dégradé de couleur de la surface.
figure(2)
contour(X,Y,Z,20)
Courbes de niveaux, dans le plan (X,Y). 20 niveaux.
xlabel(’x’)
xlabel(’y’)
cbar handle=colorbar;
Barre de couleur pour le niveau des contours et valeurs enregistrées dans cbar handle.
set(get(cbar handle,’ylabel’),’string’,’z=f(x,y)’) Nomme la barre de couleur ’z=f(x,y)’.
ylabel pour un affichage vertical.
3
Téléchargement