Appending vectors in a loop

조회 수: 6 (최근 30일)
T
T 2013년 8월 17일
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
Azzi Abdelmalek
Azzi Abdelmalek 2013년 8월 17일
What are you expecting as result, you can make your example shorter
T
T 2013년 8월 18일
편집: T 2013년 8월 18일
I am expecting:
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]
[-1] [ 0 ]
and I want to be able to retrieve the second column in Data1 with each corresponding value in column 1 of Data2.

댓글을 달려면 로그인하십시오.

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 8월 17일
편집: Azzi Abdelmalek 2013년 8월 17일
out=Data2(ismember(cell2mat(Data2(:,1)),Data1),:)
% to change values of Data1 from -1 to 0
Data1(Data1==-1)=0
  댓글 수: 8
Azzi Abdelmalek
Azzi Abdelmalek 2013년 8월 19일
find(ismember([a{:}],[Data1{:}]))
T
T 2013년 8월 19일
편집: T 2013년 8월 19일
find(ismember([a{:}],[Data1{:}])==1) is what I needed, thanks.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Andrei Bobrov
Andrei Bobrov 2013년 8월 18일
편집: Andrei Bobrov 2013년 8월 18일
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);
  댓글 수: 2
T
T 2013년 8월 18일
Where did you take into account -1?
Andrei Bobrov
Andrei Bobrov 2013년 8월 19일
in out = Data1*[1 0];

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by