Data types & arrays

float T[] = {};

The compiler sizes the array, when you don't, based on the number of initializers you supply (0).

A zero element array is useless.

   float j = float(i);

In the old days, single letter names in the range i to m were always integers. There is NO reason to create a float from an int to assign an int to a float.

 Serial.println(T[44100]);

You don't, and can't possibly, have that many elements in the array.

So, What do I do to get the real value?

Provide adequate space in the array so you are storing data in the array, not sh*tting all over memory you don't own.