Bonjour à tous, j'ai grand besoin de votre aide.
Je cherche à programmer l'évolution d'un tas de sable en 2D selon la méthode de Bak, et mon interface graphique se fait sous Matlab.
Si mon programme sous C avance bien, j'ai plusieurs problèmes avec Matlab, que je connais très mal (je ne sais même pas si ce que je souhaite est faisable...).
1] Partant d'un tableau N*N dont chaque case a une valeur comprise entre 0 et une certaine valeur (dans mon problème c'est 5) je souhaite convertir cette valeur en un affichage sous forme de gros points à l'intérieur des cellules de mon tableau de départ.
Plus explicitement, comme ceci:
je pars du tableau 2*2 avec une valeur maximale de 4:
et je voudrais quelque chose proche de ce qu'il y a sur ce montage (avec un quadrillage similaire):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 >> A=[1,2;3,4] A = 1 2 3 4
NB: dans mon cas, je peux avoir jusqu'à 5 points, et le 5ème se mettrait au centre de la case, comme sur un dé.
2] En réalité, ce tableau n'est pas tel quel dans mon fichier matlab, je dois aller le chercher dans un certain fichier de sortie crée lorsque mon programme C tournera. D'où ces deux questions:
2.1) (Question de C)
Comment créer, sous C, un fichier (.txt?) qui contiendra à chaque étape de l'exécution de mon programme (j'ai des boucles en veux-tu en voilà) mes tableaux modifiés?
Quelle est en somme la commande pour créer un fichier de sortie et y copier un tableau sous la forme d'affichage que j'ai préalablement imposée, ie. celle-ci?
Il y a deux possibilités que j'aimerais avoir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for (i=0; i<N; i++) {printf ("\n"); for (j=0; j<N; j++) printf("%6d", tab[i][j]);} printf("\n");
- copier les tableaux à la suite (ça fait un gros stockage...)
- copier un tableau puis l'écraser par le suivant calculé lorsque l'action 2.2) a été effectuée (ce qui constituerait évidemment la solution optimale!).
2.2) Comment procéder pour que matlab aille rechercher un tableau dans le susdit fichier et effectue 1] tout de suite après:
- si je n'ai qu'un tableau dedans (optimum donc)?
- si je les ai tous mis (exemple si je veux le deuxième ci-dessous)?
Je présume que dans ce dernier cas il suffit de faire un saut de N+1 lignes (N=taille du tableau et +1 pour le saut de ligne entre chaque) et de prendre les N lignes suivantes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 1 2 3 4 2 2 3 4
Merci (au moins mille fois) d'avance!
Partager