J'ai pas réussi à transformer l'algorithme suivant en MATLAB. En effet je trouve des difficultés en ce qui concerne l'initiation de deux points M et M'.
L'algorithme suivant teste si la courbe représentée est une droite ou non.

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
M(x,y) and M'(x',y')      %sont les deux premiers points de S
a=y',b=1,µ=0
U=L=(0,0)
U'=l'=(1,y')
SEGMENT= vraie
tant que S n'est pas complètement parcouru et SEGMENT faire
   M(x,y)= point suivant dans S
   r=ax-by
   si r<µ-1 or r>µ+b alors
     SEGMENT=faux
   sinon
     si r=µ-1 or r=µ+b alors
	   si r=µ-1 alors
	     L=L'
		 U'=M
		 a=y-y(U)
		 b=x-x(U)
		 µ=ax-by
	   fin du si
	   si r=µ+b alors
	     U=U'
		 L'=M
		 a=y-y(L)
		 b=x-x(L)
		 µ=ax-by
	   fin du si
	 sinon
	   si r=µ alors
	     U'=M
	   sinon si r=µ+b-1 alors
	     L'=M
	   fin si
	 fin si
 
   fin si
 
 fin tant que

En effet, j'ai essayé de translater quelques lignes en MATLAB

1) if SEGMENT== true
2) if (r<µ-1)||(r>µ+b)
3) if r==µ-1
4) end
5) µ=a*x-b*y
6) else if r==µ+b-1

Merci