Bonjour à tous,
Pour un cours de Matlab, je dois dessiner l'ensemble de mandelbrot avec matlab, faire des zoom etc etc ...
Pour ceux qui ne connaissent pas, on doit juste calculer le nombre d'itérations d'une suite bien précise pour faire en sorte que celle ci diverge sur un espace complexe. Le principe est ensuite de stocker le nombre d'itérations nécessaires pour chaque point de l'espace complexe utilisé. J'utilise ensuite les fonction imagesc() et colormap() pour afficher mon résultat, la couleur de chaque point étant fonction du nombre d'itérations.
Mon problème intervient au moment de l'utilisation de colormap. Dans la dernière version de mon programme j'ai besoin d'avoir 1000 couleurs dans mon colormap et la ca coince. Tant que l'argumet de mon colormap est faible, il n'y a pas de problème, arrivé 450-480 on commence à voir un bug dans le colorbar et à 500 c'est n'importe quoi pour devenir tout noir à 1000 et plus. Voici deux capture d'écrans pour montrer ce que cela donne :
colormap(480)
http://imageshack.us/f/545/mandel490.jpg/
colormap(500)
http://imageshack.us/f/267/mandel500.jpg/
Voici mon morceau de code pour l'affichage, w étant la matrice contenant le nombre d'itérations pour chaque point.
Mon prof ne comprenant pas d'où venait l'erreur après avoir vérifié les valeurs des différentes matrices en a déduit un conflit avec ma carte graphique. J'ai donc essayé sur un autre pc ayant la même version de matlab (R2011b), le même problème apparait donc à priori ça vient juste de matlab. Et lorsque je sauvegarde mon image en .jpg et que je vais vérifier la tête de mon truc, c'est parfait : les couleurs sont bonnes et l’échelle de couleur n'est pas "subdivisée". Dernière chose, sous octave je n'ai pas ce problème mais le calcul est plus long.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 %Dessin de la fractal imagesc(x,y,w); axis square; cmap = [hot(490); 0 0 0]; colormap(cmap)
Est ce que quelqu'un a une idée pour résoudre ce problème ?
Si vous avez besoin de voir mon code complet, dites le moi. Je ne l'ai pas affiché car j'ai pu voir à différentes places sur internet en faisant des recherches pour mon problème des gens ayant copié littéralement le sujet que j'ai pour mon tp en demandant qu'on leur fasse, donc pas trop envie qu'on me le pompe.
Merci de votre aide.
Vincent
Partager