bonjour a tous,
je suis doctorant et j'utilise matlab pour résoudre des équation de transfères de masse grâce a la loi de fick.
mon problème vient du fait que je réalise du calcul itératif qui stock mes vecteur (champs de température (100 noeud) ou champ de concentration (idem)) dans une matrice de sauvegarde à chaque pas de temps. celle-ci sert a afficher mes résultats en fin de calcul.
le problème ce situe dans le fait que mes matrices de stockage de données sont très volumineuse et ralentisse mon calcul (temps de calcul quasi exponentiel avec le temps de simulation).
je cherche donc a sauvegardé mes matrices de donnée vers un fichier externe types .txt par exemple. pour remplir ce fichier texte tout les "n" nombre de cycle et vidangé mes matrices de sauvegarde.
l'objectif étant a la fin du calcul de pouvoir rechargé ces fichier contenant la concaténation cyclique de mes matrice de données.
mon problème c'est que avec fpintf j'arrive a stocker les donnée mais je perds l'information matriciel (plus de différenciation ligne/colonne). mes donnée sont donc inutilisable.
avec save pas réussi a concaténé dans le fichier .mat les données de la matrice lors des sauvegarde successive.
voici un morceau de mon code de sauvegarde externe qui est au cœur de ma boucle temporelle qui réalise le calcul de simulation.
CODE :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if mod(i,100)==0 disp(sprintf('Temps de simulation : %8.2f s',t(i+1))) toc fid = fopen('Ts.txt','a+'); fprintf(fid,'%12.8e %12.8e\n',Ts); fclose('all'); Ts=[]; end
Partager