How to fitt a power function to data
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Star Strider
2021-4-20
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!