Identidying next "n" elements of an array

6 次查看(过去 30 天)
I am working on a coastline evolution model. What I would like to do is identify the element(s) in my water depth array that satisfy a certain condition. For instance find(h<.90 & h>0.89). I would then like to identify the next "n" values in my "y" (coastline height) array that have values greater than the located element(s)and set all of their values equal to the y value of the array elements where the find(h<.90 & h>0.89) condition was met. Hopefully this makes sense. I'll try and sum it up...
I HAVE:
ymax = 20 ymin = 200 y = ymin:0.02:ymax x = (y+20)/0.02
Sealevel = (very long array)
h = y-Sealevel
I WANT:
Inds = find(h<.90 & h>0.89)
%then take that element(s) location and find it in my y array, take the next "n" elements in the y array and make their value the same value of the y value of "Inds" element
I am not sure how to deal with Inds returning multiple elements. Ideally I would just like it to find the first elements that satisfies the condition.

采纳的回答

Sara
Sara 2014-5-13
To find just the first element that meets your condition, you can do:
Inds = find(h<.90 & h>0.89,1);
then:
h(Inds+1:min(Inds+n,numel(h))) = h(Inds);
  4 个评论
José-Luis
José-Luis 2014-5-13
Please accept an answer if it helped you.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by