Clear Filters
Clear Filters

Referencing value of an array based on the values of another

5 views (last 30 days)
I have an array d = [0,1000,2000]. Based on this array, I compute the value of another array, let's say J = [0,5000,8000], where J = 3*d+2000.
Now, during iteration using a for loop, if d=0, I want to extract value of J(1); if d = 1000, then I want to extract values of J(1) and J(2); if d = 2000, I want to extract values of J(1),J(2) and J(3). What would be a generic way to cross reference values of two arrays?

Accepted Answer

Walter Roberson
Walter Roberson on 12 Sep 2019
Edited: Walter Roberson on 12 Sep 2019
[~, idx] = ismember(current_d, list_of_d);
J(1:idx)
If your permitted d are sorted, then
J(1:cumsum(current_d <= list_of_d))

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Tags

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!