Appending vectors in a loop
Mostra commenti meno recenti
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 Commenti
Azzi Abdelmalek
il 17 Ago 2013
What are you expecting as result, you can make your example shorter
Risposta accettata
Più risposte (1)
Andrei Bobrov
il 18 Ago 2013
Modificato: Andrei Bobrov
il 18 Ago 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);
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!