Fitting Data to a Square root Cruve

27 Ansichten (letzte 30 Tage)
Bob
Bob am 6 Sep. 2022
Kommentiert: Image Analyst am 6 Sep. 2022
I'm looking to fit some data that I have to a function in the form of
y=k(sqrt(x))
with "k" being some constant. How would I find such a line of best fit for the data that I have?

Akzeptierte Antwort

Matt J
Matt J am 6 Sep. 2022
k=sqrt(x(:))\y(:)
  5 Kommentare
Matt J
Matt J am 6 Sep. 2022
Bearbeitet: Matt J am 6 Sep. 2022
R2 = 1 - mean( (k*(sqrt(spacing)) - velocity).^2 )/var(velocity,1)
Image Analyst
Image Analyst am 6 Sep. 2022
fontSize = 18;
spacing=[0.5,1,1.5,2,2.5,3];
velocity=[55.71428571,72.97297297,88.46153846,100,115.1162791,116.3265306];
coefficients = sqrt(spacing(:))\velocity(:);
fittedVelocity = coefficients*(sqrt(spacing))
fittedVelocity = 1×6
50.2134 71.0125 86.9722 100.4269 112.2806 122.9973
subplot(2, 1, 1);
plot(spacing, velocity, 'rv', spacing, fittedVelocity,'b.-') ;
grid on;
title('Velocity Measurements', 'FontSize', fontSize)
xlabel('Spacing', 'FontSize', fontSize)
ylabel('Velocity', 'FontSize', fontSize)
legend('Original Data', 'Fitted Curve', 'Location', 'northwest')
% Determine and say how well we did with our predictions, numerically, using several metrics like RMSE and MAE.
% Fit a linear model between predicted and true so we can get the R squared.
subplot(2, 1, 2);
% Draw 45 degree line.
line([50, 120], [50, 120], 'Color', 'g', 'LineWidth', 2)
hold on;
plot(velocity, fittedVelocity, 'b.-', 'LineWidth', 2, 'MarkerSize', 25);
grid on;
xlabel('Velocity (Original Data)', 'FontSize', fontSize)
ylabel('Fitted Velocity', 'FontSize', fontSize)
mdl = fitlm(velocity, fittedVelocity);
rSquared = mdl.Rsquared.Ordinary;
caption = sprintf('R Squared = %.3f', rSquared);
title(caption, 'FontSize', fontSize, 'Interpreter', 'none')
legend('Perfect Fit Line', 'Fitted vs. Original Data', 'Location', 'northwest')

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with Curve Fitting Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by