How do I make custom power trendline plots?
조회 수: 6 (최근 30일)
이전 댓글 표시
I have a question regarding to this answer.
The link is below:
I want to make a power fitting curve in the form of y=a*x^0.5+c.
However, the linked answer just provide full prediction of the fitting curve including exponent of the curve.
I want to fix the exponent as 0.5 or other value as a constant. Finally, I just want to figure out the number of a and c.
How do I revise the code in this case?
Thank you.
댓글 수: 0
채택된 답변
Star Strider
2022년 7월 10일
Try something like this —
yfcn = @(b,x) b(1).*sqrt(x) + b(2);
x = 0:0.5:10;
y = rand(size(x));
[B,fval] = fminsearch(@(b) norm(y-yfcn(b,x)), rand(2,1))
xv = linspace(min(x), max(x));
yv = yfcn(B,xv);
figure
plot(x, y, '.')
hold on
plot(xv, yv, '-r')
hold off
grid
xlabel('X')
ylabel('Y')
title(sprintf('$y(x) = %.3f \\cdot \\sqrt{x} + %.3f$', B), 'Interpreter','latex')
NOTE — Using ‘sqrt(x)’ is computationally more efficient than ‘x.^0.5’.
.
댓글 수: 4
Star Strider
2022년 7월 11일
That would be easiest using the fitnlm function. It will do the fit and produce many relevant statistics, including the R² value.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!