Sort vector A according to vector B
8 次查看(过去 30 天)
显示 更早的评论
I have two 14x1 vectors A and B. i am trying to sort A to match with B.
A = [0.9; 0.2; 0.4; 0.2; 0.3; 0.4; 0.7; 0.4; 0.1; 0.8; 0; 0; 0; 0];
B = [0; 0; 1; 1; 1; 1; 0; 0; 0; 0; 0; 0; 0; 0];
I am trying to make it so the 0's in A match with the 1's in B with a result of:
C = [0.9; 0.2; 0; 0; 0; 0; 0.4; 0.2; 0.3; 0.4; 0.7; 0.4; 0.1; 0.8]
This is my attempt:
TF1 = B(:,1)==1;
for j = 1:length(A)
n = j:length(B);
A(TF1,:) = 0
end
Any help would be appreciated. Thank you!
2 个评论
Image Analyst
2022-3-27
编辑:Image Analyst
2022-3-27
Why? What's the use case (context, reason)? Is it homework?
Did you try a simple for loop with two counters to keep track of indexes?
采纳的回答
Bruno Luong
2022-3-27
A = [0.9; 0.2; 0.4; 0.2; 0.3; 0.4; 0.7; 0.4; 0.1; 0.8; 0; 0; 0; 0];
B = [0; 0; 1; 1; 1; 1; 0; 0; 0; 0; 0; 0; 0; 0];
Ais0=A==0;
Bis1=B==1;
C=zeros(size(A));
C(Bis1)=A(Ais0);
C(~Bis1)=A(~Ais0);
C
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!