Since you specifically asked for help on fzero, this works:
X = 1;
for k = 1:numel(theta_tw)
T_75(k) = fzero(@(theta_75)dCT(sigma,R,a,theta_75,theta_tw(k),lambda_i)-CT_pres, X)
end
producing:
T_75 =
0.00201198547991055 292.50201198548 585.00201198548
Note that since ‘theta_tw’ is a vector, it’s necessary to iterate through its elements. The values for ‘T_75’ correspond to those eleements. Also, it is never appropriate to begin with an initial parameter estimate of 0, especially in a root-finding function such as fzero. I set ‘X’ to 1 for this reason.
The rest of your code appears to run without error with the fzero change I am posting here. You will need to determine if it produces the correct results. Note that it may be necessary to iterate through ‘T_75’ (name it whatever you want) if you are using non-vectorised code with its results.