I've been searching for a way to create dose response curves from data within MATLAB. So far, I've been running the doseResponse function downloaded from here. However, I've been having trouble generating a sigmoidal curve that fits my data. By running the following code, I get the following error and produce the following graph. I also uploaded my data to google drive here. Does anyone know how I can fix this? Or does anyone know of a better way to produce dose response curves? Thanks.
Code
doseResponse(drug_conc,resp_vals)
xlabel('5HT Dose (nm)','FontSize',20)
ylabel('Normalized Response to Stimuli (\DeltaF / F)','FontSize',20)'
Warning Message
Warning: Rank deficient, rank = 3, tol = 1.196971e-11.
> In nlinfit>LMfit (line 587)
In nlinfit (line 284)
In doseResponse (line 47)
Warning: Rank deficient, rank = 1, tol = 3.802134e-12.
> In nlinfit>LMfit (line 587)
In nlinfit (line 284)
In doseResponse (line 47)
Warning: Some columns of the Jacobian are effectively zero at the solution, indicating that the model is insensitive to some of its parameters.
That may be because those parameters are not present in the model, or otherwise do not affect the predicted values. It may also be due to
numerical underflow in the model function, which can sometimes be avoided by choosing better initial parameter values, or by rescaling or
recentering. Parameter estimates may be unreliable.
> In nlinfit (line 381)
In doseResponse (line 47)
ans =
-5.2168e+07