How can I build power function through point?
조회 수: 3 (최근 30일)
이전 댓글 표시
Please, help me! I have the coordinates of the curve y = [150 150 130 130 130 100 100 100 80 80 80 60], x = [52000 70000 74000 96000 100000 170000 220000 245000 530000 720000 810000 4900000]. This curve well described by power function. How can I build the same curve passing through the point A(68856, 210) and get it equation?
댓글 수: 6
Torsten
2019년 1월 16일
If points are added, you will have to fit your model again. As a result, you'll get different values for a, b and c.
채택된 답변
Sayyed Ahmad
2019년 1월 16일
I would do something like this:
x = [52000 70000 74000 96000 100000 170000 220000 245000 530000 720000 810000 4900000];
y = [150 150 130 130 130 100 100 100 80 80 80 60];
p=polyfit(log(x),sqrt(y),2)
x1=linspace(min(x),max(x),100);
y1=polyval(p,log(x1)).^2;
plot(x,y,'r*',x1,y1,'b-')
I hope that is waht you looking for.
댓글 수: 3
Sayyed Ahmad
2019년 1월 16일
편집: Sayyed Ahmad
2019년 1월 16일
you can shift it.
y(a)-(y1)=dy
y=f(x)+dy
but you could be only met one point. But If you do that, the deviation will increase. I don't want to recomend you this way.
I don't know what is the aim of this calculation. I will try to reduce the standard diviation with changing in the value n in polyfit.
p=polyfit(x,y,n)
n could be 1, 2, 3, 4, 5 and so on.
Try to change them to find out your acceptable p.
x = [52000 70000 74000 96000 100000 170000 220000 245000 530000 720000 810000 4900000];
y = [150 150 130 130 130 100 100 100 80 80 80 60];
for i=1:5
p=polyfit(log(x),sqrt(y),i)
x1=linspace(min(x),max(x),100);
y1=polyval(p,log(x1)).^2;
plot(x,y,'r*',x1,y1,'-')
hold on
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Curve Fitting Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!