Re: Minimum value in a vector

2009-12-02 Thread Don
Thanks to everyone for the solutions. I actually wrote this terribly ugly function. Terrible. This should go in the "don't write code like this section" in clojure book. (defn md2 [d1 d2 d3 d4 d5] (let [cnt (count d1)] (loop [i 0 v []] (if (= i cnt) v (do (if (=

Re: Minimum value in a vector

2009-12-02 Thread Chouser
>> On Wed, Dec 2, 2009 at 6:22 PM, Don wrote: >> > Thank you Stefan and Kevin.  Awesome solutions that answer my >> > question.  However I actually made a mistake in posing my question. >> > Let me attempt to ask my question again. >> >> >  I have 5 vectors as such: >> >  a [2 4 6 7] >> >  b [1 3

Re: Minimum value in a vector

2009-12-02 Thread Wilson MacGyver
(defn min-dist [coll] (let [minval (reduce min coll)] (map #(if (= minval %) 1 0) coll))) this function, if you pass user=> (min-dist [2 1 2 6 4]) (0 1 0 0 0) assume the 5 vectors are stored in a b c d e. user=> (apply map vector (map min-dist (map vector a b c d e))) ([0 0 0 0] [1 0 0 0]

Re: Minimum value in a vector

2009-12-02 Thread John Harrop
On Wed, Dec 2, 2009 at 7:59 PM, Don wrote: > I still can't figure it out. If have this set. > > a [2 4 6 7] > b [1 3 9 2] > c [2 4 5 6] > d [6 1 3 8] > e [4 8 2 1] > > If I do (reduce min (map #(get % 0) (list a b c d e))) > > It grabs the min value from index 0 of the five vectors and retu

Re: Minimum value in a vector

2009-12-02 Thread John Harrop
On Wed, Dec 2, 2009 at 5:43 PM, Don wrote: > I am having difficulty approaching this problem. I'm not sure if it > can be done in one swoop, or requires a few steps. > > I have 5 vectors as such: > > a [2 4 6 7] > b [1 3 9 2] > c [2 4 5 6] > d [6 1 3 8] > e [4 8 2 1] > > And I want to take the m

Re: Minimum value in a vector

2009-12-02 Thread Don
I still can't figure it out. If have this set. a [2 4 6 7] b [1 3 9 2] c [2 4 5 6] d [6 1 3 8] e [4 8 2 1] If I do (reduce min (map #(get % 0) (list a b c d e))) It grabs the min value from index 0 of the five vectors and returns 1 corresponding to 'b'. But I'm not sure how I would determi

Re: Minimum value in a vector

2009-12-02 Thread Wilson MacGyver
assuming, vector a b c d e are already defined. I'd do user=> (map vector a b c d e) ([2 1 2 6 4] [4 3 4 1 8] [6 9 5 3 2] [7 2 6 8 1]) you can then use the solutions provided from previous messages to find the min value of each vector. so you then end up with [0 1 0 0 0] [0 0 0 1 0] [0 0 0 0 1

Re: Minimum value in a vector

2009-12-02 Thread Don
Forgot to mention that i'm still calculating the minimum distance between the vectors, but my output isn't actually the minimum value. The output is the minimum value in terms of the vectors, if that makes sense. On Dec 2, 3:22 pm, Don wrote: > Thank you Stefan and Kevin.  Awesome solutions that

Re: Minimum value in a vector

2009-12-02 Thread Don
Thank you Stefan and Kevin. Awesome solutions that answer my question. However I actually made a mistake in posing my question. Let me attempt to ask my question again. I have 5 vectors as such: a [2 4 6 7] b [1 3 9 2] c [2 4 5 6] d [6 1 3 8] e [4 8 2 1] and the output i want is this a1

Re: Minimum value in a vector

2009-12-02 Thread Kevin Downey
user=> (vec (map min [2 4 6 7] [1 3 9 2] [2 4 5 6] [6 1 3 8] [4 8 2 1])) [1 1 2 1] user=> On Wed, Dec 2, 2009 at 2:53 PM, Stefan Kamphausen wrote: > Hi, > > On Dec 2, 11:43 pm, Don wrote: >> I am having difficulty approaching this problem.  I'm not sure if it >> can be done in one swoop, or re

Re: Minimum value in a vector

2009-12-02 Thread Stefan Kamphausen
Hi, On Dec 2, 11:43 pm, Don wrote: > I am having difficulty approaching this problem.  I'm not sure if it > can be done in one swoop, or requires a few steps. > > I have 5 vectors as such: > > a [2 4 6 7] > b [1 3 9 2] > c [2 4 5 6] > d [6 1 3 8] > e [4 8 2 1] > And I want to take the minimum val