How to find corresponding value in two arrays?

3 vues (au cours des 30 derniers jours)
Andrejus
Andrejus le 22 Oct 2014
Modifié(e) : Andrejus le 22 Oct 2014
Hi,
I have to data arrays, A and B. I want to knwo how it is possible to find corresponding number or value of the element in B array when accumulation in A array reaches certain value? Basically, I want to elements in array A until the sum reaches prescribed value. Then I need to know what was the corresponding value in B array when the condition is met. How can I do this? Cannot find a way my own...
Thanks

Réponse acceptée

Chad Greene
Chad Greene le 22 Oct 2014
Modifié(e) : Chad Greene le 22 Oct 2014
A = rand(1,100);
B = rand(1,100);
MyBElements = B(cumsum(A)<10)
Above, MyBElements is all the elements in B until the cumulative sum of A reaches 10.
Plotting the cumulative sum of A, a threshold at 10, and the individual elements of A, B, and MyBElements can be done like this:
figure;
subplot(2,1,1)
plot(cumsum(A));
hold on
plot([1 100],[10 10],'r')
axis tight
title('cumulative sum of A')
subplot(2,1,2)
plot(1:100,A,'b+',1:100,B,'rx')
hold on
box off
plot(MyBElements,'ro')
legend('A','B','MyB')
  1 commentaire
Andrejus
Andrejus le 22 Oct 2014
Modifié(e) : Andrejus le 22 Oct 2014
Thanks, that worked great. I have spent 2 days for this and you solved easily. Super thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Discrete Data Plots 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!

Translated by