====== Math 445 lecture 10: more ''for'' ======
The following example problem spells out in great detail how to translate a formula in summation notation into a Matlab ''for'' loop.
Recall this classic formula for $\pi^2/6$ due to Euler:
\begin{eqnarray*}
\frac{\pi^2}{6} = \sum_{n=1}^{\infty} \frac{1}{n^2} = 1 + \frac{1}{2^2} + \frac{1}{3^2} + \frac{1}{4^2} + \frac{1}{5^2} + \ldots
\end{eqnarray*}
We can sum the first N terms of this series with the Matlab one-liner
N=100; sum((1:N).^(-2))
We can also do the sum with a ''for'' loop. To see how to build the ''for'' loop, it's helpful to think of the series as a sequence of //partial sums//
\begin{eqnarray*}
P_1 = 1
\end{eqnarray*}
\begin{eqnarray*}
P_2 = 1 + \frac{1}{2^2}
\end{eqnarray*}
\begin{eqnarray*}
P_3 = 1 + \frac{1}{2^2} + \frac{1}{3^2}
\end{eqnarray*}
etc. Note that the difference between successive partial sums is a single term.
\begin{eqnarray*}
P_n = P_{n-1} + \frac{1}{n^2}
\end{eqnarray*}
So we can compute the $N$th partial sum $P_N$ by successively adding the term $1/n^2$ for n going from 1 to N.
That's exactly we do when we compute the sum with a ''for'' loop.
N=100;
P=0;
for n=1:N
P = P + 1/n^2;
end
At each step in the ''for'' loop, we compute $1/n^2$ for the current value of $n$, add it to the previously computed partial sum $P_{n-1}$, and then store the result into $P_n$. But, since we are only interested in the final value $P_N$, we just store the current value of the partial sum in the variable P and write over it with the next value each time we step through the loop.