0
|
1 function [merged_x_tr_mz4file,pmille_coupe]=mz_8_merge_list_x_tr_mz4(list_eic4_files)
|
|
2
|
|
3 //list_x_tr_mz4: une liste de divs x_tr_mz4 => .d =même nbre de m/z et .i=TR , pas le même nombre
|
|
4 //mz4_stats: un div => .i = les m/z et .v = 5 variables: mz 1=min 2=max 3=moyen 4=moyen-2ET 5=moyen+2ET
|
|
5
|
|
6
|
|
7 // calcul du nbre de TR minimum et maximum
|
|
8 n_files=size(list_eic4_files);
|
|
9
|
|
10 nbr_tr_min=max(size(list_eic4_files(1).i));
|
|
11 nbr_tr_max=nbr_tr_min;
|
|
12
|
|
13 for i=2:n_files;
|
|
14 nbr_temp=max(size(list_eic4_files(i).i));
|
|
15 if nbr_temp < nbr_tr_min then
|
|
16 nbr_tr_min=nbr_temp;
|
|
17 end
|
|
18 if nbr_temp > nbr_tr_max then
|
|
19 nbr_tr_max=nbr_temp;
|
|
20 end
|
|
21 end
|
|
22
|
|
23 // somme des répétitions
|
|
24 merged_x_tr_mz4file.v=list_eic4_files(1).v;
|
|
25 temp_i=list_eic4_files(1).i;
|
|
26 merged_x_tr_mz4file.i=temp_i(1:nbr_tr_min); // on coupe à n_tr_min
|
|
27
|
|
28 temp_d=list_eic4_files(1).d;
|
|
29 merged_x_tr_mz4file.d=temp_d(1:nbr_tr_min,:);
|
|
30 for i=2:n_files;
|
|
31 temp_d=list_eic4_files(i).d;
|
|
32 merged_x_tr_mz4file.d=merged_x_tr_mz4file.d + temp_d(1:nbr_tr_min,:);
|
|
33 end
|
|
34
|
|
35 // sortie
|
|
36 merged_x_tr_mz4file=div(merged_x_tr_mz4file);
|
|
37
|
|
38
|
|
39 pmille_coupe=1000*(nbr_tr_max-nbr_tr_min)/nbr_tr_min;
|
|
40
|
|
41
|
|
42
|
|
43 endfunction
|