Bonsoir,
J'aurais besoin de simplifier mon code pour gagner en temps d'exécution, mais je ne sais pas si la méthode que j'ai choisi est la bonne.
Voici la partie de code que j'ai a simplifier:
Je pensais utiliser la fonction suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 for y=1:yOrdinateMax for x=1:xAbscissaMax %perform the rotation by using the Rotation array ReslutMatrix=([a0 a1; b0 b1])*([x;y])+([a2;b2]); NewAbscissaX=ceil(ReslutMatrix(1)); NewOrdinateY=ceil(ReslutMatrix(2)); %Define the smallest Y and the Smallest X if ((NewAbscissaX<SmallestAbscissaX)&&(NewOrdinateY<SmallestOrdinateY)) SmallestAbscissaX=NewAbscissaX; elseif ((NewAbscissaX<SmallestAbscissaX)) SmallestAbscissaX=NewAbscissaX; elseif ((NewOrdinateY<SmallestOrdinateY)) SmallestOrdinateY=NewOrdinateY; end end end
Et utiliser la fonction min pour trouver le smallest Ordinate Y et X.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 y=1:yOrdinateMax; x=1:xAbscissaMax; ReslutMatrix=([a0 a1; b0 b1]).*([x;y])+([a2;b2]);
Mais déja la première partie ne fonctionne.
Voici le message d'erreur que j'obtiens:
Merci beaucoup pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. Error in ==> RotateImage12 at 44 ReslutMatrix=([a0 a1; b0 b1])*([x;y]);%+([a2;b2]);
Thomas
Partager