Problem with Power Regression
4 ビュー (過去 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!