MATLAB: What is wrong with this code

simple error

I'm getting an unexpected error "Subscript indices must either be real positive integers or logicals." from the line 'trans_P0 = Transmit(T_0);' in the below simple code. T_0 has a value of 1007, if I pass 1007 to Transmit I get no error, but if I pass T_0 I do, which is really unusual as its just looking up an indices. Anyone know what's causing this? (the line 'trans_Art = Transmit(T_A);' give no error fyi).
Z_0 = 1.007;
Z_Total = 1.453;
mu = 0.75;
r = 0.001:0.001:4;
Transmit = exp(-r*mu);
T_0 = round(Z_0,3)*1000;
T_A = round(Z_Total,3)*1000;
trans_P0 = Transmit(T_0);
trans_Art = Transmit(T_A);

Best Answer

Z_0 = 1.007;
Z_Total = 1.453;
mu = 0.75;
r = 0.001:0.001:4;
Transmit = exp(-r*mu);
T_0 = round(Z_0,3)*1000;
T_A = round(Z_Total,3)*1000;
trans_P0 = Transmit(vpa(T_0));
trans_Art = Transmit(T_A);