MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: List manipulation

  • To: mathgroup at smc.vnet.net
  • Subject: [mg44578] Re: List manipulation
  • From: Sujai <NOsujaikumarSPAM at ameritech.net>
  • Date: Sat, 15 Nov 2003 02:05:08 -0500 (EST)
  • References: <bp22ti$219$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

> I have a For loop storing data in a {x,y} list (where x is time and y is 
> temperature), and I would like to get the x at which a certain threshold 
> y occurs without stoping the loop.

hi.

you could get this value inside the for loop itself using a standard 
procedural algorithmic technique such as:

1. first set a flag variable Found = False outside the loop.
2. within the for loop, after you calculate the {time, temp}, you could 
write an If statement like:
If [temp > threshold && Found == False,
       (resultTime = time;
        Found = True;)]

the other, more elegant (but possibly equally computationally expensive) 
way could be to t

am assuming that your final data list looks like:

	data = { {time1, temp1}, {time2, temp2}, ...}

Select[data, (#[[2]] >= threshold)&, 1] [[1,1]]

This statement creates a list of the first 1 element (thats what the , 1 
does inside the Select statement) that meets the condition that its 
second part (the temp) is greater than a threshold. The [[1, 1]] at the 
end pulls out the first part of the first (and only) element of this list.

Hope this helps.

- sujai


  • Prev by Date: Re: Trigonometric math functions
  • Next by Date: Re: Readability confuses mathematica?
  • Previous by thread: RE: List manipulation
  • Next by thread: Re: Re: Mac OS X Panther