how to solve Ring topology?
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Mudasir Ahmed
 el 5 de En. de 2016
  
    
    
    
    
    Respondida: Guillaume
      
      
 el 5 de En. de 2016
            hi
i have two matrix, y contains the variable and d contains their solutions. Now first, i want to pair them in ring format (circle shape). as 5 elements are in y matrix which means 5 different pairs will be build containing total three variable, one is itself and other two are their adjacent.
y=[x1 x2 x3 x4 x5] matrix results following values 
d=[z1 z2 z3 z4 z5]
for pair x5 x1 x2    measure       z5 z1 z2 (selects minimum value and give output value correspond in y matrix)
         x1 x2 x3                  z1 z2 z3
         x2 x3 x4                  z2 z3 z4
         x3 x4 x5                  z3 z4 z5
         x4 x5 x1                  z4 z5 z1
for e.g y= [2 3 1 5 6]
        d= [2 1 5 4 3]
in pair 6 2 3  (Y matrix), 3 gives less output 1 compared to 2(2) and 6(3). the output must 3.
Kindly help me. i will be highly thankful to you
with best regards.
mudasir ahmed
0 comentarios
Respuesta aceptada
  Guillaume
      
      
 el 5 de En. de 2016
        Here is a simple way to generate your triplets (they're not pairs!):
triplets = @(v) [circshift(v, [0 1]); v; circshift(v, [0 -1])]';
And here is how to get your output:
y = [2 3 1 5 6];
d = [2 1 5 4 3];
triplets = @(v) [circshift(v, [0 1]); v; circshift(v, [0 -1])]';
ytriplets = triplets(y)
dtriplets = triplets(d)
[~, col] = min(dtriplets, [], 2);
out = ytriplets(sub2ind(size(ytriplets), [1:size(ytriplets, 1)]', col))
0 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Logical en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!