Curve fitting tool fits a wrong equation
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Elizaveta Iavorskaia
el 28 de Nov. de 2022
Comentada: Matt J
el 28 de Nov. de 2022
I am using Matlab for my physical chemistry lab evaluation. Currently I am trying to fit an equation
, using the custom equation function. When I fit
it works fine, but as soon as I add a second parameter, the fit bocomes linear and I can't figure out why.

3 comentarios
the cyclist
el 28 de Nov. de 2022
Also, I don't think this should matter, but just to be absolutely certain, I would try coding the equation as
(a./x) + b
Respuesta aceptada
the cyclist
el 28 de Nov. de 2022
I can't figure out what is going wrong here, and I don't have the Curve Fitting Toolbox to play around.
I get a sensible fit using fitnlm, so if you have the Statistics and Machine Learning Toolbox, you could use that if you don't figure this out.
% The data
p = [101500, 77300, 61600, 51300, 45000, 39000]';
V = [0.03, 0.04, 0.05, 0.06, 0.07, 0.08]';
% Define function that will be used to fit data
% (F is a vector of fitting parameters)
f = @(F,x) F(1)./x + F(2);
% Define starting guess of coefficients
beta0 = [1000 1];
% Fit the model
mdl = fitnlm(p,V,f,beta0);
% Plot the data and fit
figure
plot(p,V,'*',p,predict(mdl,p),'g');
xlabel("p")
ylabel("V")
legend('data','fit','Location','NorthEast')
3 comentarios
Matt J
el 28 de Nov. de 2022
To get a better starting guess:
StatPoint=polyfit(1./x,y,1);
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
