Curve fitting tool fits a wrong equation
6 次查看(过去 30 天)
显示 更早的评论
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1211263/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1211268/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1211273/image.png)
3 个评论
the cyclist
2022-11-28
Also, I don't think this should matter, but just to be absolutely certain, I would try coding the equation as
(a./x) + b
采纳的回答
the cyclist
2022-11-28
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!