How to subtract vectors with different number of entries?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I have two data files with two lines of data each.
EX:
Data Set 1:
1970 254.5
1980 264.5
1990 234.5
2000 234.7
Data Set 2:
1970 234.5
1980 234.6
2000 456.7
2010 234.7
I have to subtract Column 2 of data set one from Column 2 of data set 2. But in order to to this the first columns must match up. How can I write a code where it skips the entries where the entries in column one don't match up.
1 Kommentar
Akzeptierte Antwort
Sean de Wolski
am 28 Feb. 2013
D1 = [
1970 254.5
1980 264.5
1990 234.5
2000 234.7 ];
D2 = [
1970 234.5
1980 234.6
2000 456.7
2010 234.7];
%Where do they intersect?
[~,ia,ib] = intersect(D1(:,1),D2(:,1));
%Subtract intersecting parts:
dD = D1(ia,2) - D2(ib,2)
Weitere Antworten (2)
Azzi Abdelmalek
am 28 Feb. 2013
a=[1970 254.5
1980 264.5
1990 234.5
2000 234.7]
b=[1970 234.5
1980 234.6
2000 456.7
2010 234.7]
idx=find(a(:,1)-b(:,1)==0)
c=b(:,2)
c(idx)=b(idx,2)-a(idx,2)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Cell Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!