Groups | Search | Server Info | Login | Register


Groups > comp.soft-sys.octave > #102

Re: loop-free comparison of different sized vectors

Newsgroups comp.soft-sys.octave
Date 2017-06-07 21:59 -0700
References <46e9236f-4049-4a39-86b4-094d25cbee12@googlegroups.com>
Message-ID <e61b7d86-cd56-4214-92f4-99595e17687f@googlegroups.com> (permalink)
Subject Re: loop-free comparison of different sized vectors
From peknott@arcor.de

Show all headers | View raw


Am Montag, 10. März 2014 12:16:07 UTC+1 schrieb José Ignacio Royo Prieto:
> Hello, everybody
> 
> I want to compare all the elements of two different sized vectors without using 'for' loops.
> 
> More precisely, if v and w are vectors of lengths n and m, respectively, 
> I want to produce a matrix A of dimensions nxm such that 
> A(i,j)=1 if v(i)>w(j) and 0 otherwise.
> 
> Of course, one can do that just using a loop going through all the elements of one of the vectors, something like
> 
> for i=1:length(v)
>   A(i,:)=v(i)>w
> end
> 
> but I was looking for a "vectorialized" Octave command to do it more efficiently. It is a pity that just typing v>w of v.>w Octave prompts an error, and does not do what I intend to ;-)
> 
> Thanks you all for your time and attention.

Hello José,

I think that you could solve your problem like this:

  a= rand(1,5) 
  b= rand(1,7)
  diag(a>b')

gives you the elements in which a(i) > b(i), for instance.

Best regards
Peter

Back to comp.soft-sys.octave | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

loop-free comparison of different sized vectors José Ignacio Royo Prieto <joseignacioroyoprieto@gmail.com> - 2014-03-10 04:16 -0700
  Re: loop-free comparison of different sized vectors peknott@arcor.de - 2017-06-07 21:59 -0700
    Re: loop-free comparison of different sized vectors Andreas Weber <info@tech-chat.de> - 2017-06-16 08:15 +0200

csiph-web