How to fitt a power function to data
1 view (last 30 days)
Show older comments
I have two 26*1 matrixes of x and y. How can I fitt a power function like (y=bx^n) to the generated graph? I just have basic fitting tool in which there is no power function. So I think I should use an appropriate code. Appreciate it.
Cheers,
0 Comments
Answers (2)
Star Strider
on 20 Apr 2021
This uses only basic MATLAB functions. No Toolboxes are required.
x = 1:100; % Create Vector
y = rand(size(x)); % Create Vector
objfcn = @(b,x) b(1).*x.^b(2); % Objective Function
parms = fminsearch(@(b) norm(y - objfcn(b,x)), rand(2,1))
xv = linspace(min(x), max(x));
figure
plot(x, y, 'p')
hold on
plot(xv, objfcn(parms,xv), '-r')
hold off
title(sprintf('$y(x) = %.3f \\cdot x^{%.3f}$', parms), 'Interpreter','latex')
.
0 Comments
See Also
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!