How can I do the best fit of a power function with my original data
1 次查看(过去 30 天)
显示 更早的评论
I have two variables (x,y). we found by eye that y = x^1/2.33, but it is not perfect for what I want and also when I test the correlation it gives me ONE but I think it should not be one because there is a variance value 0.0113. I can use the 'basic fitting' but there is no option of the power function. Thanks in advance
0 个评论
采纳的回答
Ameer Hamza
2018-6-20
You can use lsqcurvefit() for least square curve fitting. For example
% sample data
x = 0:10;
y = x.^0.33 + 0.2*rand(size(x));
f = @(x, xdata) xdata.^x(1); % function to fit, 'x' will be estimated
solution = lsqcurvefit(f, 0, x, y)
3 个评论
Ameer Hamza
2018-6-20
solution is the estimated value of the exponent. you need to use (x,y) values from your own dataset.
更多回答(1 个)
Torsten
2018-6-20
xdata = ...;
ydata = ...;
a0 = 1/2.33;
fun = @(a)sum((ydata-xdata.^a).*xdata.^a.*log(xdata));
a = fzero(fun,a0)
Best wishes
Torsten.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!