Bonjour,

je suis entrain de développer un algorithme sous matlab , je voudrais savoir comment on stocke des résultats dans un fichier txt en les rajoutant sur les anciens sans les écraser , sachant que mon code me stocke que le derniers résultats obtenus..., en fait mon code utilise plusieurs fichiers et pour chaque fichier j'ai un résultat associé ...

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
39
40
41
42
 
function [cfg]=t2fit_nnlsB(dirpath)
close all;
sampleName=sName(dirpath);
Idata=load(dirpath);
[sampleName, remain] = strtok(sampleName, '.');
dirpath='F:\PTF\Bonduelle\Traitement\France_14\';
dirname=[dirpath, sampleName];
mkdir(dirname);
cd(dirname);
te =Idata(:,2);
y_e=Idata(:,3);
 
figure(1),clf;
%plot(te, y_e, 'x');
semilogx(te, y_e, 'x');
title(['T2 multiexp_', sampleName ]);
xlabel('TE (ms)');
ylabel('Signal');
 
% Setup the kernel
t2 = te';
A = exp( - kron(te, 1./ t2) );
% Add a baseline component
A = [A ones(size(A,1), 1)];
%x0=[7, 30, 150];
[x,RESNORM,RESIDUAL,EXITFLAG,OUTPUT,LAMBDA] = lsqnonneg(A, y_e);
baseline = x(end);
amplitudes = x(1:end-1);
 
% amplit=nonzeros(amplitudes);
[amplit, indices]=findpeaks(amplitudes);
pop=amplit./sum(amplit); 
t2values=te(1)*indices;
results=[t2values pop]
 
 
fid = fopen('resultat.txt','w'); 
save ('resultat.txt' , 'results','-ascii'); 
fclose(fid);
 
end