How to compare two vectors with different dimensions to get logical array?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello, I have two vectors with different dimensions. To make it simple,lets say A=[775.4; 770.2; 690;...] is n by 1 and B is m by 2: for example, B(1,:)=775.446,774.706. Basically, I want this: if A(i,1)<=B(i,1) & A(i,1)>=B(i,2) is true,then do sth. i tried to use for statement such as for i=size(A),obviously, theres problem because of the two dimensions. If anybody knows how to solve this problem, please let me know. Thanks.
3 commentaires
Réponse acceptée
Jan
le 3 Mai 2012
A = rand(10, 1);
B = rand(20, 2);
n = min(size(A, 1), size(B, 1));
R = A(1:n) <= B(1:n, 1) & A(1:n) >= B(1:n, 2);
for i = 1:n
if R(i)
...
end
end
Or:
n = min(size(A, 1), size(B, 1));
for i = 1:n
if A(i) <= B(i, 1) & A(i) >= B(i, 2)
...
end
end
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!