![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/744349/image.jpeg)
How can I make an exponential fit using two points of my data.
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Vahram Voskerchyan
le 20 Sep 2021
Commenté : Alex Sha
le 20 Sep 2021
I have a data that I try to fit which and I get this plot using curve fitting tool box.
x = (length_wg0*10e5)'
y = T_forward_10nm
f = fit (x, y, 'exp1' )
plot (f, x, y)
set(gca, 'YDir','reverse')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/744069/image.png)
but what I want to get is the curve that passes from the first point. Shown in the graph below. ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/744074/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/744074/image.png)
How can I do it?
1 commentaire
Alex Sha
le 20 Sep 2021
if take your data as:
x=[0.253629,16.3269,31.0374,58.454,116.959,175.756,231.876,289.34];
y=1.0033,0.969485,0.959453,0.939367,0.00178676,0.00245301,0.00648837,0.00374009];
The fitting function may be taken as:
y=Vmax*x^n/(k^n+x^n)
by adding the constrained condition of passing first point, the results will be:
Root of Mean Square Error (RMSE): 0.0197683134500478
Sum of Squared Residual: 0.00312628973327472
Correlation Coef. (R): 0.999589835353114
R-Square: 0.999179838941266
Parameter Best Estimate
---------- -------------
vmax 1.00329999999224
n -12.6896697136722
k 72.238637792372
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/744349/image.jpeg)
Réponse acceptée
the cyclist
le 20 Sep 2021
Modifié(e) : the cyclist
le 20 Sep 2021
You can use the 'Weights' Name-Value pair, and heavily weight the first point. Here is a made-up example. Notice how f2 passes through the first point.
x = [0 20 40 60 100 120 140 160]';
y = [1 2 3 4 10 11 12 13]';
f1 = fit (x, y, 'exp1' );
f2 = fit (x, y, 'exp1', 'Weights',[1000 1 1 1 1 1 1 1] );
figure
plot (f1, x, y)
figure
plot (f2, x, y)
2 commentaires
the cyclist
le 20 Sep 2021
I suggest you read the documentation for the fit function. Scroll down to "Input Arguments -- Name-Value Pair Arguments".
That is a vector of weights, indicating that the error in the first point should be weighted more heavily (by a factor of 1000) than all the other points (which are weighted equally).
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Curve Fitting Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!