Problem with Power Regression
6 次查看(过去 30 天)
显示 更早的评论
I have a coding to develop a formula using power regreesion
Here my coding:
plot(Xbin,Ybin,'+r'), hold on
p = polyfit(log(Xbin),log(Ybin),2);
m = p(1);
b = exp(p(2));
ezplot(@(x) b*Xbin.^m,[Xbin(1) Xbin(end)])
Error in Power_Regression (line 242)
ezplot(@(x) b*Xbin.^m,[Xbin(1) Xbin(end)])
I appreciate the help
Akhmad
2 个评论
Image Analyst
2019-7-19
Why not use fitnlm() for a better fit? I'm attaching several examples. Would you consider that (fitnlm) instead of taking the log and doing polyfit() on the logged data?
采纳的回答
the cyclist
2019-7-19
编辑:the cyclist
2019-7-19
polyfit(...,2) is fitting a constant, linear, and quadratic term. Notice that the output vector p has three elements. You want this instead:
% Some made-up data
Xbin = (1:10)';
Ybin = 2 * Xbin.^3 + 0.07*randn(10,1);
figure
plot(Xbin,Ybin,'+r'), hold on
p = polyfit(log(Xbin),log(Ybin),1);
m = p(1);
b = exp(p(2));
ezplot(@(x) b*x.^m,[Xbin(1) Xbin(end)])
I also corrected the fact that you used @(Xbin) instead of @(x) in the function definition.
[Sorry if you saw some of the intermediate edits I did, before I realized the true source of your problem.]
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!