Appending vectors in a loop
Ältere Kommentare anzeigen
Data1 =
4
5
6
7
8
9
10
11
12
-1
4
5
6
7
8
9
10
11
12
-1
4
5
6
7
8
9
10
11
12
-1
4
5
6
7
8
9
10
11
12
-1
Data2= Columns 1 through 2
[ 4] [0.0119]
[ 5] [0.0119]
[ 6] [0.0143]
[ 7] [0.0143]
[ 8] [0.0187]
[ 9] [0.0256]
[10] [0.0273]
[11] [0.0119]
[12] [0.0143]
I want to be able to take in values from data2 for column 2 using the corresponding values in column 1 and data1 . I would use the following command:
find(ismember(cell2mat(data2),data1)==1);
The problem, if you look closely at the first set, is that there is a -1. I need to force it’s value to be zero. Thus I would have to append the vector.
If the command about is within a loop, how do I append data2 without prompting an error?
2 Kommentare
Azzi Abdelmalek
am 17 Aug. 2013
What are you expecting as result, you can make your example shorter
Akzeptierte Antwort
Weitere Antworten (1)
Andrei Bobrov
am 18 Aug. 2013
Bearbeitet: Andrei Bobrov
am 18 Aug. 2013
Data2 = [...
4 0.0119
5 0.0119
6 0.0143
7 0.0143
8 0.0187
9 0.0256
10 0.0273
11 0.0119
12 0.0143]
out = Data1*[1 0];
[l,ii] = ismember(Data1,Data2(:,1));
out(l,2) = Data2(ii(l),2);
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!