Align different starting point to zero
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Jaehwi Bong
il 4 Giu 2019
Commentato: Jaehwi Bong
il 4 Giu 2019
I have a matrix , 7096*3 double.
At a first column, numbers represent same particles with different number. I have 168 particles and each of them has different starting time points(second column) with intensity value(third column). In the case of 40th particles, it starts from 2.1960 (see, the matrix, 40 from first column and 2.196 from second column).
I'd like to align those data to zero as the starting point. I need to find inital value or minimum value of time column of each particle and substract them. And make new matrix, probably. How can I do for that?
40 2.196 51950
40 3.294 51728
40 4.392 50899
40 5.490 50869
40 6.588 51741
-> What I want to do is
40 0 51950
40 1.098 51728
40 2.196 50899
40 3.294 50869
40 4.392 51741
number=unique(B(:,1));
tn=length(unique(B(:,1)));
for k=1:tn
B(B(:,1)==number(k),2)-min(B(B(:,1)==number(k),2));
end
0 Commenti
Risposta accettata
Sayyed Ahmad
il 4 Giu 2019
try with find and index
for i=1:tn
ind=find(B(:,1)==number(i))
y=min(B(ind,2));
B(ind,2)=b(ind,2)-y;
end
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!