NEWS NLREG has been selected as the "Editor"s Pick" by SoftSeek. NLREG is in use at hundreds of universities, laboratories, and government agencies around the world (over 20 countries). For a list of a few organizations using NLREG click here. If you have categorical variables, you may want to use a Decision Tree to model your data. Check out the DTREG Decision Tree Builder. You also should check out the News Rover program that automatically scans Usenet newsgroups, downloads messages of interest to you, decodes binary file attachments, reconstructs files split across multiple messages, and eliminates spam and duplicate files.

## Negative Exponential -- Model Rate of Cooling

This example fits an equation involving a negative exponential function.

If a heated object is allowed to cool, the rate of cooling at any instant is proportional to the difference between the object's temperature and the ambient (room) temperature. In other words, an object cools faster at first, while it is hot, and the rate of cooling slows down as the temperature of the object approaches the ambient temperature. The function that relates the object's temperature to time is a negative exponential function of the form:

``` Temperature = Roomtemp + InitTemp * exp(-Coolrate*Time)
```
Where InitTemp is the number of degrees above room temperature at time 0, and Coolrate is a factor that depends on the mass of the object, how well it is insulated, etc. The exp() function is the value of e (2.7182818...) raised to a power.
```Title "Temperature of a Hot Object as it cools";
Variable Time;                  // Cooling time in seconds
Variable Temp;                  // Temperature of object in degrees farenheit
Constant Roomtemp = 73;         // Ambient (room) temperature was 73 degrees F
Parameter InitTemp;             // Initial temperature of object above room temp
Parameter Coolrate = .001;      // Exponential cooling rate factor
Constrain Coolrate = 1E-8,10;   // Make sure Coolrate is greater than 0
Function Temp = Roomtemp + InitTemp * exp(-Coolrate * Time);
Plot xlabel="Cooling time (seconds)",ylabel="Temperature";
Data;
[ data goes here ]
```