how to compare one element in an array with all the other elements in another array? And repeating it for n elements in the first array?
    8 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
A = [ 1, 2,3,4,5]
B = [ 3,4,2,6,8,0]
Now , take 1st element (i.e = 1) in vector A and compare it with all elements in vector B. And after comparing it with all elements in B and now we need to consider the second element of A ( i.e 2) and do the same. Finish the loop once we iterate with all the elements in the first vector.
6 comentarios
  Geoff Hayes
      
      
 el 6 de Abr. de 2018
				Aswin - I think that you need to show what you expect with a small example.
Respuestas (1)
  dpb
      
      
 el 6 de Abr. de 2018
        A = [ 1, 2,3,4,5]
B = [ 3,4,2,6,8,0]
Taking a guess, and what was written literally,
>> for i=1:length(A)
     B(A(i)<B)=B(A(i)<B)-A(i);
   end
>> B
B =
   2     1     1     3     2     0
>>
Above is repetitive and sequential so the test is repeated on B after the prior elements have already done their duty; hence the second iteration and subsequent operate on an already-modified B.
Above could save a comparison if used a temporary logical vector as
for i=1:length(A)
  isLess=(A(i)<B);
  B(isLess)=B(isLess)-A(i);
end
which may also be a little easier to read...
2 comentarios
  dpb
      
      
 el 8 de Abr. de 2018
				Don't try to create "poof" new variables into the workplace programmatically; use cell arrays to hold the variably-sized results of each step.
Looks to me as though the above example fails in the second step, however, as there are only two elements left in A after the first step so which is <length(B) so length(D) == 2???
Ver también
Categorías
				Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!