Problem with Power Regression

조회 수: 6 (최근 30일)
Skydriver
Skydriver 2019년 7월 19일
댓글: the cyclist 2019년 7월 20일
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
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?
Skydriver
Skydriver 2019년 7월 20일
Dear Cyclist,
I tried to follow your suggestion, but every coding ask about function table can you explain this?

댓글을 달려면 로그인하십시오.

채택된 답변

the cyclist
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.]
  댓글 수: 2
Skydriver
Skydriver 2019년 7월 20일
Thank you, my coding is working know. I want to know how to write the euation and R square inside the figure?
Thank you
Akhmad
the cyclist
the cyclist 2019년 7월 20일
Try the annotation command.
You could also use the text command, but annotation is more powerful, and handy to learn.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by