La boucle classique (répétition d'un nombre fixé d'itérations) s'écrit sous Matlab:
>>X=rand(1,5);
>>S=0; for i=1:length(X), S=S+X(i)^2, end; calcul de
La notion classique de boucle (répétition d'un nombre fixé d'itérations) a été généralisé sous Matlab pour l'appliquer à des compteurs à base de vecteurs ou matrices, avec la syntaxe suivante:
>>S=0; for K=X, S=S+K^2, end;
Dans beaucoup de cas, on peut éviter l'écriture de ces boucles explicites en utilisant des boucles implicites sur les indices. L'exemple précédent s'écrit alors:
>>S=X(1:5)*X(1:5)';
ou encore plus simplement:
>>S=X*X';
A=rand(5,5); X=rand(5,1); B=rand(5,1); R=zeros(5,1); for i=2:4 R(i)=B(i) for j=1:5 R(i)=R(i)-A(i,j)*X(j) end end
que l'on peut écrire avec un style matriciel:
>> for i=2:4, R(i)=B(i)-A(i,1:5)*X(1:5), end;
ou encore sans aucune boucle:
>>R(2:4)=B(2:4)-A(2:4,1:5)*X(1:5);
la syntaxe est la suivante:
Les opérateurs logiques sont notés pour le “et logique”, pour le “ou logique” et pour la “négation”.
Les opérateurs relationnels utilisent les notations classiques: ,,, , les opérateurs d'égalité et de différence sont notées et .
Il existe des fonctions logiques pour des tests sur les composantes de matrices:
Cette instruction sert à comparer la valeur d'une variable par rapport à plusieurs valeurs.
>> switch num, case 1, A^2; case 2,A.^2; case -1, inv(A); otherwise, disp('Erreur'); end
cette instruction calcule différentes expressions suivant la valeur de la variable num.
Cette boucle permet l'exécution d'une instruction tant qu'une condition est réalisée (i.e. à une valeur non nulle)
>>n=1; while prod(1:n)<1.0e100, n=n+1, end;
On peut aussi utiliser les mots clés suivants