i=i++; //increment by one
The result of the above statement is not defined. That is, it is not necessarily "i + 1".
i = i + 1;
A note about "undefined behavior":
Floats in the Arduino IDE are normally 4 bytes. So you can work out with a calculator that your matrix will take at least 15 x 15 x 4 bytes (900 bytes). That is out of a total of 2048 bytes of RAM on the Atmega32.
That may seem to be enough RAM, but other things, like the libraries, will also take RAM. I did an answer to a question about RAM a while back. ...