How do I make custom power trendline plots?
10 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
HyoJae Lee
il 10 Lug 2022
Commentato: Star Strider
il 11 Lug 2022
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 Commenti
Risposta accettata
Star Strider
il 10 Lug 2022
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 Commenti
Star Strider
il 11 Lug 2022
That would be easiest using the fitnlm function. It will do the fit and produce many relevant statistics, including the R² value.
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!