Défi : créer une fonction qui, pour un vecteur donné, renvoie ce même vecteur, dans l'ordre inverse et dont chaque valeur est multipliée par 2.
Contrainte : la fonction doit être opérationnelle pour un vecteur colonne comme pour un vecteur ligne.
------------------------------------------------------
La recherche dans la documentation MATLAB avec le mot-clé flip nous donne :
>> lookfor flip
FLIPDIM Flip matrix along specified dimension.
FLIPLR Flip matrix in left/right direction.
FLIPUD Flip matrix in up/down direction.
FLIPDIM Flip matrix along specified dimension.
FLIPLR Flip matrix in left/right direction.
FLIPUD Flip matrix in up/down direction.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function V=test(V) if size(V,1)==1 % Vecteur ligne type V=[1 2 3] V = 2*fliplr(V); % ou % V = 2*flipdim(V,1); else % Vecteur colonne type V=[1;2;3] V = 2*flipud(V); % ou % V = 2*flipdim(V,2); end |
>> V=[1 2 3]
V =
1 2 3
>> W=test(V)
W =
6 4 2
>> V=[1;2;3]
V =
1
2
3
>> W=test(V)
W =
6
4
2
V =
1 2 3
>> W=test(V)
W =
6 4 2
>> V=[1;2;3]
V =
1
2
3
>> W=test(V)
W =
6
4
2
Indice : solution en une ligne (déclaration de la fonction mise à part) :
Code : | Sélectionner tout |
1 2 3 | function W=test(V) < Votre solution > |
Vous pouvez mettre vos solutions à la suite de ce message