Clear Filters
Clear Filters

how we can program ring topology

2 views (last 30 days)
hi.
i want to write a program in which i have a series of variables
x=[x1 x2 x3 x4 x5]
the neighbors of x1 are x2 and x5, for x2 (x1 and x3) for x3 (x2 and x4) for x4 (x3 and x5) for x5 (x4 and x1).
how i program this for sharing of information. means every variable compare its value to its adjacent variable. if any of both have larger value then replaced larger value with by its own value kindly help me.

Accepted Answer

Geoff Hayes
Geoff Hayes on 28 Jun 2015
Mudsair - it seems that you just need some kind of "sliding window" to operate on your array. For example, you could do the following assuming that that x is your input array
for k=1:length(x)
% get the left and right indices of k to do the comparison
if k==1
idxLeft = length(x);
idxRight = k+1;
else if k==length(x)
idxLeft = k-1;
idxRight = 1;
else
idxLeft = k-1;
idxRight = k+1;
end
% now compare
if x(k) > x(idxLeft)
% do something
end
if x(k) > x(idxRight)
% do something
end
end
The do something part is up to you. Should x be updated directly, or should you update a copy of x?

More Answers (0)

Categories

Find more on Mathematics and Optimization in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!