Bonjour,
j'ai un code qui me génère des matrice de 980*980*701 lorsque j'utilise les paramètres dont j'ai besoin pour mes calculs.
Ce code à pour but la génération d'un fichier bien particulier dans lequel le contenu de ma matrice I_moy doit se retrouver en colonne, le problème c'est que quand je converti cette matrice en un vecteur la taille de ce vecteur fait que je me retrouve en OUT OF MEMORY
ma question est donc : avez vous une idée de comment je pourrais écrire ma matrice sous la forme d'une colonne dans mon fichier autrement que par un fprintf dans ma boucle solution qui prend un temps fou et autrement que par l'enregistrement des valeur dans un vecteur qui lorsque j'ai de grosses matrice 3D comme ça fait que je suis out of memory ?
Merci d'avance pour vos réponses.
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 % break; 'ok 2' I_moy=zeros(Nx_max,Ny_max,Nz_max); 'ok 3' T=0; for Nz=1:Nz_max for Ny=1:Ny_max for Nx=1:Nx_max if Cell(Nx,Ny,Nz)~=0 I_moy(Nx,Ny,Nz)=I_cell(Nx,Ny,Nz)/Cell(Nx,Ny,Nz); end % fprintf(file_retropro_3D,'%i\n',I_moy(Nx,Ny,Nz)); T=T+1; Imoyrec(T)=I_moy(Nx,Ny,Nz); end end end Imoyrec=Imoyrec'; fprintf(file_retropro_3D,'%d\n',Imoyrec.'); fclose(file_retropro_3D); 'ok 4' sound(yi,Fe);
NB : je ne mets pas mon code entier sur le net mais seulement la partie ou il y a la "transformation" de la matrice en vecteur par soucis de confidentialité
Loïc
Partager