Using the Maple statistics and plotting procedures, we can obtain a simultaneous data point plot and its "best-fit" curve. We've done these before - with our gas law problems - here we go again!

In the following example, we will use data from a hypothetical kinetics experiment to obtain the form of the differential rate law by using the above Maple procedures. Although we will use the linear regression command to fit our data to a line, Maple does have the ability to do a generalized fit to any polynomial.

Example: Stoichiometric Reaction: A --» Products.

Remember that the empirical form of the differential rate law is of the form - presuming that we are only measuring initial rates (i.e. rates early in the progress of reaction) - Rate = -d[A]/dt = k[A]^n. In the previous expression, note that the [A] should decrease with time so the negative sign in front of the derivative will cause the rate to be a positive quantity. Also, "k" is the rate constant and the exponent "n" is the order of the reaction with respect to [A]. "n" is usually - but does not have to be - an integer or a "simple fraction" (1/2, 3/2...). Also, we usually measure our rates in moles per liter (Molarity) per time and thus [A] is measured in moles per Liter (Molarity). We list some hypothetical rate versus concentration data below:

  [A] (in M)        Rate = -(d[A]/dt) in (M/s)
  1.210                 0.0691
  1.110                 0.0590
  0.950                 0.0440
  0.750                 0.0258
  0.600                 0.0175
  0.400                 0.0077
Our goal is to find the order with respect to [A] (i.e. "n") and the experimental rate constant (k). Looking at the form of the differential rate law, we have:

             Rate = k [A]^n  .
As mentioned in previous discussions, we usually try to figure out what to plot in order to find our unknown quantities in a reliable statistical manner. If we plot the logarithm of both sides of the above equation (i.e. a log-log plot), we will get the equation of a line, i.e.

      log(Rate) = log(k) + n*log[A]  .
where the independent variable ("x") is log[A] and the dependent variable ("y") is log(Rate). Then the slope should be "n" and the y-intercept should be log(k). Now, we could plot either the base-10 logs or the natural logs ("ln"). We'll plot the natural logs, i.e.,

          ln(Rate) = ln(k) + n*ln[A] .
Hence, x = ln[A], y = ln(Rate), y-intercept = ln(k) and slope = n. This log-log plot procedure is called the van't Hoff method after a chemist who made great contributions to the field of kinetics and thermodynamics. We've actually done this before with our Charles' Law and Boyle's Law plots in the first chemistry assignment. Below we see how Maple can help... let's get started!

#Begin by loading Maple's statistical analysis
# package.  Note the colon after the command
# rather than the usual semicolon so that Maple
# doesn't tell us about everything it's loading.
#
with(stats):
#
#Enter the data as two lists, one for x and one
# for y.  The names used below are lnxlst and
# lnylst to remind us that we need the natural
# logarithm of the data, but we could name the
# lists anything we want.  Note that we can let
# Maple do the logarithms for us by using
# ln(data) instead of just entering the data.
#
lnxlst:= [ln(1.210),ln(1.110),ln(0.95),ln(0.75),ln(0.6),ln(0.4)];

lnylst:=[ln(0.0691),ln(0.059),ln(0.044),ln(0.0258),ln(0.0175),ln(0.0077)];

#
#We can take a look at the data by plotting it.
# To do that, we need to arrange it as an ordered
# list of ordered pairs [(x1,y1),(x2,y2),...].
# Maple will do this for us with an iterator
# command.  We just define a new list (we'll
# call it dlist) and use the $ iterator command
# to let Maple loop from 1 to 6 to cover the
# 6 data points we have.
#
dlist:=[[lnxlst[i],lnylst[i]] $i=1..6];

#
#Let's take a look to see that Maple did the right thing.
#
dlist;

#
#Yep!  It did.
# Now we can plot the data.  Since we will
# eventually want to plot this data along with
# our best fit line, we won't plot it directly.
# Instead, we'll store the Maple commands for
# plotting the data so that we can use them now
# AND use them again later.  We'll name the
# plot commands dplot (imaginative, huh!).  Again,
# note the use of a colon at the end so that Maple
# doesn't print out the plot commands on the screen.
#
dplot:=plot(dlist,x=-1..0.25,style=POINT,symbol=circle):
#
#Now, load the Maple plot library and display the
# the commands we just created.
#
with(plots):
display(dplot);

#
#Not colorful, but it looks like what we expect.
# We can now get Maple to find the best line that
# represents our data.  If we don't do anything
# special, Maple assumes that our data CAN be
# fit a line and will give us the best estimates
# for the slope and y-intercept of that line.
# We will call this best-fit line bestlin.
#
fit[leastsquare[[x,bestlin]]]([lnxlst,lnylst]);

assign(");
#
#We used the assign command above to actually
# set bestlin equal to the solution we found.
# Now we can name the commands to plot the
# line into a variable, bstlinplot.
#
bstlinplot:=plot(bestlin,x=-1..0.25):
#
#Finally, plot the best fit line and the data
# together.
#
display({dplot,bstlinplot});

We can see from the slope and y-intercept values we got above that


   y-intercept = ln(k) = -3.044550924
   slope = n = 1.990433032 = 2.0
So, k = exp(-3.044550924) = 0.0476 (Units to be determined). Thus, the form of the differential (experimental) rate law is:

    Rate = -d[A]/dt = k[A]^2;  k = 0.0476 M^{-1}s^{-1}
A second-order rate law in [A]. Prove the units of k for yourself!.

larryg@upenn5.hep.upenn.edu
Thu Jul 04 15:30:00 EST 1995
vanthoff_method.html